- return $this->jerror('ERROR', $str,$errors,$content_type);
- }
- /**
- * Recomended JSON error indicator
- *
- *
- * @param string $type - normally 'ERROR' - you can use this to track error types.
- * @param string $message - error message displayed to user.
- * @param array $errors - optioanl data to pass to front end.
- * @param string $content_type - use text/plain to return plan text - ?? not sure why...
- *
- */
-
- function jerror($type, $str, $errors=array(), $content_type = false) // standard error reporting..
- {
- if ($type !== false) {
-
- if(!empty($errors)){
- DB_DataObject::factory('Events')->writeEventLogExtra($errors);
- }
-
- $this->addEvent($type, false, $str);
-
- }
-
- $cli = HTML_FlexyFramework::get()->cli;
- if ($cli) {
- echo "ERROR: " .$str . "\n";
- exit(1); // cli --- exit code to stop shell execution if necessary.
- }
-
-
- 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 "<HTML><HEAD></HEAD><BODY>";
- 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 "</BODY></HTML>";
- exit;
- }