function infrajs_seo_saveitem($name, $item) { $dirs = infra_dirs(); @mkdir($dirs['data'] . 'seo/'); $src = $dirs['data'] . 'seo/' . infra_tofs($name) . '.json'; $data = infra_loadJSON($src); if (!$data) { $data = array('items' => array()); } $r = false; if (is_string($item['keywords'])) { $keys = explode(',', $item['keywords']); foreach ($keys as $k => $v) { $keys[$k] = trim($v); } $keys = array_values(array_unique($keys)); $item['keywords'] = $keys; } foreach ($data['items'] as $k => $it) { if ($it['data'] != $item['data']) { continue; } $data['items'][$k] = $item; $r = true; break; } if (!$r) { $data['items'][] = $item; } file_put_contents($src, infra_json_encode($data)); return $src; }
$src = $p['images'][0]['src']; } } elseif ($p['ext'] == 'mht') { $p = infra_loadJSON('*pages/mht/mht.php?preview' . $re . '&src=' . infra_toutf($p['src'])); if (!$p['images'][0]) { $default = true; $src = infra_theme('*imager/noimage.png'); //header('HTTP/1.1 404 Not Found'); //return; } else { $src = $p['images'][0]['src']; } } } } $src = infra_tofs($src); $type = imager_type($src); if (!is_null($ignoremark)) { //Метку ignore может выставить только администратор //На файлы с такой меткой водяной знак никогда не ставится $info = imager_makeInfo($src); if ($ignoremark && $info['water']) { //Если файл был с водяным знаком $orig = $info['orig']; if ($orig) { $orig = infra_theme($orig); if ($orig) { //Если оригинальный файл найден $r = copy($orig, $src); //Востановили оригинал без удаления оригинала $info['water'] = false;
function &imager_makeInfo($src) { $info = imager_readInfo($src); if ($info) { return $info; } $dirs = infra_dirs(); $dir = $dirs['data'] . 'imager/'; @mkdir($dir); $dir .= '.notwater/'; @mkdir($dir); $i = ''; $orig = $dir . infra_forFS($src); while (is_file($orig)) { $orig = $orig . $i; $i .= 'i'; } $r = copy($src, $orig); //по адресу orig не существует файла было проверено if (!$r) { die('Не удалось сохранить оригинал'); } $info = array(); $info['host'] = $_SERVER['HTTP_HOST']; $info['size'] = filesize(infra_tofs($orig)); $info['date'] = date('j.m.Y'); $info['orig'] = infra_toutf($orig); return $info; }
$filelist = array(); for ($i = 0, $l = sizeof($sorted); $i < $l; ++$i) { $filelist[] = $sorted[$i]['name']; } } else { sort($filelist); } if (@$_GET['reverse']) { $filelist = array_reverse($filelist); } //$filelist=array_slice($filelist,$lims,$limc); //$reali - реальный номер позиции после фильтра $reali = 0; for ($i = 0, $l = sizeof($filelist); $i < $l; ++$i) { $real_file = $filelist[$i]; $path = $dir . infra_tofs($real_file); $prefile = dirname($real_file); if ($prefile != '.') { $prefile .= '/'; } else { $prefile = ''; } $fileXXX = preg_replace('/^.+[\\\\\\/]/', '', $real_file); $p = infra_nameinfo($fileXXX); $p['f'] = is_file($path); $p['dir'] = $prefile; $ar = explode('.', $fileXXX); if (sizeof($ar) == 2 && !$ar[0] && $ar[1]) { $filename = implode('.', $ar); } elseif (sizeof($ar) > 1) { //Это может быть папка или файл без расширения, тогда считаем что имя файла есть а расширения нет
function infrajs_seo_save() { $conf = infra_config(); if (!$conf['seo']['seo']) { return; } infra_admin_cache('infrajs_seo_save', function () { $store =& infrajs_store(); $dir = 'infra/cache/seo/'; if (is_dir($dir)) { $list = infra_loadJSON('*pages/list.php?src=' . $dir . '&onlyname=1'); foreach ($list as $file) { unlink($dir . infra_tofs($file)); } $r = rmdir($dir); if (!$r) { $conf = infra_config(); if ($conf['debug']) { die('Не удалось удалить папку ' . $dir); } } } @mkdir($dir); foreach ($store['seo'] as $name => $seo) { file_put_contents($dir . infra_tofs($name) . '.json', infra_json_encode($seo)); } }); }
public static function getPos(&$pos) { $args = array($pos['producer'], $pos['article']); return Catalog::cache('getPos', function () use($pos) { Xlsx::addFiles($pos); $files = explode(',', @$pos['Файлы']); foreach ($files as $f) { if (!$f) { continue; } $f = trim($f); $conf = infra_config(); Xlsx::addFiles($pos, $conf['catalog']['dir'] . $f); } $files = array(); foreach ($pos['files'] as $f) { if (is_string($f)) { $f = infra_theme($f); //убрали звездочку $d = infra_srcinfo(infra_toutf($f)); } else { $d = $f; $f = $d['src']; } $d['size'] = round(filesize(infra_tofs($f)) / 1000000, 2); if (!$d['size']) { $d['size'] = '0.01'; } $files[] = $d; } $pos['files'] = $files; if ($pos['texts']) { foreach ($pos['texts'] as $k => $t) { $pos['texts'][$k] = infra_loadTEXT('*files/get.php?' . $t); } } return $pos; }, $args); }