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
This commit is contained in:
rub 2008-02-28 23:41:47 +00:00
parent 7818a7715b
commit 4621be1005
9 changed files with 208 additions and 198 deletions

View file

@ -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 |

View file

@ -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'];

View file

@ -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)

View file

@ -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');
}
?>

View file

@ -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();
}
?>

View file

@ -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');
}
}
?>

View file

@ -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)

View file

@ -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">

View file

@ -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}