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 @@ + +
+
id}") ?>" method="post" id="g-captionator-form"> + +
+ + %album_name", array("album_name" => $album->name)) ?> + + + viewable()->children() as $child): ?> + + + + + +
+ thumb_img(array(), 140, true) ?> + +
    +
  • + + +
  • +
  • + + +
  • +
+
+ +
+
+ "/> + "/> +
+
+