public function postError($pn_num, $ps_message, $ps_context, $ps_source = '') { $o_error = new ApplicationError(); $o_error->setErrorOutput($this->error_output); $o_error->setError($pn_num, $ps_message, $ps_context, $ps_source); if (!$this->errors) { $this->errors = array(); } array_push($this->errors, $o_error); if (($app = AppController::getInstance()) && ($o_request = $app->getRequest()) && defined('__CA_ENABLE_DEBUG_OUTPUT__') && __CA_ENABLE_DEBUG_OUTPUT__) { $va_trace = debug_backtrace(); array_shift($va_trace); $vs_stacktrace = ''; while ($va_source = array_shift($va_trace)) { $vs_stacktrace .= " [{$va_source['file']}:{$va_source['line']}]"; } $o_notification = new NotificationManager($o_request); $o_notification->addNotification("[{$pn_num}] {$ps_message} ({$ps_context}" . ($ps_source ? "; {$ps_source}" : '') . $vs_stacktrace); } return true; }