summaryrefslogtreecommitdiff
path: root/modules/gallery
diff options
context:
space:
mode:
authorshadlaws <shad@shadlaws.com>2013-03-13 16:18:12 +0100
committershadlaws <shad@shadlaws.com>2013-03-13 16:18:12 +0100
commita14030346897989b4a94931a8c1a1c9b38523ab2 (patch)
treebf2f4b2446c8b0705e99204c26fd0f35dabfa45d /modules/gallery
parent8b457bf39b51495706a6be501f93f80bbd6d1fef (diff)
#2061 - Remove Uploadify from add_photo_form/add_photo_form_completed events.
- Added code around event calls in uploader to add Uploadify-specific JS to update the inputs. - Removed Uploadify JS from tag_event. Now it's uploader-agnostic. - Refactored tag_event autocomplete code (no functional changes).
Diffstat (limited to 'modules/gallery')
-rw-r--r--modules/gallery/controllers/uploader.php19
1 files changed, 17 insertions, 2 deletions
diff --git a/modules/gallery/controllers/uploader.php b/modules/gallery/controllers/uploader.php
index 8e09dbed..c708db92 100644
--- a/modules/gallery/controllers/uploader.php
+++ b/modules/gallery/controllers/uploader.php
@@ -123,10 +123,25 @@ class Uploader_Controller extends Controller {
->label(t("Add photos to %album_title", array("album_title" => html::purify($album->title))));
$group->uploadify("uploadify")->album($album);
- $group = $form->group("actions");
- $group->uploadify_buttons("");
+ $group_actions = $form->group("actions");
+ $group_actions->uploadify_buttons("");
+ $inputs_before_event = array_keys($form->add_photos->inputs);
module::event("add_photos_form", $album, $form);
+ $inputs_after_event = array_keys($form->add_photos->inputs);
+
+ // For each new input in add_photos, attach JS to make uploadify update its value.
+ foreach (array_diff($inputs_after_event, $inputs_before_event) as $input) {
+ if (!$input) {
+ // Likely a script input - don't do anything with it.
+ continue;
+ }
+ $group->uploadify->script_data($input, $group->{$input}->value);
+ $group->script("")
+ ->text("$('input[name=\"$input\"]').change(function (event) {
+ $('#g-uploadify').uploadifySettings('scriptData', {'$input': $(this).val()});
+ });");
+ }
return $form;
}