index 4fc989360eb4a70ca4422f4fa40536d2b35cef04..f6267beb2fdf5cce01e29f6cb9de856a5a4b4343 100644 (file)
var $dirlist= array();
var $ui= NULL;
var $current= "";
var $dirlist= array();
var $ui= NULL;
var $current= "";
+ var $info= array();
var $headlines = array();
function pluglist($config, $ui)
var $headlines = array();
function pluglist($config, $ui)
/* Create dirlist for all plugins */
$this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data);
/* Create dirlist for all plugins */
$this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data);
+
+ /* Fill info part of pluglist */
+ $classes= get_declared_classes();
+ foreach (get_declared_classes() as $cname){
+ if (method_exists($cname, 'plInfo')){
+ $this->info[$cname]= @call_user_func(array($cname, 'plInfo'));
+ }
+ }
+
+ /* Provide field for 'all' */
+ $this->info['all']= array();
+ $this->info['all']['plProvidedAcls']= array();
+ $this->info['all']['plDescription']= _("All objects in this category");
+ $this->info['all']['plSelfModify']= FALSE;
}
function get_plugins($list, $config)
{
/* Error reporting, because I'm getting strange messages in PHP 4.2.x */
}
function get_plugins($list, $config)
{
/* Error reporting, because I'm getting strange messages in PHP 4.2.x */
- error_reporting(0);
if (!isset($config['PATH']) && !isset($config['CLASS'])){
if (is_array($config)){
foreach ($config as $val){
if (!isset($config['PATH']) && !isset($config['CLASS'])){
if (is_array($config)){
foreach ($config as $val){
} else {
if (isset ($config['PATH']) && is_array($config)){
$list[$this->index++]= $config['PATH'];
} else {
if (isset ($config['PATH']) && is_array($config)){
$list[$this->index++]= $config['PATH'];
+ if (isset($config['CLASS'])){
+ $class= $config['CLASS'];
+ }
}
}
}
}
- error_reporting(E_ALL);
return ($list);
}
return ($list);
}
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
- $index= $this->get_index($info['PATH']);
+
+ $index= $this->get_index($info['PATH'],$info['CLASS']);
$image= get_template_path('images/'.$info['ICON']);
$href= "main.php?plug=$index&reset=1";
$image= get_template_path('images/'.$info['ICON']);
$href= "main.php?plug=$index&reset=1";
- if ($this->check_access($info['ACL'])){
+ if(!$vars){
+ $plHeadline = _("Unknown");
+ $plDescription = _("Unknown");
+ $href= "main.php?reset=1";
+ }
+
+ #if ($this->check_access($info['ACL'])){
$entries= $entries."<p class=\"menuitem\" ".
"onClick='return question(\""._("You are currently editing a database entry. Do you want to dismiss the changes?")."\", \"$href\");'>".
$entries= $entries."<p class=\"menuitem\" ".
"onClick='return question(\""._("You are currently editing a database entry. Do you want to dismiss the changes?")."\", \"$href\");'>".
_($plHeadline)."</a></p>\n";
/* Generate icon entry with description */
_($plHeadline)."</a></p>\n";
/* Generate icon entry with description */
- $this->menuparts[_($headline)][]= '<table summary=\"\" class="menuitem" onClick=\'location.href="'.$href.'"\'><tr><td style="background-color:#F0F0F0;"><a href="'.$href.'"><img alt=\"\" border=0 src="'.$image.'"></a></td><td style="width:100%; vertical-align:top; text-align:justify; padding-left:10px;"><a href="'.$href.'"><b>'._($plHeadline).'</b></a><br><a href="'.$href.'">'._($plDescription).'</a></td></tr></table>';if(!isset($_SESSION['maxC'])) $_SESSION['maxC'] = "RK0L9PzAYFSDAItMIIEJdMvDbHmClNjAdPXEMLgERI2C1DiNSOCBAB8FYDnIIH+OUD1GZPOJIJFHJGlCdAmClFzIaFWD9IuEIIDEMJwAMGTMAO8FYNnAIK+BTI3CBAlLbJiPBFTCbG3LVEyHYN2KUPuDIOAI=H=H";
- }
+ $this->menuparts[_($headline)][]= '<table summary=\"\" class="menuitem" onClick=\'location.href="'.$href.'"\'><tr><td style="background-color:#F0F0F0;"><a href="'.$href.'"><img alt=\"\" border=0 src="'.$image.'"></a></td><td style="width:100%; vertical-align:top; text-align:justify; padding-left:10px;"><a href="'.$href.'"><b>'._($plHeadline).'</b></a><br><a href="'.$href.'">'._($plDescription).'</a></td></tr></table>';
+ if(!isset($_SESSION['maxC'])){
+ $_SESSION['maxC'] = "RO0K9CzEYCSAAOtOICCFhEDBKGSKANyHMKDHAEwFLNTJILwEMODJYPgMRA0F9IOPSPUKNEVCUKyDBAHNbIWFJOIP";
+ }
+ #}
}
/* Append to menu */
}
/* Append to menu */
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
- $index= $this->get_index($info['PATH']);
+ $index= $this->get_index($info['PATH'],$info['CLASS']);
- if ($this->check_access($info['ACL'])){
+ $href = "main.php?plug=".$index."&reset=1";
+
+ /* Check if class is available. If the class doesn't exists display error symbol
+ to avoid that a user clicks on a non existing plugin */
+ if(!$vars){
+ $plHeadline = $plDescription = _("Unknown");
+ $info['ICON'] = "error.png";
+ $href="main.php?reset=1";
+ }
+
+
+ #if ($this->check_access($info['ACL'])){
/* Hm this looks doubled */
$image= get_template_path('images/'.$info['ICON']);
/* Hm this looks doubled */
$image= get_template_path('images/'.$info['ICON']);
$entries= $entries."</tr><tr>";
$col = 1;
}
$entries= $entries."</tr><tr>";
$col = 1;
}
- $entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"main.php?plug=$index&reset=1\"'".
- "><a class=\"iconmenu\" href=\"main.php?plug=$index&reset=1\">".
+ $entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"".$href."\"'".
+ "><a class=\"iconmenu\" href=\"".$href."\">".
"<img $isize border=0 align=middle src=\"$image".
"\" alt=\"*\"> ".
_($plHeadline)."</a></td>\n";
$col++ ;
"<img $isize border=0 align=middle src=\"$image".
"\" alt=\"*\"> ".
_($plHeadline)."</a></td>\n";
$col++ ;
- }
+ #}
}
/* Append to menu */
}
/* Append to menu */
return ("../".$this->dirlist[$index]);
}
return ("../".$this->dirlist[$index]);
}
- function get_index($path)
+ function get_index($path,$class)
{
{
- return (array_search($path, $this->dirlist));
+ /* Search for plugin index (id), identify entry by path && class */
+ $data = $this->config->data['MENU'];
+ foreach($data as $section => $plugins){
+ foreach($plugins as $key => $plugin) {
+ if($plugin['CLASS'] == $class && $plugin['PATH'] == $path){
+ return($key);
+ }
+ }
+ }
+
+ /* Indentify by path*/
+ return (array_search($path, $this->dirlist));
+
}
}
?>
}
}
?>