if (!is_file($tsrc . $file)) { continue; } $list[$name][] = Path::pretty($tsrc . $file); } } else { $list[$name][] = Path::pretty($tsrc); } return $r; }); } $data = array('list' => array()); $errors = array(); foreach ($list as $name => $files) { foreach ($files as $file) { $ext = Path::getExt($file); if ($ext != 'php') { continue; } $finfo = Load::srcInfo($file); $text = Load::loadTEXT($file . '?type=auto'); if (strlen($text) > 1000) { $res = array('title' => $name . ' ' . $finfo['name'], 'result' => 0, 'msg' => 'Слишком длинный текст', 'class' => 'bg-warning'); } else { $res = Load::json_decode($text, true); if (!is_array($res)) { $res = array('result' => 0, 'msg' => 'Некорректный json ' . print_r($res, true)); } } $res['src'] = $finfo['src']; $res['name'] = $finfo['file'];
$cachetime = 0; } $time = filemtime(Path::theme($isrc)); if ($re || $time > $cachetime) { $execute = true; } if (!$execute) { $ans = Load::loadJSON($cachesrc); $ans['data'] = Load::loadTEXT($cachesrc . '.data'); if (!$ans['data']) { $execute = true; } } if ($execute) { //$data = Cache::exec(array($isrc), __FILE__, function ($src, $ignoremark, $mark, $default, $getorig, $w, $h, $crop, $top, $gray, $re) use ($isrc) { $ext = Path::getExt($src); if (in_array($ext, array('docx', 'mht'))) { die("docx, mht TODO"); /* TODO: Смотрим подключён ли плагин files для того чтобы достать картинку и файла */ $default = true; $src = Imager::noImage('-imager/noimage.png'); } $src = Imager::tofs($src); $type = Imager::getType($src); /* if (!is_null($ignoremark)) { //Метку ignore может выставить только администратор //На файлы с такой меткой водяной знак никогда не ставится $info = imager_makeInfo($src);
public static function getReal($src) { //php $conf = static::$conf; $p = explode('?', $src, 2); $path = $p[0]; $query = $p[1]; if (!$query) { return Path::theme($src); } if (!$path) { return static::getReal($query); } elseif (preg_match("/imager\\/p\$/", $path)) { $p = explode('&', $query); $obj = array(); for ($i = 0, $l = sizeof($p); $i < $l; ++$i) { $b = explode('=', $p[$i], 2); $obj[$b[0]] = $b[1]; } $src = $obj['src']; $ext = Path::getExt($src); if ($ext == 'php') { return static::getReal($obj['src']); } else { return Path::theme($src); } } }