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 . "}"; }
private static function _actionSilentLibFileEdit() { $res="{res:"; $module=self::$c->post(self::$class."-lib-files-module"); $entity=0+self::$c->post(self::$class."-lib-files-entity"); //проверка модуля if(!$module || !@class_exists(__NAMESPACE__."\\".$module)) { $res.="false,msg:\"Ссылочный модуль не найден [".$module."]\"}"; echo $res; return; } $mid=self::$c->modId($module,true); if(!$mid) { echo $res."false,msg:\"Ссылочный модуль не найден [".$module."]\"}"; return; } //проверяем id $id=0+self::$c->post(self::$class."-lib-file-id"); if(!$id) { echo $res."false,msg:\"Невозможно выполнить операцию: задан неверный идентификатор файла [".$id."]\"}"; return; } //проверяем name $name=self::$c->post(self::$class."-lib-file-name"); //проверяем title $title=self::$c->post(self::$class."-lib-file-title"); //проверяем credit $credit=self::$c->post(self::$class."-lib-file-credit"); if(lib::mquotes_gpc()) { $name=stripslashes($name); $title=stripslashes($title); $credit=stripslashes($credit); } if(!lib::validStr($name,LIB_STR_TYPE_FILE,true,1,128,true,"Название файла")) { echo $res."false,msg:\"".lib::lastMsg()."\"}"; return; } $name_id=(0+self::$c->post(self::$class."-lib-file-noid"))?0:1; if(!$name)$name_id=1;//защита от "пустого" имени $name_sized=(0+self::$c->post(self::$class."-lib-file-nosizes"))?0:1; //находим запись по id $uid=auth::user("id"); $q="SELECT `width`,`height`,`name_id`,`name_sized`,`size_delim`,`extension`,`name`,`directory`,`content_type` FROM ".db::tnm(self::$class)." WHERE `id`={$id} AND `mid`={$mid}".(!auth::admin()?" AND `uid`={$uid}":""); $r=db::q($q,false); if($r===false) { echo $res."false,msg:\"Ошибка операции с базой данных [".__LINE__."]\"}"; return; } $rec=@mysql_fetch_assoc($r); if(!$rec) { echo $res."false,msg:\"Невозможно выполнить операцию: нет доступа или изображение не зарегистрировано\"}"; return; } $old_nameId=0+$rec["name_id"]; $old_sizeDelim=$rec["size_delim"]; $ext=$rec["extension"]; $old_name=$rec["name"]; $dir=$rec["directory"]; $ctype=$rec["content_type"]; $is_image=false; if(substr($ctype,0,5)=="image") { $is_image=true; $wd=0+$rec["width"]; $ht=0+$rec["height"]; $old_nameSized=0+$rec["name_sized"]; } else $old_nameSized=0; $old_filename=($old_name?(($old_nameId?($id.$old_sizeDelim):"").$old_name):$id).($is_image?($old_nameSized?($old_sizeDelim.$wd."x".$ht):""):"").".".$ext; $old_filepath=$dir."/".$old_filename; if(!@file_exists($old_filepath)) { echo $res."false,msg:\"Невозможно выполнить операцию: указанный файл не найден [".$old_filepath."]\"}"; return; } //пытаемся переименовать файл $new_filename=($name?(($name_id?($id.$old_sizeDelim):"").$name):$id).($is_image?($name_sized?($old_sizeDelim.$wd."x".$ht):""):"").".".$ext; if($new_filename!=$old_filename) { if(@file_exists($dir."/".$new_filename)) { echo $res."false,msg:\"Невозможно переименовать файл: другой файл с таким же именем уже существует [".$new_filename."]\"}"; return; } @rename($old_filepath,$dir."/".$new_filename); if(!@file_exists($dir."/".$new_filename)) { echo $res."false,msg:\"Шибка переименования файла: ошибка файловой системы, обратитесь к разработчикам сайта [".msgr::config(MSGR_EMAIL_DEVEL)."].\"}"; return; } } $q="UPDATE ".db::tnm(self::$class)." SET `name`='".mysql_real_escape_string($name)."',`title`='".mysql_real_escape_string($title)."', `credit`='".mysql_real_escape_string($credit)."', `name_id`=".$name_id.",`name_sized`=".$name_sized." WHERE `id`=".$id; $r=db::q($q,false); if($r===false) { @rename($dir."/".$new_filename,$old_filepath); echo $res."false,msg:\"Ошибка операции с базой данных [".__LINE__."]\"}"; return; } $item="{id:".$id.",name_id:".($name_id?"true":"false").",name_sized:".($name_sized?"true":"false").",filename:\"".$new_filename."\",name:\"".$name."\",title:\"".str_replace("\"","\\\"",$title)."\",credit:\"".str_replace("\"","\\\"",$credit)."\"}"; echo $res."true,msg:\"\",item:".$item."}"; }