summaryrefslogtreecommitdiff
path: root/core/views
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-01-24 05:14:44 +0000
committerBharat Mediratta <bharat@menalto.com>2009-01-24 05:14:44 +0000
commiteed57674f99621e5354a13543067e9556eb9c6d0 (patch)
tree563795ae826ea1e1175bef94ceab722807718c6a /core/views
parent20cd5df3a374f035bddf71ddf2b75c533f05bfac (diff)
Add move support. Use the move icon in the quick pane. You can't
move an item into its own hierarchy, or into an album where you don't have edit permission.
Diffstat (limited to 'core/views')
-rw-r--r--core/views/move_browse.html.php38
-rw-r--r--core/views/move_tree.html.php19
-rw-r--r--core/views/quick_pane.html.php2
3 files changed, 58 insertions, 1 deletions
diff --git a/core/views/move_browse.html.php b/core/views/move_browse.html.php
new file mode 100644
index 00000000..5a0a1f56
--- /dev/null
+++ b/core/views/move_browse.html.php
@@ -0,0 +1,38 @@
+<?php defined("SYSPATH") or die("No direct script access.") ?>
+<script type="text/javascript">
+ var load_tree = function(target_id, locked) {
+ var load_url = "<?= url::site("move/show_sub_tree/{$source->id}/__TARGETID__") ?>";
+ var node = $("#node_" + target_id);
+ $("#gMove .node a").removeClass("selected");
+ node.find("a:first").addClass("selected");
+ if (locked) {
+ $("#gMoveButton").attr("disabled", "disabled");
+ $("#gMove form input[name=target_id]").attr("value", "");
+ } else {
+ $("#gMoveButton").removeAttr("disabled");
+ $("#gMove form input[name=target_id]").attr("value", target_id);
+ }
+ var sub_tree = $("#tree_" + target_id);
+ if (sub_tree.length) {
+ sub_tree.toggle();
+ } else {
+ $.get(load_url.replace("__TARGETID__", target_id), {},
+ function(data) {
+ node.html(data);
+ node.find("a:first").addClass("selected");
+ });
+ }
+ }
+</script>
+<div id="gMove">
+ <ul id="tree_0">
+ <li id="node_1" class="node">
+ <?= $tree ?>
+ </li>
+ </ul>
+ <form method="post" action="<?= url::site("move/save/$source->id") ?>">
+ <?= access::csrf_form_field() ?>
+ <input type="hidden" name="target_id" value="" />
+ <input type="submit" id="gMoveButton" value="<?= t("Move") ?>" disabled="disabled"/>
+ </form>
+</div>
diff --git a/core/views/move_tree.html.php b/core/views/move_tree.html.php
new file mode 100644
index 00000000..a3a4bc8f
--- /dev/null
+++ b/core/views/move_tree.html.php
@@ -0,0 +1,19 @@
+<?php defined("SYSPATH") or die("No direct script access.") ?>
+<?= $parent->thumb_tag(array(), 25); ?>
+<? if (!access::can("edit", $parent) || $source->is_descendant($parent)): ?>
+<a href="javascript:load_tree('<?= $parent->id ?>',1)"> <?= $parent->title ?> <?= t("(locked)") ?> </a>
+<? else: ?>
+<a href="javascript:load_tree('<?= $parent->id ?>',0)"> <?= $parent->title ?></a>
+<? endif ?>
+<ul id="tree_<?= $parent->id ?>">
+ <? foreach ($children as $child): ?>
+ <li id="node_<?= $child->id ?>" class="node">
+ <?= $child->thumb_tag(array(), 25); ?>
+ <? if (!access::can("edit", $child) || $source->is_descendant($child)): ?>
+ <a href="javascript:load_tree('<?= $child->id ?>',1)"> <?= $child->title ?> <?= t("(locked)") ?></a>
+ <? else: ?>
+ <a href="javascript:load_tree('<?= $child->id ?>',0)"> <?= $child->title ?> </a>
+ <? endif ?>
+ </li>
+ <? endforeach ?>
+</ul>
diff --git a/core/views/quick_pane.html.php b/core/views/quick_pane.html.php
index d3977a39..8d39d214 100644
--- a/core/views/quick_pane.html.php
+++ b/core/views/quick_pane.html.php
@@ -21,7 +21,7 @@
</a>
<? endif ?>
-<a class="move" href="<?= url::site("quick/form_edit/$item->id") ?>"
+<a class="move gDialogLink" href="<?= url::site("move/browse/$item->id") ?>"
title="<?= t("Move this item to another album") ?>">
<span>
<?= t("Move this item to another album") ?>