From: edward Date: Wed, 30 Mar 2016 10:26:42 +0000 (+0800) Subject: RooTrait.php X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=commitdiff_plain;h=5baba67f904e7decb626448fa0a59e79ea5343f2 RooTrait.php --- diff --git a/RooTrait.php b/RooTrait.php index 26f0fb94..e5814090 100644 --- a/RooTrait.php +++ b/RooTrait.php @@ -151,7 +151,85 @@ trait Pman_Core_RooTrait { $this->transObj->query('ROLLBACK'); } - return parent::jerr($str,$errors,$content_type); + return $this->jerror('ERROR', $str,$errors,$content_type); + } + function jerror($type, $str, $errors=array(), $content_type = false) // standard error reporting.. + { + if ($type !== false) { + $this->addEvent($type, false, $str); + } + + $cli = HTML_FlexyFramework::get()->cli; + if ($cli) { + echo "ERROR: " .$str . "\n"; + exit; + } + + + if ($content_type == 'text/plain') { + header('Content-Disposition: attachment; filename="error.txt"'); + header('Content-type: '. $content_type); + echo "ERROR: " .$str . "\n"; + exit; + } + + require_once 'Services/JSON.php'; + $json = new Services_JSON(); + + // log all errors!!! + + $retHTML = isset($_SERVER['CONTENT_TYPE']) && + preg_match('#multipart/form-data#i', $_SERVER['CONTENT_TYPE']); + + if ($retHTML){ + if (isset($_REQUEST['returnHTML']) && $_REQUEST['returnHTML'] == 'NO') { + $retHTML = false; + } + } else { + $retHTML = isset($_REQUEST['returnHTML']) && $_REQUEST['returnHTML'] !='NO'; + } + + + if ($retHTML) { + header('Content-type: text/html'); + echo ""; + echo $json->encodeUnsafe(array( + 'success'=> false, + 'errorMsg' => $str, + 'message' => $str, // compate with exeption / loadexception. + + 'errors' => $errors ? $errors : true, // used by forms to flag errors. + 'authFailure' => !empty($errors['authFailure']), + )); + echo ""; + exit; + } + + if (isset($_REQUEST['_debug'])) { + echo '
'.htmlspecialchars(print_r(array(
+                'success'=> false, 
+                'data'=> array(), 
+                'errorMsg' => $str,
+                'message' => $str, // compate with exeption / loadexception.
+                'errors' => $errors ? $errors : true, // used by forms to flag errors.
+                'authFailure' => !empty($errors['authFailure']),
+            ),true));
+            exit;
+                
+        }
+        
+        echo $json->encode(array(
+            'success'=> false, 
+            'data'=> array(), 
+            'errorMsg' => $str,
+            'message' => $str, // compate with exeption / loadexception.
+            'errors' => $errors ? $errors : true, // used by forms to flag errors.
+            'authFailure' => !empty($errors['authFailure']),
+        ));
+        
+        
+        exit;
+        
     }
 }