Code

Updated gotomasses
[gosa.git] / gosa-plugins / goto / addons / goto / events / class_DaemonEvent.inc
index ae4f7e3105402c6aec7aad6a62a18a54ce9db127..e7fc70443e863d9301c933d3109deb4897c12fe0 100644 (file)
@@ -23,9 +23,9 @@
 define("SCHEDULED_EVENT",1);
 define("TRIGGERED_EVENT",2);
 
-define("HIDDEN_EVENT",0);
-define("SYSTEM_EVENT",1);
-define("USER_EVENT"  ,2);
+define("HIDDEN_EVENT",1);
+define("SYSTEM_EVENT",2);
+define("USER_EVENT"  ,4);
 
 
 /*! \brief    This is the event base class 
@@ -347,9 +347,13 @@ class DaemonEvent
   public function get_event_info()
   {
     $data =array();
-    $data['CLASS_NAME']         = get_class($this);
-    foreach(array("s_Menu_Name","s_Event_Name","s_Queued_Action","s_Schedule_Action","s_Trigger_Action") as $attr){
-      $data[$attr]  = $this->$attr;
+    $data['CLASS_NAME']   = get_class($this);
+    $data['s_Menu_Name']  = $this->s_Menu_Name;
+    $data['s_Event_Name'] = $this->s_Event_Name;
+    foreach(array("s_Queued_Action","s_Schedule_Action","s_Trigger_Action") as $attr){
+      if(!empty($this->$attr)){
+        $data[$attr]  = $this->$attr;
+      }
     }
     $data['MenuImage']    = "<img src='".$this->s_Menu_Image."' alt='".$this->s_Menu_Name."' border='0' class='center'>";
     $data['ListImage']    = "<img src='".$this->s_List_Image."' title='".$this->s_Event_Name."' 
@@ -374,22 +378,28 @@ class DaemonEvent
   {
     global $class_mapping,$config;
     $list = array();
-    $list['BY_CLASS'] = array();
-    $list['BY_TRIGGERED_ACTION'] = array();
-    $list['BY_SCHEDULED_ACTION'] = array();
-    $list['BY_QUEUED_ACTION'] = array();
+    $list['BY_CLASS']  = array();
+    $list['TRIGGERED'] = array();
+    $list['SCHEDULED'] = array();
+    $list['QUEUED']    = array();
 
     foreach($class_mapping as $name => $path){
       if(preg_match("/^DaemonEvent_/",$name)){
         $tmp  = new $name($config);
-
         if($tmp->visible_for & $type){
           $evt  = $tmp->get_event_info();
-
           $list['BY_CLASS'][$name]                      = $evt;
-          $list['BY_TRIGGERED_ACTION'][$evt['s_Trigger_Action']]  = $evt;
-          $list['BY_SCHEDULED_ACTION'][$evt['s_Schedule_Action']] = $evt;
-          $list['BY_QUEUED_ACTION']   [$evt['s_Queued_Action']]   = $evt;
+          if(isset($evt['s_Trigger_Action'])){
+            $list['TRIGGERED'][$name] = $evt;
+            $list['QUEUED'][$evt['s_Trigger_Action']] = $name;
+          }
+          if(isset($evt['s_Schedule_Action'])){
+            $list['SCHEDULED'][$name] = $evt;
+            $list['QUEUED'][$evt['s_Schedule_Action']] = $name;
+          }
+          if(isset($evt['s_Queued_Action'])){
+            $list['QUEUED'][$evt['s_Queued_Action']] = $name;
+          }
         }
       }
     }