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 /admin/include | |
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
Diffstat (limited to 'admin/include')
-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 |
4 files changed, 167 insertions, 102 deletions
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'); + } +} + +?> |