From 4621be1005ddab4d3a380ab05a124f99f3e36bea Mon Sep 17 00:00:00 2001 From: rub Date: Thu, 28 Feb 2008 23:41:47 +0000 Subject: 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 --- admin/cat_options.php | 50 +++-------- admin/configuration.php | 40 +++------ admin/include/functions_history.inc.php | 28 ++---- admin/include/functions_tabsheet.inc.php | 64 ------------- admin/include/functions_waiting.inc.php | 28 ++---- admin/include/tabsheet.class.php | 149 +++++++++++++++++++++++++++++++ admin/notification_by_mail.php | 41 ++++----- template/yoga/admin/cat_options.tpl | 2 +- template/yoga/admin/tabsheet.tpl | 4 +- 9 files changed, 208 insertions(+), 198 deletions(-) delete mode 100644 admin/include/functions_tabsheet.inc.php create mode 100644 admin/include/tabsheet.class.php 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 @@ -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 @@ +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 @@
  • (?)
  • {'cat_options_title'|@translate} {$TABSHEET_TITLE}

    - {include file='admin/tabsheet.tpl'} + {$TABSHEET}
    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)} {/if} \ No newline at end of file -- cgit v1.2.3