コード例 #1
0
	public static function delete($ids=array())
	{
		$sl=self::$c->silent();
		$ids=self::$c->post(self::$class."-admin-list-id");
		$aliases=self::$c->post(self::$class."-admin-list-aliases");
		if(!is_array($ids) || !count($ids))
		{
			msgr::add("Некорректные данные запроса!");
			return;
		}
		$files=array();
		foreach($aliases as $val)
		{
			$val=explode(":",$val);
			if(in_array($val[0],$ids))$files[]=$val[1];
		}
		$cnt=count($ids);
		if($cnt!=count($files))
		{
			msgr::add("Некорректные данные запроса!");
			return;
		}
		if($cnt>self::$config["batchMaxItemsCount"])
		{
			msgr::add("Невозможно выполнить операцию: выбрано слишком много страниц [>".self::$config["batchMaxItemsCount"]."]!");
			return;
		}
		$sucids=array();
		for($c=0;$c<$cnt;$c++)
		{
			$res=media::delete(self::$class,$ids[$c],array());
			if($res)$sucids[]=$ids[$c];
			else msgr::add(media::lastMsg());
		}
		$cnt=count($sucids);
		if(!$cnt)return false;
		if($cnt==1)
		{
			$sql="=".$sucids[0];
			$msg="Страница удалена!";
		}
		else
		{
			$sql=" IN (".implode(",",$sucids).")";
			$msg="Страницы удалены!";
		}
		db::q("DELETE FROM ".db::tnm(self::$class)." WHERE `id`{$sql}",true);
		db::q("DELETE FROM ".db::tn("runspots_pages")." WHERE `cid`{$sql}",true);
		db::q("DELETE FROM ".db::tn("runspots_styles")." WHERE `cid`{$sql}",true);
		msgr::add($msg);
	}