private static function _actionMediaSilentXUpload() { $res = "{res:"; $module = self::post(self::$class . "-media-uploader-module"); $entity = 0 + self::post(self::$class . "-media-uploader-entity"); //проверка модуля if (!$module || !@class_exists($module)) { $res .= "false,msg:\"Ссылочный модуль не найден [" . $module . "]\"}"; self::silentXResponseSet($res); return; } $q = "SELECT `id` FROM " . db::tn("mods") . " WHERE `class`='" . $module . "'"; $r = db::q($q, false); if ($r === false) { $res .= "false,msg:\"Ошибка операции с базой данных!\"}"; self::silentXResponseSet($res); return; } $rec = mysql_fetch_assoc($r); if (!$rec) { $res .= "false,msg:\"Неверные параметры запроса: модуль не найден!\"}"; self::silentXResponseSet($res); return; } $mid = 0 + $rec["id"]; //проверка файла $f = media::postFile(self::$class . "-media-uploader-file"); if (!$f) { $res .= "false,msg:\"Файл не загружен, убедитесь, что размер файла не превышает " . media::config("uploadFileMaxSize") . " байт!\"}"; self::silentXResponseSet($res); return; } // $name = trim(self::post(self::$class . "-media-uploader-file-name")); if (!self::libValidStr($name, LIB_STR_TYPE_FILE, true, 1, 128, true, "Название файла")) { $res .= "false,msg:\"" . self::libLastMsg() . "\"}"; self::silentXResponseSet($res); return; } $credit = trim(self::post(self::$class . "-media-uploader-file-credit")); $title = trim(self::post(self::$class . "-media-uploader-file-title")); if (self::mquotes_gpc()) { $title = stripslashes($title); $credit = stripslashes($credit); } $nameId = 0 + self::post(self::$class . "-media-uploader-file-noid") ? 0 : 1; if (!$name) { $nameId = 1; } //защита от "пустого" имени $nameSized = 0 + self::post(self::$class . "-media-uploader-file-nosizes") ? 0 : 1; //проверка директории сохранения $dir = self::post(self::$class . "-media-uploader-destination"); $dir = trim($dir, "/"); if (!$dir && $entity) { $dir = "" . $entity; } $values = array(); $values["name"] = $name; $values["name_id"] = $nameId; $values["name_sized"] = $nameSized; $values["directory"] = $dir; $values["title"] = $title; $values["credit"] = $credit; $item = media::create($module, $f, $values, array("oid" => $entity)); $item = "item:" . self::libJsonMake($item); //$item="item:{id:".$id.",pid:0,width:".$szW.",height:".$szH.",bytes:".$fsize.",dt:\"".$dtSQL."\",dts:".$dt.",name_id:".$nameId.",name_sized:".$nameSized.",size_delim:\"".self::$config["sizeDelimiter"]."\",extension:\"".$ext."\",name:\"".$name."\",path:\"".$dir."\",title:\"".$title."\",credit:\"".$credit."\",content_type:\"".$ctp."\"}"; $res .= "true,msg:\"\"," . $item . "}"; self::silentXResponseSet($res); }