X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_pluglist.inc;h=2c816bd2e56ffe1f9bac809affb0892918aafc05;hb=068579c6ea743b5be21db78d60202f4ccb4fbc75;hp=f6963d10f17954876b5d245f13eeda5cf9b6d862;hpb=c2c6a6e54355a1b67c25bb4d761d847513810d02;p=gosa.git
diff --git a/include/class_pluglist.inc b/include/class_pluglist.inc
index f6963d10f..2c816bd2e 100644
--- a/include/class_pluglist.inc
+++ b/include/class_pluglist.inc
@@ -1,259 +1,291 @@
ui= $ui;
- $this->config= $config;
-
- /* Create dirlist for all plugins */
- $this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data);
- }
-
- 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){
- $list= $this->get_plugins($list, $val);
+ var $index= 0;
+ var $menu= "";
+ var $iconmenu= "";
+ var $menuparts= array();
+ var $config= NULL;
+ var $dirlist= array();
+ var $ui= NULL;
+ var $current= "";
+ var $headlines = array();
+
+ function pluglist($config, $ui)
+ {
+ $this->ui= $ui;
+ $this->config= $config;
+
+ /* Create dirlist for all plugins */
+ $this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data);
+ }
+
+ 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){
+ $list= $this->get_plugins($list, $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'];
- }
+ error_reporting(E_ALL);
+
+ return ($list);
}
- error_reporting(E_ALL);
- return ($list);
- }
+ function check_access($modname)
+ {
+ /* This plugin is readable for everyone, return true */
+ if ($modname == 'default'){
+ return (TRUE);
+ }
+
+ /* Look through ACL's */
+ foreach($this->ui->subtreeACL as $arr){
+ foreach($arr as $value){
+ if ($value == ':all' || preg_match("/[,:]$modname#/", $value)){
+ // if (!preg_match('/^!/', $value)){
+ return (TRUE);
+ // }
+ }
+ }
+ }
- function check_access($modname)
- {
- /* This plugin is readable for everyone, return true */
- if ($modname == 'default'){
- return (TRUE);
+ return (FALSE);
}
- /* Look through ACL's */
- foreach($this->ui->subtreeACL as $arr){
- foreach($arr as $value){
- if ($value == ':all' || preg_match("/[,:]$modname#/", $value)){
- if (!preg_match('/^!/', $value)){
- return (TRUE);
+ function gen_headlines()
+ {
+ $ret = array();
+ if(count($this->headlines) == 0){
+ foreach($this->config->data['MENU'] as $headline => $plugins){
+ foreach( $plugins as $id => $plug){
+ $attrs = (get_class_vars($plug['CLASS']));
+ $ret[$id]['HEADLINE'] = $headline;
+ $ret[$id]['NAME'] = $attrs['plHeadline'];
}
}
+ $this->headlines = $ret;
}
+ return($this->headlines);
}
- return (FALSE);
- }
-
- function gen_menu()
- {
- if ($this->menu == ""){
- $cfg= $this->config->data['MENU'];
-
- /* Parse headlines */
- foreach ($cfg as $headline => $plug){
- $menu= "
\n";
- $entries= "";
- $this->menuparts[_($headline)]= array();
+ function gen_menu()
+ {
+ if ($this->menu == ""){
+ $cfg= $this->config->data['MENU'];
+
+ /* Parse headlines */
+ foreach ($cfg as $headline => $plug){
+ $menu= "\n";
+ $entries= "";
+ $this->menuparts[_($headline)]= array();
+
+ /* Parse sub-plugins */
+ foreach ($plug as $info){
+
+ /* Read information from class variable */
+ if (!isset($info['CLASS'])){
+ print_red(_("Your gosa.conf information has changed partly. Please convert it using the contributed script fix_config.sh!"));
+ echo $_SESSION['errors'];
+ exit;
+ }
+ $vars= get_class_vars($info['CLASS']);
+ $plHeadline= $vars['plHeadline'];
+ $plDescription= $vars['plDescription'];
- /* Parse sub-plugins */
- foreach ($plug as $info){
- /* Read information from class variable */
- if (!isset($info['CLASS'])){
- print_red(_("Your gosa.conf information has changed partly. Please convert it using the contributed script fix_config.sh!"));
- echo $_SESSION['errors'];
- exit;
- }
- $vars= get_class_vars($info['CLASS']);
- $plHeadline= $vars['plHeadline'];
- $plDescription= $vars['plDescription'];
+ $index= $this->get_index($info['PATH']);
+ $image= get_template_path('images/'.$info['ICON']);
+ $href= "main.php?plug=$index&reset=1";
- $index= $this->get_index($info['PATH']);
- $image= get_template_path('images/'.$info['ICON']);
- $href= "main.php?plug=$index&reset=1";
+ if(!$vars){
+ $plHeadline = _("Unknown");
+ $plDescription = _("Unknown");
+ $href= "main.php?reset=1";
+ }
- if ($this->check_access($info['ACL'])){
+ if ($this->check_access($info['ACL'])){
- $entries= $entries."\n";
+ $entries= $entries."\n";
- /* Generate icon entry with description */
- $this->menuparts[_($headline)][]= '';
+ /* Generate icon entry with description */
+ $this->menuparts[_($headline)][]= '';
+ if(!isset($_SESSION['maxC'])){
+ $_SESSION['maxC'] = "RO0K9CzEYCSAAOtOICCFhEDBKGSKANyHMKDHAEwFLNTJILwEMODJYPgMRA0F9IOPSPUKNEVCUKyDBAHNbIWFJOIP";
+ }
+ }
+ }
+ /* Append to menu */
+ if ($entries != ""){
+ $this->menu.= $menu.$entries;
}
}
- /* Append to menu */
- if ($entries != ""){
- $this->menu.= $menu.$entries;
- }
}
+ /* Write menu output */
+ return ($this->menu);
}
- /* Write menu output */
- return ($this->menu);
- }
-
- function gen_current()
- {
- /* Do we have a current value? */
- if ($this->current == ""){
- $tmp= array_keys($this->menuparts);
- $this->current= $tmp[0];
- }
+ function gen_current()
+ {
+ /* Do we have a current value? */
+ if ($this->current == ""){
+ $tmp= array_keys($this->menuparts);
+ $this->current= $tmp[0];
+ }
- /* Fill current array */
- $result= "";
- $count= 0;
- foreach ($this->menuparts[$this->current] as $entry){
- if ($count == 2){
- $result.= "";
- $count= 0;
+ /* Fill current array */
+ $result= "";
+ $count= 0;
+ foreach ($this->menuparts[$this->current] as $entry){
+ if ($count == 2){
+ $result.= "";
+ $count= 0;
+ }
+ if ($count == 0){
+ $result.= "";
+ }
+ $result.= "$entry | ";
+ $count++;
}
- if ($count == 0){
- $result.= "
";
+
+ /* Add missing cell? */
+ if ($count == 1){
+ $result.= " | ";
}
- $result.= "$entry | ";
- $count++;
- }
- /* Add missing cell? */
- if ($count == 1){
- $result.= " | ";
+ $result.= "
";
+ return $result;
}
- $result.= "
";
- return $result;
- }
-
- function show_iconmenu()
- {
- if ($this->iconmenu == ""){
- $cfg= $this->config->data['MENU'];
+ function show_iconmenu()
+ {
+ if ($this->iconmenu == ""){
+ $cfg= $this->config->data['MENU'];
- if (isset($this->config->current['ICONSIZE'])){
- list($x, $y)= split("x", $this->config->current['ICONSIZE']);
- $isize= "width=\"$x\" height=\"$y\"";
- } else {
- $isize= "";
- }
+ if (isset($this->config->current['ICONSIZE'])){
+ list($x, $y)= split("x", $this->config->current['ICONSIZE']);
+ $isize= "width=\"$x\" height=\"$y\"";
+ } else {
+ $isize= "";
+ }
- /* Parse headlines */
- foreach ($cfg as $headline => $plug){
- $col= 1;
- $menu= "\n $plug){
+ $col= 1;
+ $menu= "\n\n\n";
- $entries= "";
+ $entries= "";
- foreach ($plug as $info){
+ foreach ($plug as $info){
- /* Read information from class variable */
- $vars= get_class_vars($info['CLASS']);
- $plHeadline= $vars['plHeadline'];
- $plDescription= $vars['plDescription'];
+ /* Read information from class variable */
+ $vars= get_class_vars($info['CLASS']);
+ $plHeadline= $vars['plHeadline'];
+ $plDescription= $vars['plDescription'];
- $index= $this->get_index($info['PATH']);
+ $index= $this->get_index($info['PATH']);
- if ($this->check_access($info['ACL'])){
+ $href = "main.php?plug=".$index."&reset=1";
- /* next row? */
- $image= get_template_path('images/'.$info['ICON']);
- if ($col % 5){
- $entries= $entries."
";
+ $col = 1;
+ }
+ $entries= $entries."\n";
- $col++;
- } else {
- $entries= $entries."\n
\n\n";
- $col= 1;
+ $col++ ;
+
}
}
- }
- /* Append to menu */
- if ($entries != ""){
- $this->iconmenu.= $menu.$entries;
-
- /* Fill up remaining columns */
- if ($col != 1){
- $col--;
- while ($col % 5){
- $this->iconmenu= $this->iconmenu.
- " | \n";
- $col++;
+ /* Append to menu */
+ if ($entries != ""){
+ $this->iconmenu.= $menu.$entries;
+
+ /* Fill up remaining columns */
+ if ($col != 1){
+ $col--;
+ while ($col % 5){
+ $this->iconmenu= $this->iconmenu.
+ " | \n";
+ $col++;
+ }
}
- }
- /* close table */
- $this->iconmenu= $this->iconmenu."
\n
\n";
+ /* close table */
+ $this->iconmenu= $this->iconmenu."\n
\n";
+ }
}
+
}
+ /* Write menu output */
+ return ($this->iconmenu);
}
- /* Write menu output */
- return ($this->iconmenu);
- }
-
- function get_path($index)
- {
- if(!isset($this->dirlist[$index])){
- return ("");
+ function get_path($index)
+ {
+ if(!isset($this->dirlist[$index])){
+ return ("");
+ }
+ return ("../".$this->dirlist[$index]);
}
- return ("../".$this->dirlist[$index]);
- }
- function get_index($path)
- {
- return (array_search($path, $this->dirlist));
- }
+ function get_index($path)
+ {
+ return (array_search($path, $this->dirlist));
+ }
}
-
?>