aboutsummaryrefslogtreecommitdiffstats
path: root/admin/include
diff options
context:
space:
mode:
authorrub <rub@piwigo.org>2008-02-28 23:41:47 +0000
committerrub <rub@piwigo.org>2008-02-28 23:41:47 +0000
commit4621be1005ddab4d3a380ab05a124f99f3e36bea (patch)
treea97ca3808e62d07687508a635ef1bfe3bd5cee4e /admin/include
parent7818a7715b95c1912a71057ee0e050f30865298c (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 '')
-rw-r--r--admin/include/functions_history.inc.php28
-rw-r--r--admin/include/functions_tabsheet.inc.php64
-rw-r--r--admin/include/functions_waiting.inc.php28
-rw-r--r--admin/include/tabsheet.class.php149
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');
+ }
+}
+
+?>