1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-01 20:30:39 +02:00

More menu_class.php work. menu parms added.

This commit is contained in:
CaMer0n
2009-08-16 23:58:33 +00:00
parent bfd64fc2a6
commit 455c5eca1b
10 changed files with 300 additions and 260 deletions

View File

@@ -9,9 +9,9 @@
* General purpose file
*
* $Source: /cvs_backup/e107_0.8/class2.php,v $
* $Revision: 1.128 $
* $Date: 2009-08-16 16:30:56 $
* $Author: secretr $
* $Revision: 1.129 $
* $Date: 2009-08-16 23:58:30 $
* $Author: e107coders $
*
*/
//
@@ -885,7 +885,7 @@ if (!class_exists('e107table'))
public $eMenuCount = 0;
public $eMenuArea;
public $eMenuTotal = 0;
public $eMenuTotal = array();
public $eSetStyle;
function tablerender($caption, $text, $mode = 'default', $return = false)
@@ -917,7 +917,7 @@ if (!class_exists('e107table'))
$this->eMenuCount++;
}
ob_start();
tablestyle($caption, $text, $mode, array('menuArea'=>$this->eMenuArea,'menuCount'=>$this->eMenuCount,'menuTotal'=>$this->eMenuTotal,'setStyle'=>$this->eSetStyle));
tablestyle($caption, $text, $mode, array('menuArea'=>$this->eMenuArea,'menuCount'=>$this->eMenuCount,'menuTotal'=>$this->eMenuTotal[$this->eMenuArea],'setStyle'=>$this->eSetStyle));
$ret=ob_get_contents();
ob_end_clean();
@@ -930,7 +930,7 @@ if (!class_exists('e107table'))
{
$this->eMenuCount++;
}
tablestyle($caption, $text, $mode, array('menuArea'=>$this->eMenuArea,'menuCount'=>$this->eMenuCount,'menuTotal'=>$this->eMenuTotal,'setStyle'=>$this->eSetStyle));
tablestyle($caption, $text, $mode, array('menuArea'=>$this->eMenuArea,'menuCount'=>$this->eMenuCount,'menuTotal'=>$this->eMenuTotal[$this->eMenuArea],'setStyle'=>$this->eSetStyle));
return '';
}
}
@@ -1488,7 +1488,7 @@ function save_prefs($table = 'core', $uid = USERID, $row_val = '')
// Create the data to be stored
if($sql->db_Select_gen("REPLACE INTO `#core` (e107_name,e107_value) values ('SitePrefs', '".$eArrayStorage->WriteArray($_pref)."') "))
{
ecache::clear_sys('SitePrefs');
ecache::clear_sys('Config_core');
return true;
}
else
@@ -1504,7 +1504,7 @@ function save_prefs($table = 'core', $uid = USERID, $row_val = '')
if($sql->db_Select_gen("REPLACE INTO `#core` (e107_name,e107_value) values ('IconPool', '".$eArrayStorage->WriteArray($_iconpool)."') "))
{
ecache::clear_sys('IconPool');
ecache::clear_sys('Config_ipool');
return true;
}
else

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_admin/sql/core_sql.php,v $
| $Revision: 1.19 $
| $Date: 2009-07-09 02:47:12 $
| $Revision: 1.20 $
| $Date: 2009-08-16 23:58:31 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/
@@ -293,6 +293,7 @@ CREATE TABLE menus (
menu_pages text NOT NULL,
menu_path varchar(100) NOT NULL default '',
menu_layout varchar(100) NOT NULL default '',
menu_parms text NOT NULL,
PRIMARY KEY (menu_id)
) TYPE=MyISAM;
# --------------------------------------------------------

View File

@@ -1,9 +1,9 @@
<?php
/* $Id: menu.php,v 1.6 2009-08-16 16:30:56 secretr Exp $ */
/* $Id: menu.php,v 1.7 2009-08-16 23:58:31 e107coders Exp $ */
function menu_shortcode($parm)
{
return e107::getMenu()->render($parm);
return e107::getMenu()->renderArea($parm);
}

View File

@@ -0,0 +1,18 @@
<?php
/* $Id: plugin.php,v 1.1 2009-08-16 23:58:31 e107coders Exp $ */
function plugin_shortcode($parm)
{
global $sql, $tp, $ns;
$menu = $parm;
$path = $tp -> toDB(dirname($menu));
$name = $tp -> toDB(basename($menu));
if($path == '.')
{
$path = $menu;
}
return e107::getMenu()->renderMenu($path,$name);
}

View File

@@ -1,4 +1,5 @@
<?php
/*
+ ----------------------------------------------------------------------------+
| e107 website system
@@ -10,216 +11,169 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_handlers/menu_class.php,v $
| $Revision: 1.8 $
| $Date: 2009-08-16 16:30:56 $
| $Author: secretr $
| $Revision: 1.9 $
| $Date: 2009-08-16 23:58:31 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/
if(!defined('e107_INIT'))
if (!defined('e107_INIT'))
{
exit();
exit ();
}
class e_menu
{
public $eMenuArea;
public $eMenuList;
public $eMenuActive;
public $eMenuActive = array();
// public $eMenuList = array();
function __construct()
{
}
/**
* Init
*
*/
* Init
*
*/
public function init()
{
$menu_layout_field = THEME_LAYOUT != e107::getPref('sitetheme_deflayout') ? THEME_LAYOUT : "";
$menu_data = e107::getCache()->retrieve_sys("menus_".USERCLASS_LIST."_".md5(e_LANGUAGE.$menu_layout_field));
$menu_data = e107::getArrayStorage()->ReadArray($menu_data);
$eMenuList = array();
$eMenuActive = array();
$eMenuArea = array();
if(!is_array($menu_data))
$menu_layout_field = THEME_LAYOUT != e107 :: getPref('sitetheme_deflayout') ? THEME_LAYOUT : "";
$menu_data = e107 :: getCache()->retrieve_sys("menus_".USERCLASS_LIST."_".md5(e_LANGUAGE.$menu_layout_field));
$menu_data = e107 :: getArrayStorage()->ReadArray($menu_data);
$eMenuArea = array();
// $eMenuList = array();
// $eMenuActive = array(); // DEPRECATED
if (!is_array($menu_data))
{
$menu_qry = 'SELECT * FROM #menus WHERE menu_location > 0 AND menu_class IN ('.USERCLASS_LIST.') AND menu_layout = "'.$menu_layout_field.'" ORDER BY menu_location,menu_order';
if (e107::getDb()->db_Select_gen($menu_qry))
if (e107 :: getDb()->db_Select_gen($menu_qry))
{
while ($row = e107::getDb()->db_Fetch())
while ($row = e107 :: getDb()->db_Fetch())
{
$eMenuList[$row['menu_location']][] = $row;
$eMenuArea[$row['menu_location']][$row['menu_name']] = 1;
$eMenuActive[$row['menu_name']] = $row['menu_name'];
$eMenuArea[$row['menu_location']][] = $row;
}
}
$menu_data['menu_area'] = $eMenuArea;
$menu_data['menu_list'] = $eMenuList;
$menu_data['menu_active'] = $eMenuActive;
$menu_data = e107::getArrayStorage()->WriteArray($menu_data, false);
e107::getCache()->set_sys('menus_'.USERCLASS_LIST.'_'.md5(e_LANGUAGE), $menu_data);
unset($menu_data,$menu_layout_field,$menu_qry);
$menuData = e107 :: getArrayStorage()->WriteArray($menu_data,false);
e107 :: getCache()->set_sys('menus_'.USERCLASS_LIST.'_'.md5(e_LANGUAGE.$menu_layout_field),$menuData);
}
else
{
$eMenuArea = $menu_data['menu_area'];
$eMenuList = $menu_data['menu_list'];
$eMenuActive = $menu_data['menu_active'];
unset($menu_data);
}
$this->eMenuActive = $eMenuActive;
$this->eMenuArea = $eMenuArea;
$this->eMenuList = $eMenuList;
$total = array();
foreach ($eMenuArea as $area => $val)
{
foreach ($val as $row)
{
if ($this->isVisible($row))
{
$path = str_replace("/","",$row['menu_path']);
if (!isset ($total[$area]))
{
$total[$area] = 0;
}
$this->eMenuActive[$area][] = $row;
$total[$area]++;
}
}
}
e107 :: getRender()->eMenuTotal = $total;
}
function render($parm = '')
private function isVisible($row)
{
global $sql, $ns, $tp, $sc_style;
$show_menu = TRUE;
if ($row['menu_pages'])
{
list($listtype,$listpages) = explode("-",$row['menu_pages'],2);
$pagelist = explode("|",$listpages);
$check_url = e_SELF.(e_QUERY ? "?".e_QUERY : '');
switch ($listtype)
{
case '1' : //show menu
$show_menu = false;
foreach ($pagelist as $p)
{
if (substr($p,- 1) === '!')
{
$p = substr($p,0,- 1);
$show_menu = TRUE;
break 2;
}
elseif (strpos($check_url,$p) !== FALSE)
{
$show_menu = TRUE;
break 2;
}
}
break;
case '2' : //hide menu
$show_menu = TRUE;
foreach ($pagelist as $p)
{
if (substr($p,- 1) == '!')
{
$p = substr($p,0,- 1);
if (substr($check_url,strlen($p) * - 1) == $p)
{
$show_menu = FALSE;
break 2;
}
}
elseif (strpos($check_url,$p) !== FALSE)
{
$show_menu = FALSE;
break 2;
}
}
break;
} //end switch
} //endif menu_pages
return $show_menu;
}
public function renderArea($parm = '')
{
global $sql,$ns,$tp,$sc_style;
global $error_handler;
$e107 = e107::getInstance();
$eMenuList = $this->eMenuList;
$e107 = e107 :: getInstance();
$tmp = explode(':',$parm);
$buffer_output = true; // Default - return all output.
if (isset($tmp[1]) && $tmp[1] == 'echo') { $buffer_output = false; }
if (!array_key_exists($tmp[0], $eMenuList)) { return; }
$buffer_output = true; // Default - return all output.
if (isset ($tmp[1]) && $tmp[1] == 'echo')
{
$buffer_output = false;
}
if (!array_key_exists($tmp[0],$this->eMenuActive))
{
return;
}
if ($buffer_output)
{
ob_start();
}
e107::getRender()->eMenuArea = $tmp[0];
foreach($eMenuList[$tmp[0]] as $row)
e107 :: getRender()->eMenuArea = $tmp[0];
foreach ($this->eMenuActive[$tmp[0]] as $row)
{
$pkey = str_replace("/","",$row['menu_path']);
$show_menu[$pkey] = $row['menu_name'];
if($row['menu_pages'])
{
list($listtype, $listpages) = explode('-', $row['menu_pages'], 2);
$pagelist = explode('|',$listpages);
$check_url = e_SELF.(e_QUERY ? '?'.e_QUERY : '');
if($listtype == '1') //show menu
{
//$show_menu[$pkey] = FALSE;
unset($show_menu[$pkey]);
foreach($pagelist as $p)
{
if(substr($p, -1) == '!')
{
$p = substr($p, 0, -1);
if(substr($check_url, strlen($p)*-1) == $p)
{
// $show_menu[$pkey] = TRUE;
$show_menu[$pkey] = $row['menu_name'];
}
}
else
{
if(strpos($check_url,$p) !== FALSE)
{
// $show_menu[$pkey] = TRUE;
$show_menu[$pkey] = $row['menu_name'];
}
}
}
}
elseif($listtype == '2') //hide menu
{
// $show_menu[$pkey] = TRUE;
$show_menu[$pkey] = $row['menu_name'];
foreach($pagelist as $p) {
if(substr($p, -1) == '!')
{
$p = substr($p, 0, -1);
if(substr($check_url, strlen($p)*-1) == $p)
{
// $show_menu[$pkey] = FALSE;
unset($show_menu[$pkey]);
}
}
else
{
if(strpos($check_url, $p) !== FALSE)
{
// $show_menu[$pkey] = FALSE;
unset($show_menu[$pkey]);
}
}
}
}
}
}
e107::getRender()->eMenuTotal = count($show_menu);
foreach($show_menu as $mpath=>$mname)
{
// $mname = $row['menu_name'];
if($error_handler->debug == true)
{
echo "\n<!-- Menu Start: ".$mname." -->\n";
}
$sql->db_Mark_Time($mname);
if(is_numeric($mpath))
{
$sql -> db_Select("page", "*", "page_id='".$mpath."' ");
$page = $sql -> db_Fetch();
$caption = $e107->tp->toHTML($page['page_title'], TRUE, 'parse_sc, constants');
$text = $e107->tp->toHTML($page['page_text'], TRUE, 'parse_sc, constants');
e107::getRender()->tablerender($caption, $text);
}
else
{
if (is_readable(e_PLUGIN.$mpath."/languages/".e_LANGUAGE.".php"))
{
include_once(e_PLUGIN.$mpath."/languages/".e_LANGUAGE.".php");
}
elseif (is_readable(e_PLUGIN.$mpath."/languages/".e_LANGUAGE."/".e_LANGUAGE.".php"))
{
include_once(e_PLUGIN.$mpath."/languages/".e_LANGUAGE."/".e_LANGUAGE.".php");
}
elseif (is_readable(e_PLUGIN.$mpath."/languages/English.php"))
{
include_once(e_PLUGIN.$mpath."/languages/English.php");
}
elseif (is_readable(e_PLUGIN.$mpath."/languages/English/English.php"))
{
include_once(e_PLUGIN.$mpath."/languages/English/English.php");
}
if(file_exists(e_PLUGIN.$mpath."/".$mname.".php"))
{
include_once(e_PLUGIN.$mpath."/".$mname.".php");
}
}
$sql->db_Mark_Time("(After ".$mname.")");
if ($error_handler->debug == true)
{
echo "\n<!-- Menu End: ".$mname." -->\n";
}
unset($caption,$text); // clear variables for proceeding menus.
}
e107::getRender()->eMenuCount = 0;
e107::getRender()->eMenuArea = null;
$this->renderMenu($row['menu_path'],$row['menu_name'],$row['menu_parms']);
}
e107 :: getRender()->eMenuCount = 0;
e107 :: getRender()->eMenuArea = null;
if ($buffer_output)
{
$ret = ob_get_contents();
@@ -227,4 +181,60 @@ class e_menu
return $ret;
}
}
}
public function renderMenu($mpath,$mname,$parm = '')
{
global $sql; // required at the moment.
global $ns,$tp,$sc_style;
$e107 = e107 :: getInstance();
if ($error_handler->debug == true)
{
echo "\n<!-- Menu Start: ".$mname." -->\n";
}
e107 :: getDB()->db_Mark_Time($mname);
if (is_numeric($mpath))
{
$sql->db_Select("page","*","page_id='".$mpath."' ");
$page = $sql->db_Fetch();
$caption = $e107->tp->toHTML($page['page_title'],true,'parse_sc, constants');
$text = $e107->tp->toHTML($page['page_text'],true,'parse_sc, constants');
e107 :: getRender()->tablerender($caption,$text);
}
else
{
if (is_readable(e_PLUGIN.$mpath."/languages/".e_LANGUAGE.".php"))
{
include_once (e_PLUGIN.$mpath."/languages/".e_LANGUAGE.".php");
}
elseif (is_readable(e_PLUGIN.$mpath."/languages/".e_LANGUAGE."/".e_LANGUAGE.".php"))
{
include_once (e_PLUGIN.$mpath."/languages/".e_LANGUAGE."/".e_LANGUAGE.".php");
}
elseif (is_readable(e_PLUGIN.$mpath."/languages/English.php"))
{
include_once (e_PLUGIN.$mpath."/languages/English.php");
}
elseif (is_readable(e_PLUGIN.$mpath."/languages/English/English.php"))
{
include_once (e_PLUGIN.$mpath."/languages/English/English.php");
}
if (file_exists(e_PLUGIN.$mpath."/".$mname.".php"))
{
include_once (e_PLUGIN.$mpath."/".$mname.".php");
}
}
e107 :: getDB()->db_Mark_Time("(After ".$mname.")");
if ($error_handler->debug == true)
{
echo "\n<!-- Menu End: ".$mname." -->\n";
}
}
}

View File

@@ -10,9 +10,9 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_handlers/menumanager_class.php,v $
| $Revision: 1.1 $
| $Date: 2009-08-16 16:30:56 $
| $Author: secretr $
| $Revision: 1.2 $
| $Date: 2009-08-16 23:58:31 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/
if (!defined('e107_INIT')) { exit; }
@@ -213,7 +213,7 @@ class e_menuManager {
}
$file = urldecode($_GET['path']).".php";
$newurl = e_PLUGIN_ABS.$file;
$newurl = e_PLUGIN_ABS.$file."?id=".$_GET['id'];
/*
@@ -1053,7 +1053,7 @@ class e_menuManager {
if($conf)
{
$text .= '<a href="'.e_SELF.'?lay='.$this->curLayout.'&amp;mode=conf&amp;path='.urlencode($conf).'">
$text .= '<a href="'.e_SELF.'?lay='.$this->curLayout.'&amp;mode=conf&amp;path='.urlencode($conf).'&amp;id='.$menu_id.'">
'.ADMIN_CONFIGURE_ICON.'
</a>';
}

View File

@@ -11,12 +11,12 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_plugins/siteinfo_menu/sitebutton_menu.php,v $
| $Revision: 1.1 $
| $Date: 2007-03-23 22:42:40 $
| $Author: lisa_ $
| $Revision: 1.2 $
| $Date: 2009-08-16 23:58:31 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/
if (!defined('e107_INIT')) { exit; }
$ns->tablerender(SITEBUTTON_MENU_L1, "<div style='text-align:center'>\n<a href='".SITEURL."'><img src='".(strstr(SITEBUTTON, "http:") ? SITEBUTTON : e_IMAGE.SITEBUTTON)."' alt='".SITEBUTTON_MENU_L1."' style='border: 0px; width: 88px; height: 31px' /></a>\n</div>", 'sitebutton');
echo "parm=".$parm; //FIXME - just for testing only.
$ns->tablerender(SITEBUTTON_MENU_L1, "<div style='text-align:center'>\n<a href='".SITEURL."'><img src='".(strstr(SITEBUTTON, "http:") ? SITEBUTTON : e_IMAGE_ABS.SITEBUTTON)."' alt='".SITEBUTTON_MENU_L1."' style='border: 0px; width: 88px; height: 31px' /></a>\n</div>", 'sitebutton');
?>

View File

@@ -1,57 +1,65 @@
<?php
// Dummy Theme Configuration File.
function _blank_process()
class theme__blank
{
global $theme_pref;
$theme_pref['example'] = $_POST['_blank_example'];
$theme_pref['example2'] = $_POST['_blank_example2'];
save_prefs('theme');
}
var $themePref;
function process()
{
$theme_pref = array();
$pref = e107::getConfig();
$theme_pref['example'] = $_POST['_blank_example'];
$theme_pref['example2'] = $_POST['_blank_example2'];
// print_a($theme_pref);
$pref->add('sitetheme_pref', $theme_pref);
print_a($pref->get('sitetheme_pref'));
var_dump($pref->add('sitetheme_pref', $theme_pref)->save(FALSE));
// save_prefs($pref['sitetheme_pref']);
}
function config()
{
$var[0]['caption'] = "Sample configuration field";
$var[0]['html'] = "<input type='text' name='_blank_example' value='".e107::getThemePref('example')."' />";
$var[1]['caption'] = "Another Example";
$var[1]['html'] = "<input type='text' name='_blank_example2' value='".e107::getThemePref('example2')."' />";
var_dump(e107::getThemePref());
return $var;
}
function help()
{
return "
<div class='block-text' style='text-align:left;margin-left:auto;margin-right:auto;width:80%'>
function _blank_config()
{
global $theme_pref;
$var[0]['caption'] = "Sample configuration field";
$var[0]['html'] = "<input type='text' name='_blank_example' value='".$theme_pref['_blank_example']."' />";
$var[1]['caption'] = "Another Example";
$var[1]['html'] = "<input type='text' name='_blank_example2' value='".$theme_pref['_blank_example2']."' />";
return $var;
}
function _blank_help()
{
return "
<div class='block-text' style='text-align:left;margin-left:auto;margin-right:auto;width:80%'>
<a href='http://e107.org'>All the HTML that you want</a>.<br /><br />
<a href='http://e107.org'>All the HTML that you want</a>.<br /><br />
Mauris sit amet arcu arcu. Curabitur ultrices, felis ac sagittis elementum, justo dolor posuere eros, eu sollicitudin eros mi nec leo. Quisque sapien justo, ultricies at sollicitudin non; rhoncus vel nisi. Fusce egestas orci a diam vestibulum ut gravida ipsum tristique. Nullam et turpis nibh; eu dapibus ligula. Fusce ornare massa ac ante tincidunt euismod varius augue volutpat? Suspendisse potenti. Morbi eget velit in nulla tristique ultricies suscipit consequat ligula. Integer quis arcu vel sem scelerisque gravida vitae vel tortor! Suspendisse tincidunt scelerisque nibh, quis consectetur mauris varius sit amet! Pellentesque et urna vel est rutrum viverra?
Mauris sit amet arcu arcu. Curabitur ultrices, felis ac sagittis elementum, justo dolor posuere eros, eu sollicitudin eros mi nec leo. Quisque sapien justo, ultricies at sollicitudin non; rhoncus vel nisi. Fusce egestas orci a diam vestibulum ut gravida ipsum tristique. Nullam et turpis nibh; eu dapibus ligula. Fusce ornare massa ac ante tincidunt euismod varius augue volutpat? Suspendisse potenti. Morbi eget velit in nulla tristique ultricies suscipit consequat ligula. Integer quis arcu vel sem scelerisque gravida vitae vel tortor! Suspendisse tincidunt scelerisque nibh, quis consectetur mauris varius sit amet! Pellentesque et urna vel est rutrum viverra?
<br /><br />
<ul>
<li>Curabitur ultrices</li>
<li>Ollicitudin eros</li>
<li>Felis ac sagittis</li>
<li>Quisque sapien</li>
</ul>
<br /><br />
<ul>
<li>Curabitur ultrices</li>
<li>Ollicitudin eros</li>
<li>Felis ac sagittis</li>
<li>Quisque sapien</li>
</ul>
</div>
</div>
";
";
}
}

View File

@@ -1,31 +1,32 @@
<?php
// Dummy Theme Configuration File.
function e107v4a_process()
class theme_e107v4a
{
global $theme_pref;
$theme_pref['example'] = $_POST['e1074a_example'];
$theme_pref['example2'] = $_POST['e1074a_example2'];
save_prefs('theme');
return "Custom Settings Saved Successfully";
function process()
{
global $theme_pref;
$theme_pref['example'] = $_POST['e1074a_example'];
$theme_pref['example2'] = $_POST['e1074a_example2'];
save_prefs('theme');
return "Custom Settings Saved Successfully";
}
function config()
{
global $theme_pref;
$var[0]['caption'] = "Sample configuration field";
$var[0]['html'] = "<input type='text' name='e1074a_example' value='".$theme_pref['example']."' />";
$var[1]['caption'] = "Another Example";
$var[1]['html'] = "<input type='text' name='e1074a_example' value='".$theme_pref['example2']."' />";
return $var;
}
}
function e107v4a_config()
{
global $theme_pref;
$var[0]['caption'] = "Sample configuration field";
$var[0]['html'] = "<input type='text' name='e1074a_example' value='".$theme_pref['example']."' />";
$var[1]['caption'] = "Another Example";
$var[1]['html'] = "<input type='text' name='e1074a_example' value='".$theme_pref['example2']."' />";
return $var;
}
?>

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_themes/e107v4a/theme.php,v $
| $Revision: 1.5 $
| $Date: 2009-08-14 22:31:09 $
| $Revision: 1.6 $
| $Date: 2009-08-16 23:58:33 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/
@@ -74,6 +74,7 @@ $HEADER['3_column'] =
$FOOTER['3_column'] =
"</td><td style='width:20%; vertical-align:top'>
{PLUGIN=user_menu/usertheme_menu}
{SETSTYLE=rightmenu}
{MENU=2}
</td></tr>
@@ -254,6 +255,7 @@ define(LINKALIGN, "left");
function tablestyle($caption, $text,$id, $dataArray)
{
// global $style; // Not needed - see $dataArray;
// print_a($dataArray);
echo "