feature:2785 Improve template method to sort actions buttons

+ add default rank = 50

git-svn-id: http://piwigo.org/svn/trunk@23263 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
mistic100
2013-06-16 17:15:24 +00:00
parent 0a98109a9e
commit 2b8ea75b1d
3 changed files with 17 additions and 8 deletions

View File

@@ -21,6 +21,7 @@
// | USA. |
// +-----------------------------------------------------------------------+
define('BUTTONS_RANK_NEUTRAL', 50);
class Template {
@@ -861,12 +862,12 @@ var s,after = document.getElementsByTagName(\'script\')[document.getElementsByTa
return $themeconfs[$dir];
}
function add_picture_button($content, $rank)
function add_picture_button($content, $rank=BUTTONS_RANK_NEUTRAL)
{
$this->picture_buttons[$rank][] = $content;
}
function add_index_button($content, $rank)
function add_index_button($content, $rank=BUTTONS_RANK_NEUTRAL)
{
$this->index_buttons[$rank][] = $content;
}
@@ -876,9 +877,12 @@ var s,after = document.getElementsByTagName(\'script\')[document.getElementsByTa
if (!empty($this->picture_buttons))
{
ksort($this->picture_buttons);
foreach ($this->picture_buttons as $ranked)
foreach ($ranked as $content)
$this->concat('PLUGIN_PICTURE_ACTIONS', $content);
$this->assign('PLUGIN_PICTURE_BUTTONS',
array_reduce(
$this->picture_buttons,
create_function('$v,$w', 'return array_merge($v, $w);'),
array()
));
}
}
@@ -887,9 +891,12 @@ var s,after = document.getElementsByTagName(\'script\')[document.getElementsByTa
if (!empty($this->index_buttons))
{
ksort($this->index_buttons);
foreach ($this->index_buttons as $ranked)
foreach ($ranked as $content)
$this->concat('PLUGIN_INDEX_ACTIONS', $content);
$this->assign('PLUGIN_INDEX_BUTTONS',
array_reduce(
$this->index_buttons,
create_function('$v,$w', 'return array_merge($v, $w);'),
array()
));
}
}

View File

@@ -111,6 +111,7 @@ jQuery("#derivativeSwitchBox").on("mouseleave", function() {
<span class="pwg-icon pwg-icon-camera-calendar">&nbsp;</span><span class="pwg-button-text">{'Calendar'|@translate}</span>
</a>{/strip}</li>
{/if}
{foreach from=$PLUGIN_INDEX_BUTTONS item=button}<li>{$button}</li>{/foreach}
{if !empty($PLUGIN_INDEX_ACTIONS)}{$PLUGIN_INDEX_ACTIONS}{/if}
</ul>

View File

@@ -76,6 +76,7 @@ jQuery("#derivativeSwitchBox").on("mouseleave click", function() {
<span class="pwg-icon pwg-icon-save"> </span><span class="pwg-button-text">{'Download'|@translate}</span>
</a>
{/if}{/strip}
{foreach from=$PLUGIN_PICTURE_BUTTONS item=button}{$button}{/foreach}
{if isset($PLUGIN_PICTURE_ACTIONS)}{$PLUGIN_PICTURE_ACTIONS}{/if}
{strip}{if isset($favorite)}
<a href="{$favorite.U_FAVORITE}" title="{if $favorite.IS_FAVORITE}{'delete this photo from your favorites'|@translate}{else}{'add this photo to your favorites'|@translate}{/if}" class="pwg-state-default pwg-button" rel="nofollow">