Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
 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']);
 }
Exemplo n.º 3
0
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;
     }
 }
Exemplo n.º 5
0
 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;
     }
 }