diff options
author | rub <rub@piwigo.org> | 2008-02-28 23:41:47 +0000 |
---|---|---|
committer | rub <rub@piwigo.org> | 2008-02-28 23:41:47 +0000 |
commit | 4621be1005ddab4d3a380ab05a124f99f3e36bea (patch) | |
tree | a97ca3808e62d07687508a635ef1bfe3bd5cee4e | |
parent | 7818a7715b95c1912a71057ee0e050f30865298c (diff) |
0000809: Use more php classes implementation
Use class for tabsheet like grum class
Change way for tabsheet
git-svn-id: http://piwigo.org/svn/trunk@2226 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r-- | admin/cat_options.php | 50 | ||||
-rw-r--r-- | admin/configuration.php | 40 | ||||
-rw-r--r-- | admin/include/functions_history.inc.php | 28 | ||||
-rw-r--r-- | admin/include/functions_tabsheet.inc.php | 64 | ||||
-rw-r--r-- | admin/include/functions_waiting.inc.php | 28 | ||||
-rw-r--r-- | admin/include/tabsheet.class.php | 149 | ||||
-rw-r--r-- | admin/notification_by_mail.php | 41 | ||||
-rw-r--r-- | template/yoga/admin/cat_options.tpl | 2 | ||||
-rw-r--r-- | template/yoga/admin/tabsheet.tpl | 4 |
9 files changed, 208 insertions, 198 deletions
diff --git a/admin/cat_options.php b/admin/cat_options.php index 210427eea..5569506f9 100644 --- a/admin/cat_options.php +++ b/admin/cat_options.php @@ -30,7 +30,7 @@ if (!defined('PHPWG_ROOT_PATH')) } include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); -include_once(PHPWG_ROOT_PATH.'admin/include/functions_tabsheet.inc.php'); +include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); // +-----------------------------------------------------------------------+ // | Check Access and exit when user status is not ok | @@ -159,50 +159,22 @@ $template->assign( ) ); +// TabSheet +$tabsheet = new tabsheet(); // TabSheet initialization $opt_link = $link_start.'cat_options&section='; -$tabsheet = array -( - 'status' => array - ( - 'caption' => l10n('cat_security'), - 'url' => $opt_link.'status' - ), - 'visible' => array - ( - 'caption' => l10n('lock'), - 'url' => $opt_link.'visible' - ), - 'upload' => array - ( - 'caption' => l10n('upload'), - 'url' => $opt_link.'upload' - ), - 'comments' => array - ( - 'caption' => l10n('comments'), - 'url' => $opt_link.'comments' - ), -); - +$tabsheet->add('status', l10n('cat_security'), $opt_link.'status'); +$tabsheet->add('visible', l10n('lock'), $opt_link.'visible'); +$tabsheet->add('upload', l10n('upload'), $opt_link.'upload'); +$tabsheet->add('comments', l10n('comments'), $opt_link.'comments'); if ($conf['allow_random_representative']) { - $tabsheet['representative'] = - array - ( - 'caption' => l10n('Representative'), - 'url' => $opt_link.'representative' - ); + $tabsheet->add('representative', l10n('Representative'), $opt_link.'representative'); } -$tabsheet[$page['section']]['selected'] = true; - +// TabSheet selection +$tabsheet->select($page['section']); // Assign tabsheet to template -$template->assign( - array( - 'tabsheet' => $tabsheet, - 'TABSHEET_TITLE' => $tabsheet[$page['section']]['caption'] - ) - ); +$tabsheet->assign(); // +-----------------------------------------------------------------------+ // | form display | diff --git a/admin/configuration.php b/admin/configuration.php index 4a44efc05..1f96265ec 100644 --- a/admin/configuration.php +++ b/admin/configuration.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | PhpWebGallery - a PHP based picture gallery | // | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | -// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | branch : BSF (Best So Far) // | file : $RCSfile$ @@ -31,7 +31,7 @@ if( !defined("PHPWG_ROOT_PATH") ) } include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); -include_once(PHPWG_ROOT_PATH.'admin/include/functions_tabsheet.inc.php'); +include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); // +-----------------------------------------------------------------------+ // | Check Access and exit when user status is not ok | @@ -157,35 +157,17 @@ WHERE param = \''.$row['param'].'\' //----------------------------------------------------- template initialization $template->set_filename('config', 'admin/configuration.tpl'); +// TabSheet +$tabsheet = new tabsheet(); // TabSheet initialization -$page['tabsheet'] = array -( - 'main' => array - ( - 'caption' => l10n('conf_main_title'), - 'url' => $conf_link.'main' - ), - 'history' => array - ( - 'caption' => l10n('conf_history_title'), - 'url' => $conf_link.'history' - ), - 'comments' => array - ( - 'caption' => l10n('conf_comments_title'), - 'url' => $conf_link.'comments' - ), - 'default' => array - ( - 'caption' => l10n('conf_display'), - 'url' => $conf_link.'default' - ) -); - -$page['tabsheet'][$page['section']]['selected'] = true; - +$tabsheet->add('main', l10n('conf_main_title'), $conf_link.'main'); +$tabsheet->add('history', l10n('conf_history_title'), $conf_link.'history'); +$tabsheet->add('comments', l10n('conf_comments_title'), $conf_link.'comments'); +$tabsheet->add('default', l10n('conf_display'), $conf_link.'default'); +// TabSheet selection +$tabsheet->select($page['section']); // Assign tabsheet to template -template_assign_tabsheet(); +$tabsheet->assign(); $action = PHPWG_ROOT_PATH.'admin.php?page=configuration'; $action.= '&section='.$page['section']; diff --git a/admin/include/functions_history.inc.php b/admin/include/functions_history.inc.php index 23693c1f0..2a6715257 100644 --- a/admin/include/functions_history.inc.php +++ b/admin/include/functions_history.inc.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | PhpWebGallery - a PHP based picture gallery | // | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | -// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -24,31 +24,21 @@ // | USA. | // +-----------------------------------------------------------------------+ -include_once(PHPWG_ROOT_PATH.'admin/include/functions_tabsheet.inc.php'); +include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); function history_tabsheet() { global $page, $link_start; + // TabSheet + $tabsheet = new tabsheet(); // TabSheet initialization - $page['tabsheet'] = array - ( - 'stats' => array - ( - 'caption' => l10n('Statistics'), - 'url' => $link_start.'stats' - ), - 'history' => array - ( - 'caption' => l10n('Search'), - 'url' => $link_start.'history' - ) - ); - - $page['tabsheet'][$page['page']]['selected'] = true; - + $tabsheet->add('stats', l10n('Statistics'), $link_start.'stats'); + $tabsheet->add('history', l10n('Search'), $link_start.'history'); + // TabSheet selection + $tabsheet->select($page['page']); // Assign tabsheet to template - template_assign_tabsheet(); + $tabsheet->assign(); } function history_compare($a, $b) diff --git a/admin/include/functions_tabsheet.inc.php b/admin/include/functions_tabsheet.inc.php deleted file mode 100644 index 9bb57322d..000000000 --- a/admin/include/functions_tabsheet.inc.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -// +-----------------------------------------------------------------------+ -// | PhpWebGallery - a PHP based picture gallery | -// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | -// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net | -// +-----------------------------------------------------------------------+ -// | file : $Id$ -// | last update : $Date$ -// | last modifier : $Author$ -// | revision : $Revision$ -// +-----------------------------------------------------------------------+ -// | This program is free software; you can redistribute it and/or modify | -// | it under the terms of the GNU General Public License as published by | -// | the Free Software Foundation | -// | | -// | This program is distributed in the hope that it will be useful, but | -// | WITHOUT ANY WARRANTY; without even the implied warranty of | -// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | -// | General Public License for more details. | -// | | -// | You should have received a copy of the GNU General Public License | -// | along with this program; if not, write to the Free Software | -// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | -// | USA. | -// +-----------------------------------------------------------------------+ - -/* - * Build TabSheet and assign this content to current page - * - * Uses $page['tabsheet'], it's an array of array - * - * $page['tabsheet'] description: - * $page['tabsheet']'[url'] : Tab link - * $page['tabsheet']['Caption'] : Tab caption - * $page['tabsheet']['selected'] : Is the selected tab (default value false) - * - * Fill {TABSHEET} with HTML code for tabshette - * Fill {U_TABSHEET_TITLE} with formated caption of the selected tab - */ - -function template_assign_tabsheet() -{ - global $page, $template; -//THIS SHOULD BE DEPRECATED ? - - $template->set_filename('tabsheet', 'admin/tabsheet.tpl'); - $template->assign('tabsheet', $page['tabsheet']); - - foreach ($page['tabsheet'] as $tab_name => $tab) - { - $is_selected = isset($tab['selected']) and $tab['selected'] === true; - if ($is_selected) - { - $template->assign_vars( - array('TABSHEET_TITLE' => '['.$tab['caption'].']')); - break; - } - } - - $template->assign_var_from_handle('TABSHEET', 'tabsheet'); - $template->clear_assign('tabsheet'); -} - -?> diff --git a/admin/include/functions_waiting.inc.php b/admin/include/functions_waiting.inc.php index 640991c00..7a00486b5 100644 --- a/admin/include/functions_waiting.inc.php +++ b/admin/include/functions_waiting.inc.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | PhpWebGallery - a PHP based picture gallery | // | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | -// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -24,31 +24,21 @@ // | USA. | // +-----------------------------------------------------------------------+ -include_once(PHPWG_ROOT_PATH.'admin/include/functions_tabsheet.inc.php'); +include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); function waiting_tabsheet() { global $page, $link_start; + // TabSheet + $tabsheet = new tabsheet(); // TabSheet initialization - $page['tabsheet'] = array - ( - 'comments' => array - ( - 'caption' => l10n('comments'), - 'url' => $link_start.'comments' - ), - 'upload' => array - ( - 'caption' => l10n('upload_pictures'), - 'url' => $link_start.'upload' - ) - ); - - $page['tabsheet'][$page['page']]['selected'] = true; - + $tabsheet->add('comments', l10n('comments'), $link_start.'comments'); + $tabsheet->add('upload', l10n('upload_pictures'), $link_start.'upload'); + // TabSheet selection + $tabsheet->select($page['page']); // Assign tabsheet to template - template_assign_tabsheet(); + $tabsheet->assign(); } ?> diff --git a/admin/include/tabsheet.class.php b/admin/include/tabsheet.class.php new file mode 100644 index 000000000..0e8812051 --- /dev/null +++ b/admin/include/tabsheet.class.php @@ -0,0 +1,149 @@ +<?php +// +-----------------------------------------------------------------------+ +// | PhpWebGallery - a PHP based picture gallery | +// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | +// +-----------------------------------------------------------------------+ +// | file : $Id$ +// | last update : $Date$ +// | last modifier : $Author$ +// | revision : $Revision$ +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +class tabsheet +{ + var $sheets; + var $name; + var $titlename; + var $selected; + + /* + $name is the tabsheet's name inside the template .tpl file + $titlename in the template is affected by $titlename value + */ + function tabsheet($name = 'TABSHEET', $titlename = 'TABSHEET_TITLE') + { + $this->sheets = array(); + $this->name = $name; + $this->titlename = $titlename; + $this->selected = ""; + } + + /* + add a tab + */ + function add($name, $caption, $url, $selected = false) + { + if (!isset($this->sheets[$name])) + { + $this->sheets[$name] = array('caption' => $caption, + 'url' => $url); + if($selected) + { + $this->selected=$name; + } + return true; + } + return false; + } + + /* + remove a tab + */ + function delete($name) + { + if (isset($this->sheets[$name])) + { + array_splice($this->sheets, $name, 1); + + if ($this->selected == $name) + { + $this->selected = ""; + } + return true; + } + return false; + } + + /* + select a tab to be active + */ + function select($name) + { + $this->selected = $name; + } + + /* + set $titlename value + */ + function set_titlename($titlename) + { + $this->titlename = $titlename; + return $this->titlename; + } + + /* + returns $titlename value + */ + function get_titlename() + { + return $this->titlename; + } + + /* + returns properties of selected tab + */ + function get_selected() + { + if (!empty($this->selected)) + { + return $this->sheets[$this->selected]; + } + else + { + return null; + } + } + + /* + * Build TabSheet and assign this content to current page + * + * Fill $this->$name {default value = TABSHEET} with HTML code for tabsheet + * Fill $this->titlename {default value = TABSHEET_TITLE} with formated caption of the selected tab + */ + function assign() + { + global $template; + + $template->set_filename('tabsheet', 'admin/tabsheet.tpl'); + $template->assign('tabsheet', $this->sheets); + $template->assign('tabsheet_selected', $this->selected); + + $selected_tab = $this->get_selected(); + + if (isset($selected_tab)) + { + $template->assign_vars( + array($this->titlename => '['.$selected_tab['caption'].']')); + } + + $template->assign_var_from_handle($this->name, 'tabsheet'); + $template->clear_assign('tabsheet'); + } +} + +?> diff --git a/admin/notification_by_mail.php b/admin/notification_by_mail.php index 10c65214e..38fd8cfb6 100644 --- a/admin/notification_by_mail.php +++ b/admin/notification_by_mail.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | PhpWebGallery - a PHP based picture gallery | // | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | -// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -35,7 +35,7 @@ if (!defined('PHPWG_ROOT_PATH')) include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); include_once(PHPWG_ROOT_PATH.'admin/include/functions_notification_by_mail.inc.php'); -include_once(PHPWG_ROOT_PATH.'admin/include/functions_tabsheet.inc.php'); +include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); include_once(PHPWG_ROOT_PATH.'include/common.inc.php'); include_once(PHPWG_ROOT_PATH.'include/functions_notification.inc.php'); include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); @@ -610,31 +610,22 @@ $template->assign_vars if (is_autorize_status(ACCESS_WEBMASTER)) { + // TabSheet + $tabsheet = new tabsheet(); // TabSheet initialization - $page['tabsheet'] = array - ( - 'param' => array - ( - 'caption' => l10n('nbm_param_mode'), - 'url' => add_url_params($base_url.get_query_string_diff(array('mode', 'select')), - array('mode' => 'param')) - ), - 'subscribe' => array - ( - 'caption' => l10n('nbm_subscribe_mode'), - 'url' => add_url_params($base_url.get_query_string_diff(array('mode', 'select')), array('mode' => 'subscribe')), - ), - 'send' => array - ( - 'caption' => l10n('nbm_send_mode'), - 'url' => add_url_params($base_url.get_query_string_diff(array('mode', 'select')), array('mode' => 'send')) - ) - ); - - $page['tabsheet'][$page['mode']]['selected'] = true; - + $tabsheet->add('param', l10n('nbm_param_mode'), + add_url_params($base_url.get_query_string_diff(array('mode', 'select')), + array('mode' => 'param'))); + $tabsheet->add('subscribe', l10n('nbm_subscribe_mode'), + add_url_params($base_url.get_query_string_diff(array('mode', 'select')), + array('mode' => 'subscribe'))); + $tabsheet->add('send', l10n('nbm_send_mode'), + add_url_params($base_url.get_query_string_diff(array('mode', 'select')), + array('mode' => 'send'))); + // TabSheet selection + $tabsheet->select($page['mode']); // Assign tabsheet to template - template_assign_tabsheet(); + $tabsheet->assign(); } if ($must_repost) diff --git a/template/yoga/admin/cat_options.tpl b/template/yoga/admin/cat_options.tpl index 356e66223..f9087648a 100644 --- a/template/yoga/admin/cat_options.tpl +++ b/template/yoga/admin/cat_options.tpl @@ -4,7 +4,7 @@ <li><a href="{$U_HELP}" onclick="popuphelp(this.href); return false;" title="{'Help'|@translate}"><img src="{$themeconf.icon_dir}/help.png" class="button" alt="(?)"></a></li> </ul> <h2>{'cat_options_title'|@translate} {$TABSHEET_TITLE}</h2> - {include file='admin/tabsheet.tpl'} + {$TABSHEET} </div> <form method="post" action="{$F_ACTION}" id="cat_options"> diff --git a/template/yoga/admin/tabsheet.tpl b/template/yoga/admin/tabsheet.tpl index 930771916..a89adfd8d 100644 --- a/template/yoga/admin/tabsheet.tpl +++ b/template/yoga/admin/tabsheet.tpl @@ -1,8 +1,8 @@ {* $Id$ *} {if isset($tabsheet) and count($tabsheet)} <ul class="tabsheet"> -{foreach from=$tabsheet item=tab} - <li class="{if isset($tab.selected) and $tab.selected}selected_tab{else}normal_tab{/if}"><a href="{$tab.url}">{$tab.caption}</a></li> +{foreach from=$tabsheet key=name item=sheet} + <li class="{if ($name == $tabsheet_selected)}selected_tab{else}normal_tab{/if}"><a href="{$sheet.url}">{$sheet.caption}</a></li> {/foreach} </ul> {/if}
\ No newline at end of file |