Code

- Corrected debian bugnumbers
[gosa.git] / include / php_setup.inc
index 7e7b3d573aa34c11f28dd31aea30915ce1dbc27c..8260e9593c8f680621dc26a0e333be6c6b6c03b2 100644 (file)
@@ -22,6 +22,10 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
 {
   global $error_collector,$error_collector_mailto,$config;
 
+  if(function_exists("gosa_log")){
+    gosa_log($errno." ".$errstr." ".$errfile." ".$errline);
+  }
+
   /* Return if error reporting is set to zero */
   if (error_reporting() == 0){
     return;
@@ -67,6 +71,7 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
   if ($error_collector == ""){
 
     /* Mailto body header */ 
+    if(function_exists("prepare4mailbody")){
     $error_collector_mailto .=prepare4mailbody(
                                 "Oups. Seems like you've catched some kind of bug inside GOsa/PHP. You may want to help ".
                                 "us to improve the software stability. If so, please provide some more information below.".
@@ -88,6 +93,7 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
                                 "\nLDAP Module Version: ".get_module_setting('ldap','RCS Version').
                                 "\n\n".
                                 "*** PHP error information ***\n\n");
+      }
 
     if (isset($_SESSION['js']) && $_SESSION['js']==FALSE){
       $error_collector= "<div>";
@@ -95,8 +101,11 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
       $error_collector= "
         <table summary=\"\" width=\"100%\" style='background-color:#E0E0E0;border-bottom:1px solid black;z-index:150;'>
           <tr>
-            <td>
-              <img alt=\"\" align=\"middle\" src='".get_template_path('images/warning.png')."'>&nbsp;
+            <td>";
+      if (function_exists("get_template_path")){
+              $error_collector.= "<img alt=\"\" align=\"middle\" src='".get_template_path('images/warning.png')."'>&nbsp;";
+      }
+      $error_collector.= "
               <font style='font-size:14px;font-weight:bold'>".
                 _("Generating this page caused the PHP interpreter to raise some errors!")."
               </font>
@@ -213,6 +222,50 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
 }
 
 
+function prepare4mailbody($string)
+{
+  $string = html_entity_decode($string);
+
+  $from = array(
+                "/%/",
+                "/ /",
+                "/\n/",  
+                "/\r/",
+                "/!/",
+                "/#/",
+                "/\*/",
+                "/\//",
+                "/</",
+                "/>/",
+                "/\?/",
+                "/\&/",
+                "/\(/",
+                "/\)/",
+                "/\"/");
+  
+  $to = array(  
+                "%25",
+                "%20",
+                "%0A",
+                "%0D",
+                "%21",
+                "%23",
+                "%2A",
+                "%2F",
+                "%3C",
+                "%3E",
+                "%3F",
+                "%38",
+                "%28",
+                "%29",
+                "%22");
+
+  $string = preg_replace($from,$to,$string);
+
+  return($string);
+}
+
+
 function dummy_error_handler()
 {
 }