Code

Updated error handling
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 9 Sep 2008 13:24:57 +0000 (13:24 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 9 Sep 2008 13:24:57 +0000 (13:24 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@12378 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/include/class_gosaSupportDaemon.inc

index 979a545503407dc7325043901b852e83fc26071a..189dbdfac3a9addfe14b00e5c176f18a044f0284 100644 (file)
@@ -1164,18 +1164,33 @@ class gosaSupportDaemon
         $entries = $this->xml_to_array($str);
         if(isset($entries['XML']) && is_array($entries['XML'])){
           $ret = $entries;
-          if(isset($entries['XML']['ERROR_STRING'])) {
-            $this->set_error($entries['XML']['ERROR_STRING']);
-            new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", array($data=>$data),"FAILED ".$this->get_error());
-          }elseif(isset($entries['XML']['ERROR'])){
-            $this->set_error($entries['XML']['ERROR']);
-            new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", array($data=>$data),"FAILED ".$this->get_error());
+          if($this->use_alternative_xml_parse_method) {
+            if(isset($entries['XML'][0]['ERROR_STRING'][0]) && is_array($entries['XML'][0]['ERROR_STRING'])) {
+              $this->set_error($entries['XML'][0]['ERROR_STRING'][0]['VALUE']);
+              new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", 
+                  array($data=>$data),"FAILED ".$this->get_error());
+            }elseif(isset($entries['XML'][0]['ERROR'][0]['VALUE']) && is_array($entries['XML'][0]['ERROR'])){
+              $this->set_error($entries['XML'][0]['ERROR'][0]['VALUE']);
+              new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", 
+                  array($data=>$data),"FAILED ".$this->get_error());
+            }
           }else{
-            new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", array($data=>$data),"SUCCESS");
+            if(isset($entries['XML']['ERROR_STRING'])) {
+              $this->set_error($entries['XML']['ERROR_STRING']);
+              new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", 
+                  array($data=>$data),"FAILED ".$this->get_error());
+            }elseif(isset($entries['XML']['ERROR'])){
+              $this->set_error($entries['XML']['ERROR']);
+              new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", 
+                  array($data=>$data),"FAILED ".$this->get_error());
+            }
           }
+          new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", 
+              array($data=>$data),"SUCCESS");
         }
       }else{
-        new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", array($data=>$data),"Fire & forget, not result.! ".$this->get_error());
+        new log("debug","DaemonEvent (IDS) ", "gosaSupportDaemon::_send()", 
+            array($data=>$data),"Fire & forget, not result.! ".$this->get_error());
       }
     }
     return($ret);