示例#1
0
 private static function _actionSilentRegLoginCheck()
 {
     if (!isset(self::$session["reg-login-checktime"])) {
         self::$session["reg-login-checktime"] = 0;
     }
     $tm = time();
     if ($tm - self::$session["reg-login-checktime"] < 2) {
         echo "{login:false,email:false,lmsg:false,emsg:false}";
         return;
     }
     self::$session["reg-login-checktime"] = $tm;
     $login = self::$c->post(self::$class . "-reg-name");
     $email = self::$c->post(self::$class . "-reg-email");
     if (lib::mquotes_gpc()) {
         $login = @stripslashes($login);
         $email = @stripslashes($email);
     }
     $lmsg = "";
     $lres = "false";
     $emsg = "";
     $eres = "false";
     if (!lib::validStr("user", $login, 4, 32, true, "Логин", false)) {
         $lmsg = lib::getLastMsg();
     } else {
         $r = db::q("SELECT `id` FROM " . db::tnm(self::$class) . " WHERE `user`='" . db::esc($login) . "'", false);
         if ($r && !db::rows($r)) {
             $lres = "true";
         }
     }
     if (!lib::validEmail($email, false)) {
         $emsg = lib::getLastMsg();
     } else {
         $r = db::q("SELECT `id` FROM " . db::tnm(self::$class) . " WHERE `email`='" . db::esc($email) . "'", false);
         if ($r && !db::rows($r)) {
             $eres = "true";
         }
     }
     @header("Content-Type: application/json");
     return "{login:"******",lmsg:" . $lmsg . ",email:" . $eres . ",emsg:" . $emsg . "}";
 }
示例#2
0
	/**
	* Выполняет запрос к БД
	*
	* @param string $q - строка запроса
	* @param boolean $die - прервать работу приложения
	* @param array $debug - перезапись параметров стека отладки
	* @return resource
	*/
	public static function q($q,$die=false,$debug=array("msg"=>"Ошибка выполнения запроса к БД."))
	{
		$r=@mysql_query($q);
		if($r===false)
		{
			$sql="SQL запрос: [".lib::jsonPrepare($q)."].";
			$raw="Ответ MySQL: [".lib::jsonPrepare(@mysql_error(self::$db["link"]))."].";
			if(@function_exists("error_log") || $die)
			{
				//сохраняем
				if(!isset($debug["msg"]))$debug["msg"]="Ошибка выполнения запроса к БД.";
				if(!isset($debug["class"]))$debug["class"]="";
				if(!isset($debug["func"]))$debug["func"]="";
				if(!isset($debug["line"]))$debug["line"]="";
				if(!$debug["class"] || !$debug["func"] || !$debug["line"])
				{
					if(@function_exists("debug_backtrace"))
					{
						$dbg=@debug_backtrace();
						if(!$debug["line"])$debug["line"]=$dbg[0]["line"];
						@array_shift($dbg);
						if(!$debug["class"])$debug["class"]=isset($dbg[0]["class"])?$dbg[0]["class"]:"";
						if(!$debug["func"])$debug["func"]=isset($dbg[0]["function"])?$dbg[0]["function"]:"";
					}
				}
				self::$lastError=$debug["msg"];
				self::$lastErrorId=msgr::errorLog($debug["msg"],false,$debug["class"],$debug["func"],$debug["line"],$sql." ".$raw);
				$ep="EP: [".($debug["class"]?($debug["class"]."::"):"").($debug["func"]?($debug["func"].">"):"").$debug["line"]."]";
				if(@function_exists("error_log"))
				{
					$amail=self::$c->config("","adminEmail");
					if(lib::validEmail($amail,false))@error_log($debug["msg"]."\n\n".$sql."\n\n".$raw."\n\n".$ep,1,$amail);
				}
				if($die)die($debug["msg"]."<br /><br />".$ep);
			}
			self::$counts[1]++;
		}
		else self::$counts[0]++;
		return $r;
	}