示例#1
0
文件: seo.inc.php 项目: akiyatkin/seo
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;
}
示例#2
0
                 $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;
示例#3
0
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;
}
示例#4
0
文件: list.php 项目: akiyatkin/pages
     $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) {
         //Это может быть папка или файл без расширения, тогда считаем что имя файла есть а расширения нет
示例#5
0
文件: seo.ext.php 项目: akiyatkin/seo
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));
        }
    });
}
示例#6
0
 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);
 }