From eb34b301a75237a0c27b5cca01e6f96e436b7709 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 19 Nov 2009 18:08:32 -0800 Subject: Add the ability to add tags for files that are uploaded using the simple loader. --- modules/gallery/controllers/simple_uploader.php | 5 +++++ modules/gallery/views/simple_uploader.html.php | 19 +++++++++++++++++-- modules/tag/helpers/tag_event.php | 10 ++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/gallery/controllers/simple_uploader.php b/modules/gallery/controllers/simple_uploader.php index d43d2f9d..c6d7fc83 100644 --- a/modules/gallery/controllers/simple_uploader.php +++ b/modules/gallery/controllers/simple_uploader.php @@ -66,6 +66,11 @@ class Simple_Uploader_Controller extends Controller { log::success("content", t("Added a photo"), html::anchor("photos/$item->id", t("view photo"))); } + + $tags = $this->input->post("tags"); + if (!(empty($tags))) { + module::event("add_tags_to_item", $item, $tags); + } } catch (Exception $e) { Kohana::log("alert", $e->__toString()); if (file_exists($temp_filename)) { diff --git a/modules/gallery/views/simple_uploader.html.php b/modules/gallery/views/simple_uploader.html.php index 80dcc5bc..45fb6a4d 100644 --- a/modules/gallery/views/simple_uploader.html.php +++ b/modules/gallery/views/simple_uploader.html.php @@ -21,6 +21,7 @@ script: "id}") ?>", scriptData: Session::instance()->id(), + "tags" => "", "user_agent" => Input::instance()->server("HTTP_USER_AGENT"), "csrf" => $csrf)) ?>, fileExt: "*.gif;*.jpg;*.jpeg;*.png;*.flv;*.mp4;*.GIF;*.JPG;*.JPEG;*.PNG;*.FLV;*.MP4", @@ -45,7 +46,6 @@ return true; }, onComplete: function(event, queueID, fileObj, response, data) { - // @todo handle a response of "Error: xxxx" as an error var re = /^error: (.*)$/i; var msg = re.exec(response); if (msg) { @@ -57,7 +57,6 @@ } return true; }, - onError: function(event, queueID, fileObj, errorObj) { var msg = " - "; if (errorObj.type == "HTTP") { @@ -91,6 +90,15 @@ return true; } }); + + $('#g-add-photos-tags').autocomplete( + '', + {max: 30, multiple: true, multipleSeparator: ',', cacheLength: 1} + ); + $('#g-add-photos-tags').blur(function (event) { + $("#g-uploadify").uploadifySettings("scriptData", {"tags": $(this).val()}); + }); + }); @@ -122,6 +130,13 @@ + +
+ + +
+ +
diff --git a/modules/tag/helpers/tag_event.php b/modules/tag/helpers/tag_event.php index 57986e40..19c917ac 100644 --- a/modules/tag/helpers/tag_event.php +++ b/modules/tag/helpers/tag_event.php @@ -97,4 +97,14 @@ class tag_event_Core { static function item_index_data($item, $data) { $data[] = join(" ", tag::item_tags($item)); } + + static function add_tags_to_item($item, $tags) { + foreach (split(",", $tags) as $tag_name) { + $tag_name = trim($tag_name); + if ($tag_name) { + $tag = tag::add($item, $tag_name); + } + } + } + } -- cgit v1.2.3