aboutsummaryrefslogtreecommitdiffstats
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
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
-rw-r--r--admin/cat_options.php50
-rw-r--r--admin/configuration.php40
-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
-rw-r--r--admin/notification_by_mail.php41
-rw-r--r--template/yoga/admin/cat_options.tpl2
-rw-r--r--template/yoga/admin/tabsheet.tpl4
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&amp;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.= '&amp;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