Code

Added summary to list filter
[gosa.git] / gosa-plugins / goto / addons / goto / class_goto_import_file.inc
index 3eedfc0ff03277d8c9d812b76e6b724a6d41a3f3..7c328d788d6614b450c090fca57451076a5c8bac 100644 (file)
@@ -5,12 +5,13 @@ class goto_import_file extends plugin
 
   var $events     = array();
   var $csv_fields = array();
+  var $import_successful = FALSE; // Indicates that we have successfully imported everything.
 
   public function __construct($config,&$parent)
   {
     plugin::plugin($config,NULL);
     $this->parent = $parent;
-    $this->daemon_events  = DaemonEvent::get_event_types( SYSTEM_EVENT);
+    $this->daemon_events  = DaemonEvent::get_event_types( SYSTEM_EVENT | HIDDEN_EVENT);
 
     $this->csv_fields = array(
         "0"=>"TIMESTAMP","1" => "MAC",  "2" => "HEADER", "3" => "OGROUP",
@@ -23,7 +24,7 @@ class goto_import_file extends plugin
     
     /* Some file checks 
      */
-    $lines = split("\n",$str);
+    $lines = preg_split("/\n/",$str);
     if(empty($str) || !count($lines)){
       msg_dialog::display(_("Import"), msgPool::incorrectUpload(_("file is empty")),ERROR_DIALOG);
       return;
@@ -42,7 +43,7 @@ class goto_import_file extends plugin
 
       /* Load values from file 
        */
-      $fields = split(";",$line);
+      $fields = explode(";",$line);
       $event = array();
       foreach($this->csv_fields as $key => $val) {
         $event[$val] = "";
@@ -99,10 +100,18 @@ class goto_import_file extends plugin
             $fail ++;
             continue;
           }
+
+          /* Create event 
+           */
           $class= $this->daemon_events['QUEUED'][$event['HEADER']];
+          $o_data = $this->daemon_events['BY_CLASS'][$class];
           $object = new $class($this->config);
-          $object->set_type(TRIGGERED_EVENT);
           $object->add_targets(array($event['MAC']));
+          if($o_data['s_Schedule_Action'] == $event['HEADER']){
+            $object->set_type(SCHEDULED_EVENT);
+          }else{
+            $object->set_type(TRIGGERED_EVENT);
+          }
 
           /* Update values like fqdn a.s.o 
            */
@@ -120,6 +129,7 @@ class goto_import_file extends plugin
           }
         }
         msg_dialog::display(_("Import"),sprintf(_("Import complete: %s events successfully send, %s failed"),$success,$fail),INFO_DIALOG);
+        $this->import_successful = count($this->events) == 0;
       }
     }