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 . "}"; }
/** * Выполняет запрос к БД * * @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; }