Exemple #1
0
        return Ans::err($ans, 'Письмо уже отправлено! Новое сообщение можно будет отправить через 1 минуту!');
    }
    $_SESSION['submit_time'] = time();
}
$ans['testmail'] = $mdata['testmail'];
if ($maildir) {
    $folder = Path::theme($maildir);
    $name = Path::tofs(Path::encode($data['name']));
    $fname = date('Y F j H-i') . ' ' . $name . ' ' . time();
    if ($conf['file'] && $file) {
        $src = $folder . $fname . '.' . Path::tofs($file['name']);
        $r = move_uploaded_file($file['tmp_name'], $src);
        if (!$r) {
            return Ans::err($ans, 'Неудалось загрузить файл');
        }
        $data['file'] = Path::toutf(Path::pretty($src));
    }
}
$body = Template::parse('-contacts/mail.tpl', $data);
if (!$body) {
    $body = 'Ошибка. Не найден шаблон письма!';
}
if ($maildir) {
    file_put_contents($folder . $fname . '.txt', print_r($body, true) . "\n\n\n\n\n" . print_r($mdata, true));
}
if (!isset($mdata['email_from'])) {
    return Ans::err($ans, 'Ошибка с адресом получателя!');
}
$r = Mail::toAdmin($mdata['subject'], $mdata['email_from'], $body, $mdata['testmail']);
if (!$r) {
    return Ans::err($ans, "Неудалось отправить письмо из-за ошибки на сервере!");
Exemple #2
0
            $keys['time'] = time();
            $r = file_put_contents($src, Load::json_encode($keys));
        }
        if ($r) {
            return Ans::ret($ans, 'SEO-данные сохранены');
        }
        return Ans::err($ans, 'Ошибка. SEO-данные не сохранены');
    }
} elseif ($type === 'corfile') {
    if (!$submit) {
        $folder = Path::resolve($id);
        $path = explode('/', $folder);
        $name = array_pop($path);
        //Так как папка заканчивается на / последний элемент в массиве буедт всегда пустым
        $parent = implode('/', $path) . '/';
        $parent = Path::pretty($parent);
        $ans['oldfolder'] = $parent;
        //Папка в которой можно увидеть обрабатываемую папку
        $ans['oldname'] = $name;
        $ans['content'] = Load::loadTEXT($id);
        return Ans::ret($ans);
    } else {
        $file = $id;
        //$isdir=Path::theme($file,'sdn');
        //if($isdir) return infra_echo($ans,'Существует папка с именем как у файла '.$id);
        $isfile = Path::theme($file);
        if (!$isfile) {
            if (!autoedit_ext($file)) {
                $file .= '.tpl';
            }
            $ans['msg'] .= 'Файл был создан<br>';
Exemple #3
0
use infrajs\router\Router;
use infrajs\hash\Hash;
use infrajs\load\Load;
if (!is_file('vendor/autoload.php')) {
    chdir('../../../');
    require_once 'vendor/autoload.php';
    Router::init();
}
$ans = array();
$isrc = Ans::GET('src');
if (preg_match('/^\\//', $isrc)) {
    $isrc = preg_replace('/^\\//', '', $isrc);
}
$num = Ans::GET('num', 'int', 0);
$re = isset($_GET['re']);
$psrc = Path::pretty($isrc);
Nostore::pubStat();
//Если кэширование разрешено сделает его долгим как для статики
if (is_null($isrc)) {
    return Ans::err($ans, '?src= to the image required. Relative to the siteroot. For example vendor/infrajs/imager/?src=vendor/infrajs/imager/test.jpg');
}
$src = Imager::prepareSrc($isrc, $num);
$or = Ans::GET('or');
//Путь на случай если src не найден
if (!$src && $or) {
    $src = Imager::prepareSrc($or, $num);
}
//Путь не найден смотрим or
Imager::modified($src);
$mark = Ans::GET('mark', 'bool');
$w = Ans::GET('w', 'int');
Exemple #4
0
            print_r($c);
            throw new \Exception('Tester. Некорректно указан путь до теста.');
        }
        if (Path::isDir($tsrc)) {
            $files = scandir($tsrc);
            foreach ($files as $file) {
                if ($file[0] == '.') {
                    continue;
                }
                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) {
Exemple #5
0
 public static function addFiles($root, &$pos, $dir = false)
 {
     $props = array('producer', 'article');
     if (!isset($pos['images'])) {
         $pos['images'] = array();
     }
     if (!isset($pos['texts'])) {
         $pos['texts'] = array();
     }
     if (!isset($pos['files'])) {
         $pos['files'] = array();
     }
     if (!$dir) {
         $dir = array();
         $pth = Path::resolve($root);
         if (Each::forr($props, function &($name) use(&$dir, &$pos) {
             $rname = Sequence::right($name);
             $val = Sequence::get($pos, $rname);
             if (!$val) {
                 return true;
             }
             $dir[] = $val;
             $r = null;
             return $r;
         })) {
             return;
         }
         if ($dir) {
             $dir = implode('/', $dir) . '/';
             $dir = $pth . $dir;
         } else {
             $dir = $pth;
         }
     } else {
         $dir = $root . $dir;
     }
     $dir = Path::theme($dir);
     if (!$dir) {
         return false;
     }
     if (is_dir($dir)) {
         $paths = glob($dir . '*');
     } elseif (is_file($dir)) {
         $paths = array($dir);
         $p = Load::srcInfo($dir);
         $dir = $p['folder'];
     }
     Each::forr($paths, function &($p) use(&$pos, $dir) {
         $d = explode('/', $p);
         $name = array_pop($d);
         $n = mb_strtolower($name);
         $fd = Load::nameInfo($n);
         $ext = $fd['ext'];
         //if(!$ext)return;
         if (!is_file($dir . $name)) {
             return;
         }
         //$name=preg_replace('/\.\w{0,4}$/','',$name);
         /*$p=pathinfo($p);
         		$name=$p['basename'];
         		$ext=strtolower($p['extension']);*/
         if ($name[0] == '.') {
             return;
         }
         $dir = Path::pretty($dir);
         $name = Path::toutf($dir . $name);
         $im = array('png', 'gif', 'jpg');
         $te = array('html', 'tpl', 'mht', 'docx');
         if (in_array($ext, $im)) {
             $pos['images'][] = $name;
         } else {
             if (in_array($ext, $te)) {
                 $pos['texts'][] = $name;
             } else {
                 if ($ext != 'db') {
                     $pos['files'][] = $name;
                 }
             }
         }
         $r = null;
         return $r;
     });
     $pos['images'] = array_unique($pos['images']);
     $pos['texts'] = array_unique($pos['texts']);
     $pos['files'] = array_unique($pos['files']);
 }
Exemple #6
0
 public static function getPos(&$pos)
 {
     $args = array($pos['producer'], $pos['article']);
     return Access::cache('Catalog::getPos', function () use($pos) {
         Xlsx::addFiles(Catalog::$conf['dir'], $pos);
         $files = explode(',', @$pos['Файлы']);
         foreach ($files as $f) {
             if (!$f) {
                 continue;
             }
             $f = trim($f);
             Xlsx::addFiles(Catalog::$conf['dir'], $pos, $f);
         }
         $files = array();
         foreach ($pos['files'] as $f) {
             if (is_string($f)) {
                 $f = Path::theme($f);
                 //убрали звездочку
                 $d = Load::srcInfo(Path::toutf($f));
             } else {
                 $d = $f;
                 $f = $d['src'];
             }
             $d['size'] = round(filesize(Path::tofs($f)) / 1000000, 2);
             if (!$d['size']) {
                 $d['size'] = '0.01';
             }
             $d['src'] = Path::pretty($d['src']);
             $files[] = $d;
         }
         $pos['files'] = $files;
         if ($pos['texts']) {
             foreach ($pos['texts'] as $k => $t) {
                 $pos['texts'][$k] = Load::loadTEXT('-doc/get.php?src=' . $t);
             }
         }
         return $pos;
     }, $args);
 }