private static function connect() { if (self::$cnt == false) { if (isset($GLOBALS['memcache_ip']) and !empty($GLOBALS['memcache_ip'])) { self::$conn = new Memcache(); self::$conn->connect($GLOBALS['memcache_ip'], $GLOBALS['memcache_port']) or raptor_warning("Can't connect memcache at " . $GLOBALS['memcache_ip'] . ":" . $GLOBALS['memcache_port'], true); self::$cnt = true; } else { self::$cnt = false; self::$conn = new FileCache(); } } else { return false; } }
public static function login($login, $password, $session = true) { if (empty($login)) { raptor_warning("Trying to login player with no login"); } if (empty($password)) { raptor_warning("Trying to login player with no password"); } $data = Database::GetOne("config", array("mod" => "auth"))['authType']; $check = Database::GetOne("players", array($data => $login, "password" => md5($password))); if (empty($check['login'])) { return false; } else { if ($session === true) { $_SESSION['id'] = $check['_id']->__toString(); } Database::Edit("players", array("_id" => $check['_id']), array("last_ip" => $_SERVER['REMOTE_ADDR'], "last_date" => raptor_date())); return $check['_id']; } call_user_func("onPlayerLogin", $_POST['name']); }
function raptor_error_handler($errno, $errstr, $errfile, $errline) { #Database::Insert("errors", array("text" => $errstr, "date" => raptor_date(), "file" => $errfile, "line" => $errline)); log_error("[{$errno}] {$errstr} (file: {$errfile}, line {$errline}) \n"); if (defined("HIDE_ERRORS")) { return false; } switch ($errno) { case E_USER_ERROR: echo "<b>ERROR</b> [{$errno}] {$errstr}<br />\n"; echo " Фатальная ошибка в строке {$errline} файла {$errfile}"; echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n"; raptor_error($errstr, false); exit(1); break; case E_USER_WARNING: echo "<b>WARNING</b> [{$errno}] {$errstr}<br />\n"; raptor_warning($errstr, false); break; case E_WARNING: echo "<b>WARNING</b> [{$errno}] {$errstr}<br />\n"; raptor_warning($errstr, false); break; case E_NOTICE: echo "<b>NOTICE</b> [{$errno}] {$errstr}<br />\n"; raptor_notice($errstr, false); break; case E_USER_NOTICE: echo "<b>NOTICE</b> [{$errno}] {$errstr}<br />\n"; raptor_notice($errstr, false); break; default: echo "Error {$errno}: {$errstr}<br />\n"; break; } return true; }
function getParam($pname, $id) { $param = Database::GetOne("config", array("mod" => "inv_params"))[$pname]; if (!is_array($param)) { raptor_warning("Object as array (" . __METHOD__ . "->" . $pname . ")"); return false; } if (empty($param['type'])) { return $this->conf[$id][$pname]; } switch ($param['type']) { case "script": $char = new Char(); $inv = $this; return eval($param['script']); break; case "id": return new Char($id); break; case "int": return (int) $this->conf[$id][$pname]; break; case "float": return (double) $this->conf[$id][$pname]; break; default: return $this->conf[$id][$pname]; break; } }
function getParam($pname) { $param = Database::GetOne("config", array("mod" => "params"))[$pname]; if (!is_array($param)) { raptor_warning("Bad parameter for getParam ({$pname})"); return false; } if (!isset($param['type'])) { raptor_warning("Cannot get param type for {$pname}"); $c_base = Database::GetOne("characters", array("_id" => toId($this->id)))[$pname]; $value = isset($c_base[$pname]) ? $c_base[$pname] : $param['def']; return $value; } switch ($param['type']) { case "script": $char = $this; return eval($param['script']); break; case "id": $c_base = Database::GetOne("characters", array("_id" => toId($this->id))); $value = isset($c_base[$pname]) ? $c_base[$pname] : $param['def']; return new Char($value); break; case "int": $c_base = Database::GetOne("characters", array("_id" => toId($this->id))); $value = isset($c_base[$pname]) ? $c_base[$pname] : $param['def']; return (int) $value; break; case "str": $c_base = Database::GetOne("characters", array("_id" => toId($this->id))); $value = isset($c_base[$pname]) ? $c_base[$pname] : $param['def']; return (string) $value; break; case "float": $c_base = Database::GetOne("characters", array("_id" => toId($this->id))); $value = isset($c_base[$pname]) ? $c_base[$pname] : $param['def']; return (double) $value; break; default: raptor_warning("Cannot get param type for {$pname}"); $c_base = Database::GetOne("characters", array("_id" => toId($this->id))); $value = isset($c_base[$pname]) ? $c_base[$pname] : $param['def']; return $value; break; } }