From a14030346897989b4a94931a8c1a1c9b38523ab2 Mon Sep 17 00:00:00 2001 From: shadlaws Date: Wed, 13 Mar 2013 16:18:12 +0100 Subject: #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). --- modules/gallery/controllers/uploader.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'modules/gallery/controllers/uploader.php') 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; } -- cgit v1.2.3