'Database connection error', ERROR_IMPROPERUSE => 'Invalid use of a method', ERROR_BADQUERY => 'Bad SQL query', ERROR_CONFIG => 'Configuration error', ERROR_RECURSION => 'Recursion limit reached on method'); public $error_code; public $error_description; /** * $error_description is for passing in custom errors not defined in the enum above. */ public function __construct($error_code, $error_description = null) { $logFileName = LOG_FLATFILE; $this->error_code = (int) $error_code; if(!is_null($error_description)) $this->error_description = $error_description; else $this->error_description = self::$errorCodes[(int)$error_code]; if($error_code == ERROR_DBCON) { $entry_line = "\n"; $entry_line .= date("Y-m-d H:i:s")."\n"; $entry_line .= "Error code: ".$this->error_code."\n"; $entry_line .= "Error description: ".$this->error_description.'- '.$error_description."\n"; $fp = fopen($logFileName, "a"); fputs($fp, $entry_line); fclose($fp); } else //log error to DB { #$result = ErrorLog::addError($this->error_code, $this->error_description.': '.$error_description); } } static function isError( $var ) { if ( gettype($var) == 'object' && get_class($var) == 'Error' ) { return true; } return false; } } ?>