Exemplo n.º 1
0
 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;
 }