index 9725b4b1486cbf06e5be7ae68b3eae9ea2f0e8aa..1b311a778dba2502f1957e87df306c7c3bbeb2a2 100644 (file)
$this->config= &$config;
/* Create dirlist for all plugins */
- $this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data);
+ $this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data['MENU']);
/* Fill info part of pluglist */
$classes= get_declared_classes();
function get_plugins($list, &$config)
{
+ global $class_mapping;
+
/* Error reporting, because I'm getting strange messages in PHP 4.2.x */
- if (!isset($config['PATH']) && !isset($config['CLASS'])){
+ if (!isset($config['CLASS'])){
if (is_array($config)){
foreach ($config as $val){
$list= $this->get_plugins($list, $val);
}
}
} else {
- if (isset ($config['PATH']) && is_array($config)){
- $list[$this->index++]= $config['PATH'];
- if (isset($config['CLASS'])){
- $class= $config['CLASS'];
- }
+ if (is_array($config) && isset($class_mapping[$config['CLASS']])){
+ $list[$this->index++]= dirname($class_mapping[$config['CLASS']]);
+ } else {
+ $list[$this->index++]= "";
}
}
return ($list);
}
+
function check_access($aclname)
{
$acls_to_check = array();
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
- $index= $this->get_index($info['PATH'],$info['CLASS']);
+ $index= $this->get_index($info['CLASS']);
$href= "main.php?plug=$index&reset=1";
if(!$vars){
function show_iconmenu()
{
+ global $class_mapping;
+
if ($this->iconmenu == ""){
$cfg= $this->config->data['MENU'];
$vars= get_class_vars($info['CLASS']);
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
+ if (isset($vars['plIcon'])){
+ $plIcon= $vars['plIcon'];
+ } else {
+ $plIcon= "plugin.png";
+ }
- $index= $this->get_index($info['PATH'],$info['CLASS']);
+ $index= $this->get_index($info['CLASS']);
$href = "main.php?plug=".$index."&reset=1";
if (isset($info['ICON'])){
$image= get_template_path('images/'.$info['ICON']);
} else {
- $image= get_template_path("plugins/".preg_replace("/^.*\//", "", $info['PATH'])."/images/plugin.png");
+ $image= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', $class_mapping[$info['CLASS']])."/images/$plIcon");
}
if ($col > 5){
$entries= $entries."</tr><tr>";
return ("../".$this->dirlist[$index]);
}
- function get_index($path,$class)
+ function get_index($class)
{
/* 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){
+ if($plugin['CLASS'] == $class){
return($key);
}
}
}
- /* Indentify by path*/
- return (array_search($path, $this->dirlist));
+ /* Nothing */
+ return (0);
}
}