示例#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
	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."}";
	}