aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to 'admin')
-rw-r--r--admin/tags.php19
-rw-r--r--admin/themes/default/template/tags.tpl193
2 files changed, 106 insertions, 106 deletions
diff --git a/admin/tags.php b/admin/tags.php
index 92a38e805..a7c58f796 100644
--- a/admin/tags.php
+++ b/admin/tags.php
@@ -38,7 +38,7 @@ if (!empty($_POST))
// | edit tags |
// +-----------------------------------------------------------------------+
-if (isset($_POST['submit']))
+if (isset($_POST['edit_submit']))
{
$query = '
SELECT name
@@ -194,7 +194,7 @@ SELECT id, name
// | merge tags |
// +-----------------------------------------------------------------------+
-if (isset($_POST['confirm_merge']))
+if (isset($_POST['merge_submit']))
{
if (!isset($_POST['destination_tag']))
{
@@ -428,11 +428,7 @@ if ((isset($_POST['edit']) or isset($_POST['duplicate']) or isset($_POST['merge'
$list_name = 'MERGE_TAGS_LIST';
}
- $template->assign(
- array(
- $list_name => implode(',', $_POST['tags']),
- )
- );
+ $template->assign($list_name, implode(',', $_POST['tags']));
$query = '
SELECT id, name
@@ -442,16 +438,11 @@ SELECT id, name
$result = pwg_query($query);
while ($row = pwg_db_fetch_assoc($result))
{
- $name_of[ $row['id'] ] = $row['name'];
- }
-
- foreach ($_POST['tags'] as $tag_id)
- {
$template->append(
'tags',
array(
- 'ID' => $tag_id,
- 'NAME' => $name_of[$tag_id],
+ 'ID' => $row['id'],
+ 'NAME' => $row['name'],
)
);
}
diff --git a/admin/themes/default/template/tags.tpl b/admin/themes/default/template/tags.tpl
index 9ca054f14..e54362637 100644
--- a/admin/themes/default/template/tags.tpl
+++ b/admin/themes/default/template/tags.tpl
@@ -1,26 +1,68 @@
{include file='include/tag_selection.inc.tpl'}
-{footer_script}{literal}
-jQuery(document).ready(function(){
- function displayDeletionWarnings() {
- jQuery(".warningDeletion").show();
- jQuery("input[name=destination_tag]:checked").parent("label").children(".warningDeletion").hide();
- }
+{html_style}
+.showInfo { text-indent:5px; }
+{/html_style}
+
+{footer_script require='jquery'}
+jQuery('.showInfo').tipTip({
+ 'delay' : 0,
+ 'fadeIn' : 200,
+ 'fadeOut' : 200,
+ 'maxWidth':'300px',
+ 'keepAlive':true,
+ 'activation':'click'
+});
+function displayDeletionWarnings() {
+ jQuery(".warningDeletion").show();
+ jQuery("input[name=destination_tag]:checked").parent("label").children(".warningDeletion").hide();
+}
+
+displayDeletionWarnings();
+
+jQuery("#mergeTags label").click(function() {
displayDeletionWarnings();
+});
+
+jQuery("input[name=merge]").click(function() {
+ if (jQuery("ul.tagSelection input[type=checkbox]:checked").length < 2) {
+ alert("{'Select at least two tags for merging'|@translate}");
+ return false;
+ }
+});
+
+$("#searchInput").on("keydown", function(e) {
+ var $this = $(this),
+ timer = $this.data("timer");
- jQuery("#mergeTags label").click(function() {
- displayDeletionWarnings();
- });
+ if (timer) {
+ clearTimeout(timer);
+ }
- jQuery("input[name=merge]").click(function() {
- if (jQuery("ul.tagSelection input[type=checkbox]:checked").length < 2) {
- alert("{/literal}{'Select at least two tags for merging'|@translate}{literal}");
- return false;
+ $this.data("timer", setTimeout(function() {
+ var val = $this.val();
+ if (!val) {
+ $(".tagSelection>li").show();
+ $("#filterIcon").css("visibility","hidden");
}
- });
+ else {
+ $("#filterIcon").css("visibility","visible");
+ var regex = new RegExp( val.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"), "i" );
+ $(".tagSelection>li").each(function() {
+ var $li = $(this),
+ text = $.trim( $("label", $li).text() );
+ $li.toggle(regex.test(text));
+ });
+ }
+
+ }, 300) );
+
+ if (e.keyCode == 13) { // Enter
+ e.preventDefault();
+ }
});
-{/literal}{/footer_script}
+{/footer_script}
<div class="titrePage">
@@ -46,12 +88,12 @@ jQuery(document).ready(function(){
</table>
<p>
- <input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
- <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}">
- <input class="submit" type="reset" value="{'Reset'|@translate}">
+ <input type="submit" name="edit_submit" value="{'Submit'|@translate}">
+ <input type="submit" name="edit_cancel" value="{'Cancel'|@translate}">
</p>
</fieldset>
{/if}
+
{if isset($DUPLIC_TAGS_LIST)}
<fieldset>
<legend>{'Edit tags'|@translate}</legend>
@@ -70,23 +112,28 @@ jQuery(document).ready(function(){
</table>
<p>
- <input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
- <input class="submit" type="submit" name="duplic_submit" value="{'Submit'|@translate}">
- <input class="submit" type="reset" value="{'Reset'|@translate}">
+ <input type="submit" name="duplic_submit" value="{'Submit'|@translate}">
+ <input type="submit" name="duplic_cancel" value="{'Cancel'|@translate}">
</p>
</fieldset>
{/if}
{if isset($MERGE_TAGS_LIST)}
- <input type="hidden" name="merge_list" value="{$MERGE_TAGS_LIST}">
-
<fieldset id="mergeTags">
<legend>{'Merge tags'|@translate}</legend>
- {'Select the destination tag'|@translate}<br><br>
+ {'Select the destination tag'|@translate}
+
+ <p>
{foreach from=$tags item=tag name=tagloop}
<label><input type="radio" name="destination_tag" value="{$tag.ID}"{if $smarty.foreach.tagloop.index == 0} checked="checked"{/if}> {$tag.NAME}<span class="warningDeletion"> {'(this tag will be deleted)'|@translate}</span></label><br>
{/foreach}
- <br><input type="submit" name="confirm_merge" value="{'Confirm merge'|@translate}">
+ </p>
+
+ <p>
+ <input type="hidden" name="merge_list" value="{$MERGE_TAGS_LIST}">
+ <input type="submit" name="merge_submit" value="{'Confirm merge'|@translate}">
+ <input type="submit" name="merge_cancel" value="{'Cancel'|@translate}">
+ </p>
</fieldset>
{/if}
@@ -103,73 +150,35 @@ jQuery(document).ready(function(){
<fieldset>
<legend>{'Tag selection'|@translate}</legend>
-{html_style}
-.showInfo{ldelim}text-indent:5px}
-{/html_style}
-{footer_script}{literal}
-jQuery('.showInfo').tipTip({
- 'delay' : 0,
- 'fadeIn' : 200,
- 'fadeOut' : 200,
- 'maxWidth':'300px',
- 'keepAlive':true,
- 'activation':'click'
- });
-{/literal}{/footer_script}
-{if count($all_tags)}
-<div><label><span class="icon-filter" style="visibility:hidden" id="filterIcon"></span>{'Search'|@translate}: <input id="searchInput" type="text" size="12"></label></div>
-{footer_script}{literal}
-$("#searchInput").on( "keydown", function(e) {
- var $this = $(this),
- timer = $this.data("timer");
- if (timer)
- clearTimeout(timer);
-
- $this.data("timer", setTimeout( function() {
- var val = $this.val();
- if (!val) {
- $(".tagSelection>li").show();
- $("#filterIcon").css("visibility","hidden");
- }
- else {
- $("#filterIcon").css("visibility","visible");
- var regex = new RegExp( val.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"), "i" );
- $(".tagSelection>li").each( function(i, li) {
- var $li = $(li),
- text = $.trim( $("label", $li).text() );
- if (regex.test( text ))
- $li.show();
- else
- $li.hide();
- });
- }
-
- }, 300) );
-
- if (e.keyCode == 13) { // Enter
- e.preventDefault();
- }
-});
-{/literal}{/footer_script}
-{/if}
-<ul class="tagSelection">
-{foreach from=$all_tags item=tag}
- <li>{capture name='showInfo'}<b>{$tag.name}</b> ({$tag.counter|@translate_dec:'%d photo':'%d photos'}) <br> <a href="{$tag.U_VIEW}">{'View in gallery'|@translate}</a> | <a href="{$tag.U_EDIT}">{'Manage photos'|@translate}</a>{if !empty($tag.alt_names)}<br>{$tag.alt_names}{/if}{/capture}
- <a class="icon-info-circled-1 showInfo" title="{$smarty.capture.showInfo|@htmlspecialchars}"></a>
- <label>
- <input type="checkbox" name="tags[]" value="{$tag.id}"> {$tag.name}
- </label>
- </li>
-{/foreach}
-</ul>
-
- <p>
- <input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
- <input type="submit" name="edit" value="{'Edit selected tags'|@translate}">
- <input type="submit" name="duplicate" value="{'Duplicate selected tags'|@translate}">
- <input type="submit" name="merge" value="{'Merge selected tags'|@translate}">
- <input type="submit" name="delete" value="{'Delete selected tags'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
- </p>
+
+ {if count($all_tags)}
+ <div><label><span class="icon-filter" style="visibility:hidden" id="filterIcon"></span>{'Search'|@translate}: <input id="searchInput" type="text" size="12"></label></div>
+ {/if}
+
+ <ul class="tagSelection">
+ {foreach from=$all_tags item=tag}
+ <li>
+ {capture name='showInfo'}{strip}
+ <b>{$tag.name}</b> ({$tag.counter|@translate_dec:'%d photo':'%d photos'})<br>
+ <a href="{$tag.U_VIEW}">{'View in gallery'|@translate}</a> |
+ <a href="{$tag.U_EDIT}">{'Manage photos'|@translate}</a>
+ {if !empty($tag.alt_names)}<br>{$tag.alt_names}{/if}
+ {/strip}{/capture}
+ <a class="icon-info-circled-1 showInfo" title="{$smarty.capture.showInfo|@htmlspecialchars}"></a>
+ <label>
+ <input type="checkbox" name="tags[]" value="{$tag.id}"> {$tag.name}
+ </label>
+ </li>
+ {/foreach}
+ </ul>
+
+ <p>
+ <input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
+ <input type="submit" name="edit" value="{'Edit selected tags'|@translate}">
+ <input type="submit" name="duplicate" value="{'Duplicate selected tags'|@translate}">
+ <input type="submit" name="merge" value="{'Merge selected tags'|@translate}">
+ <input type="submit" name="delete" value="{'Delete selected tags'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
+ </p>
</fieldset>
</form>