summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-06-19 12:03:35 -0700
committerBharat Mediratta <bharat@menalto.com>2009-06-19 12:03:35 -0700
commit6029c2bf7a3b57289e16545b98ed2a5aa3f71be2 (patch)
treeb503fe76db6dcee649a69f6118340e3a088df116
parentb999b35d2471e65d99e6f90fde9ae96688c7a922 (diff)
Catch exceptions from tag::add() that can be caused by character
encoding issues resulting from embedded keywords in encodings we can't decipher. This can lead to weird truncation issues which in turn can lead to multiple tags getting truncated to the same value in MySQL which leads to mysql complaining that we're adding a duplicate tag.
-rw-r--r--modules/tag/helpers/tag_event.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/tag/helpers/tag_event.php b/modules/tag/helpers/tag_event.php
index 735422b5..946326c0 100644
--- a/modules/tag/helpers/tag_event.php
+++ b/modules/tag/helpers/tag_event.php
@@ -45,7 +45,12 @@ class tag_event_Core {
// @todo figure out how to read the keywords from xmp
foreach(array_keys($tags) as $tag) {
- tag::add($photo, $tag);
+ try {
+ tag::add($photo, $tag);
+ } catch (Exception $e) {
+ Kohana::log("error", "Error adding tag: $tag\n" .
+ $e->getMessage() . "\n" . $e->getTraceAsString());
+ }
}
return;