From 2b8ea75b1d7adfbabe0f0a7303f7d0b272da3cd3 Mon Sep 17 00:00:00 2001 From: mistic100 Date: Sun, 16 Jun 2013 17:15:24 +0000 Subject: 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 --- include/template.class.php | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/template.class.php b/include/template.class.php index 7ee5c0457..368b297e2 100644 --- a/include/template.class.php +++ b/include/template.class.php @@ -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() + )); } } -- cgit v1.2.3