#1952 Add bulk tagging to the Organize module.

Allow a user to highlight one or more items (images, videos, or albums), and enter a tag (or tags, comma delimited) and apply it to all of the selected items. The code is based on the batchtag module.

If the tags module is not enabled, no changes to the Organize UI will be shown.
This commit is contained in:
Mike Miller
2013-01-23 21:59:02 +02:00
parent 1927dd00e4
commit 80d6a895ed
2 changed files with 88 additions and 2 deletions

View File

@@ -182,6 +182,28 @@ class Organize_Controller extends Controller {
json::reply(null);
}
function tag() {
access::verify_csrf();
$input = Input::instance();
foreach (explode(",", $input->post("item_ids")) as $item_id) {
$item = ORM::factory("item", $item_id);
if (access::can("edit", $item)) {
// Assuming the user can view/edit the current item, loop
// through each tag that was submitted and apply it to
// the current item.
foreach (explode(",", $input->post("tag_names")) as $tag_name) {
$tag_name = trim($tag_name);
if ($tag_name) {
tag::add($item, $tag_name);
}
}
}
}
json::reply(null);
}
private function _get_tree($item, $selected) {
$tree = array();
$children = $item->viewable()