Files
web-development/zoesch.de/galerie/admin/themes/default/template/cat_modify.tpl
Felix Zösch 07c290a453 Initial commit: Backup der Webseiten
- zoesch.de
- blitzkiste.net
- gruene-hassberge (norbert.zoesch.de)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-13 01:17:15 +01:00

307 lines
9.7 KiB
Smarty

{combine_script id='common' load='footer' path='admin/themes/default/js/common.js'}
{include file='include/colorbox.inc.tpl'}
{combine_script id='LocalStorageCache' load='footer' path='admin/themes/default/js/LocalStorageCache.js'}
{combine_script id='jquery.selectize' load='footer' path='themes/default/js/plugins/selectize.min.js'}
{combine_css id='jquery.selectize' path="themes/default/js/plugins/selectize.{$themeconf.colorscheme}.css"}
{footer_script}
{* <!-- CATEGORIES --> *}
var categoriesCache = new CategoriesCache({
serverKey: '{$CACHE_KEYS.categories}',
serverId: '{$CACHE_KEYS._hash}',
rootUrl: '{$ROOT_URL}'
});
categoriesCache.selectize(jQuery('[data-selectize=categories]'), {
default: 0,
filter: function(categories, options) {
// remove itself and children
var filtered = jQuery.grep(categories, function(cat) {
return !(/\b{$CAT_ID}\b/.test(cat.uppercats));
});
filtered.push({
id: 0,
fullname: '------------',
global_rank: 0
});
return filtered;
}
});
jQuery(document).ready(function() {
jQuery(document).on('click', '.refreshRepresentative', function(e) {
var $this = jQuery(this);
var method = 'pwg.categories.refreshRepresentative';
jQuery.ajax({
url: "ws.php?format=json&method="+method,
type:"POST",
data: {
category_id: $this.data("category_id")
},
success:function(data) {
var data = jQuery.parseJSON(data);
if (data.stat == 'ok') {
jQuery(".albumThumbnailImage")
.attr('href', data.result.url)
.find("img").attr('src', data.result.src)
.end().show();
jQuery(".albumThumbnailRandom").hide();
}
else {
alert("error on "+method);
}
},
error:function(XMLHttpRequest, textStatus, errorThrows) {
alert("serious error on "+method);
}
});
e.preventDefault();
});
jQuery(document).on('click', '.deleteRepresentative', function(e) {
var $this = jQuery(this);
var method = 'pwg.categories.deleteRepresentative';
jQuery.ajax({
url: "ws.php?format=json&method="+method,
type:"POST",
data: {
category_id: $this.data("category_id")
},
success:function(data) {
var data = jQuery.parseJSON(data);
if (data.stat == 'ok') {
jQuery(".albumThumbnailImage").hide();
jQuery(".albumThumbnailRandom").show();
}
else {
alert("error on "+method);
}
},
error:function(XMLHttpRequest, textStatus, errorThrows) {
alert("serious error on "+method);
}
});
e.preventDefault();
});
jQuery(".deleteAlbum").click(function() {
jQuery.colorbox({
inline:true,
title:"{'delete album'|translate|escape:javascript}",
href:".delete_popin"
});
return false;
});
function set_photo_deletion_mode() {
if (jQuery("input[name=photo_deletion_mode]").length > 0) {
var $photo_deletion_mode = jQuery("input[name=photo_deletion_mode]:checked").val();
jQuery("#deleteConfirm").data("photo_deletion_mode", $photo_deletion_mode);
}
}
set_photo_deletion_mode();
jQuery("input[name=photo_deletion_mode]").change(function() {
set_photo_deletion_mode();
});
jQuery("#deleteConfirm").click(function() {
if (jQuery("input[name=photo_deletion_mode]").length > 0) {
var $href = jQuery(this).attr("href");
jQuery(this).attr("href", $href+"&photo_deletion_mode="+jQuery(this).data("photo_deletion_mode"));
}
});
jQuery(document).on('click', '.close-delete_popin', function(e) {
jQuery('.delete_popin').colorbox.close();
e.preventDefault();
});
});
{/footer_script}
{html_style}
.delete_popin {
padding:20px 30px;
}
.delete_popin p {
margin:0;
}
.delete_popin ul {
padding:0;
margin:30px 0;
}
.delete_popin ul li {
list-style-type:none;
margin:10px 0;
}
.delete_popin .buttonLike {
padding:5px;
margin-right:10px;
}
.delete_popin p.popin-actions {
margin-top:30px;
}
{/html_style}
<div class="titrePage">
<h2><span style="letter-spacing:0">{$CATEGORIES_NAV}</span> &#8250; {'Edit album'|@translate} {$TABSHEET_TITLE}</h2>
</div>
<div id="catModify">
<fieldset>
<legend>{'Informations'|@translate}</legend>
<table style="width:100%">
<tr>
<td id="albumThumbnail">
{if isset($representant) }
<a class="albumThumbnailImage" style="{if !isset($representant.picture)}display:none{/if}" href="{$representant.picture.url}"><img src="{$representant.picture.src}"></a>
<img class="albumThumbnailRandom" style="{if isset($representant.picture)}display:none{/if}" src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_representant_random.png" alt="{'Random photo'|@translate}">
<p class="albumThumbnailActions">
{if $representant.ALLOW_SET_RANDOM }
<a href="#refresh" data-category_id="{$CAT_ID}" class="refreshRepresentative" title="{'Find a new representant by random'|@translate}">{'Refresh'|@translate}</a>
{/if}
{if isset($representant.ALLOW_DELETE) }
| <a href="#delete" data-category_id="{$CAT_ID}" class="deleteRepresentative" title="{'Delete Representant'|@translate}">{'Delete'|translate}</a>
{/if}
</p>
{/if}
</td>
<td id="albumLinks">
<p>{$INTRO}</p>
<ul>
{if cat_admin_access($CAT_ID)}
<li><a class="icon-eye" href="{$U_JUMPTO}">{'jump to album'|@translate} →</a></li>
{/if}
{if isset($U_MANAGE_ELEMENTS) }
<li><a class="icon-picture" href="{$U_MANAGE_ELEMENTS}">{'manage album photos'|@translate}</a></li>
{/if}
<li style="text-transform:lowercase;"><a class="icon-plus-circled" href="{$U_ADD_PHOTOS_ALBUM}">{'Add Photos'|translate}</a></li>
<li><a class="icon-sitemap" href="{$U_CHILDREN}">{'manage sub-albums'|@translate}</a></li>
{if isset($U_SYNC) }
<li><a class="icon-exchange" href="{$U_SYNC}">{'Synchronize'|@translate}</a> ({'Directory'|@translate} = {$CAT_FULL_DIR})</li>
{/if}
{if isset($U_DELETE) }
<li><a class="icon-trash deleteAlbum" href="#">{'delete album'|@translate}</a></li>
{/if}
</ul>
</td>
</tr>
</table>
</fieldset>
<form action="{$F_ACTION}" method="POST">
<fieldset>
<legend>{'Properties'|@translate}</legend>
<p>
<strong>{'Name'|@translate}</strong>
<br>
<input type="text" class="large" name="name" value="{$CAT_NAME}" maxlength="255">
</p>
<p>
<strong>{'Description'|@translate}</strong>
<br>
<textarea cols="50" rows="5" name="comment" id="comment" class="description">{$CAT_COMMENT}</textarea>
</p>
{if isset($parent_category) }
<p>
<strong>{'Parent album'|@translate}</strong>
<br>
<select data-selectize="categories" data-value="{$parent_category|@json_encode|escape:html}"
name="parent" style="width:600px"></select>
</p>
{/if}
<p>
<strong>{'Lock'|@translate}</strong>
<br>
<label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="visible" value="true"{if $CAT_VISIBLE == "true"} checked="checked"{/if}>{'No'|translate}</label>
<label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="visible" value="true_sub">{'No and unlock sub-albums'|translate}</label>
<label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="visible" value="false"{if $CAT_VISIBLE == "false"} checked="checked"{/if}>{'Yes'|translate}</label>
</p>
{if isset($CAT_COMMENTABLE)}
<p>
<strong>{'Comments'|@translate}</strong>
<br>
<label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="commentable" value="false"{if $CAT_COMMENTABLE == "false"} checked="checked"{/if}>{'No'|translate}</label>
<label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="commentable" value="true"{if $CAT_COMMENTABLE == "true"} checked="checked"{/if}>{'Yes'|translate}</label>
<label id="applytoSubAction">
<label class="font-checkbox"><span class="icon-check"></span><input type="checkbox" name="apply_commentable_on_sub"></label>
{'Apply to sub-albums'|@translate}
</label>
</p>
{/if}
<p style="margin:0">
<button name="submit" type="submit" class="buttonLike">
<i class="icon-floppy"></i> {'Save Settings'|@translate}
</button>
</p>
</fieldset>
</form>
<div style="display:none">
<div class="delete_popin">
<p>
{if $NB_SUBCATS == 0}
{'Delete album "%s".'|translate:$CATEGORY_FULLNAME}
{else}
{'Delete album "%s" and its %d sub-albums.'|translate:$CATEGORIES_NAV:$NB_SUBCATS}
{/if}
</p>
{if $NB_IMAGES_RECURSIVE > 0}
<ul>
{if $NB_IMAGES_ASSOCIATED_OUTSIDE > 0}
<li><label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="photo_deletion_mode" value="force_delete"> {'delete album and all %d photos, even the %d associated to other albums'|translate:$NB_IMAGES_RECURSIVE:$NB_IMAGES_ASSOCIATED_OUTSIDE}</label></li>
{/if}
{if $NB_IMAGES_BECOMING_ORPHAN > 0}
<li><label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="photo_deletion_mode" value="delete_orphans"> {'delete album and the %d orphan photos'|translate:$NB_IMAGES_BECOMING_ORPHAN}</label></li>
{/if}
<li><label class="font-checkbox"><span class="icon-dot-circled"></span><input type="radio" name="photo_deletion_mode" value="no_delete" checked="checked"> {'delete only album, not photos'|translate}</label></li>
</ul>
{/if}
<p class="popin-actions">
<a id="deleteConfirm" class="buttonLike" type="submit" href="{$U_DELETE}"><i class="icon-trash"></i> {'Confirm deletion'|translate}</button>
<a class="icon-cancel-circled close-delete_popin" href="#">{'Cancel'|translate}</a>
</p>
{* $U_DELETE *}
</div>
</div>
</div> {* #catModify *}