diff --git a/modules/captionator/controllers/captionator.php b/modules/captionator/controllers/captionator.php new file mode 100644 index 00000000..7ccc13c6 --- /dev/null +++ b/modules/captionator/controllers/captionator.php @@ -0,0 +1,53 @@ +content = new View("captionator_dialog.html"); + $v->content->album = $album; + print $v; + } + + function save($album_id) { + access::verify_csrf(); + + $album = ORM::factory("item", $album_id); + access::required("edit", $album); + + if (Input::instance()->post("save")) { + $titles = Input::instance()->post("title"); + $descriptions = Input::instance()->post("description"); + foreach (array_keys($titles) as $id) { + $item = ORM::factory("item", $id); + if ($item->loaded() && access::can("edit", $item)) { + $item->title = $titles[$id]; + $item->description = $descriptions[$id]; + $item->save(); + } + } + message::success(t("Captions saved")); + } + url::redirect($album->parent()->abs_url()); + } +} diff --git a/modules/captionator/helpers/captionator_event.php b/modules/captionator/helpers/captionator_event.php new file mode 100644 index 00000000..d00c04ae --- /dev/null +++ b/modules/captionator/helpers/captionator_event.php @@ -0,0 +1,33 @@ +item(); + + if ($item && $item->is_album() && access::can("edit", $item)) { + $menu->get("options_menu") + ->append(Menu::factory("link") + ->id("captionator") + ->label(t("Caption album")) + ->css_id("g-menu-captionator-link") + ->url(url::site("captionator/dialog/{$item->id}"))); + } + } +} diff --git a/modules/captionator/module.info b/modules/captionator/module.info new file mode 100644 index 00000000..d9087368 --- /dev/null +++ b/modules/captionator/module.info @@ -0,0 +1,3 @@ +name = "Captionator" +description = "Caption all photos, movies and albums in an album at once." +version = 1 diff --git a/modules/captionator/views/captionator_dialog.html.php b/modules/captionator/views/captionator_dialog.html.php new file mode 100644 index 00000000..34867d63 --- /dev/null +++ b/modules/captionator/views/captionator_dialog.html.php @@ -0,0 +1,37 @@ + +