private function storeError($sSeverity, $sMessage, $sFile, $nLine, $aBacktrace = NULL, $nSkip = 0) { // get the controller instance so we can get session data if (class_exists('EP_Controller')) { $ctrl = EP_Controller::getInstance(); } else { $ctrl = get_instance(); } //log_message('error', '***Error occured: ' . print_r($sMessage, TRUE) . ' in file ' . $sFile . ':' . $nLine); // collect information on current request $aErrData = array(); $aErrData['msg'] = $sMessage; $aErrData['backtrace'] = $this->getErrorHtml($sMessage, $aBacktrace); // 'old style' stuff from Jared...ew // $aErrData['backtrace'] = $this->formatBacktrace($aBacktrace, $nSkip); // 'new style' stores serialized version of backtrace array $aErrData['account_id'] = NULL; $aErrData['user_id'] = NULL; $aErrData['user_login'] = NULL; if (is_a($ctrl, 'EP_Controller')) { $aErrData['account_id'] = $ctrl->nAccount; $aErrData['user_id'] = $ctrl->nUserId; $aErrData['user_login'] = $ctrl->sUserName; } $aErrData['environment'] = ENVIRONMENT; $aErrData['http_host'] = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : null; $aErrData['uri'] = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : null; $aErrData['user_agent'] = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null; $aErrData['remote_addr'] = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null; $aErrData['get_array'] = serialize(isset($_GET) ? $_GET : null); $aErrData['post_array'] = serialize(isset($_POST) ? $_POST : null); $aErrData['session_array'] = serialize(isset($_SESSION) ? $_SESSION : null); $aErrData['session_key'] = session_id(); $aErrData['created_at'] = time(); // $aErrData['ci'] = 1; /* select id,msg,environment,date_format(from_unixtime(created_at), '%m/%d/%y') as date from error_log order by id desc limit 1; delete from error_log where ci=1; */ if ('The page you requested was not found.' !== $sMessage) { $db = $ctrl->db; // TODO: implement in a model $db->insert('ep_master.error_log', $aErrData); } $this->aErrInfo = $aErrData; }