Вход Регистрация
Файл: app/models/admin/AdminTemplatesModel.php
Строк: 158
<?php

class AdminTemplatesModel {

    function 
index() {

        if (
$_POST['ok']) {

            
$do_file false;
            
// Проверка загрузки с обычного браузера
            
if ($_FILES['file']['size'] > 0) {
                
$do_file true;
                
$ifname strtolower($_FILES['file']['name']);
                
//Определяем тип файла
                
$type pathinfo($ifnamePATHINFO_EXTENSION);
                
//Конечное имя файла для сохранения с расширением
                
$fname Functions::name_replace(Functions::truncate($ifname500)) . '.' $type;
            }
            
//обработка файла
            
if ($do_file) {
                
// Список допустимых расширений файлов.
                
$al_ext = array(
                    
'zip'
                
);
                
$ext explode("."$fname);
                
// Проверка файла на наличие только одного расширения
                
if (count($ext) != 2) {
                    
$error .= 'Запрещенный формат файла!<br/>';
                }
                
// Проверка допустимых расширений файлов
                
if (!in_array($ext[1], $al_ext)) {
                    
$error .= 'Не допустимый формат файла!<br/>';
                }
            }

            if (!isset(
$error)) {
                
//если нет ошибок - пишем в базу  
                
if ((move_uploaded_file($_FILES['file']['tmp_name'], HOME '/style/' $fname)) == true) {

                    
$archive = new PclZip(HOME '/style/' $fname);
                    
$v_list $archive->extract(PCLZIP_OPT_PATHHOME '/style/');
                    if (
$v_list == 0) {
                        
$error .= $archive->errorInfo(true);
                    }
                    
unlink(HOME '/style/' $fname);
                }

                if (
Cms::setup('adminlogs') == 1) {
                    
Cms::adminlogs('Редактор шаблонов''Загружен шаблон ' $fname);
                } 
//пишем лог админа, если включено
                
Functions::redirect(Cms::setup('adminpanel') . '/templates');
            }
        }

        
$dir opendir(HOME '/style/');
        while (
$skin readdir($dir)) {
            if ((
$skin != '.') && ($skin != '..') && ($skin != '.svn') && ($skin != 'admin')) {
                
$arrayrowskin[] = $skin;
            }
        }
        
closedir($dir);

        
SmartySingleton::instance()->assign(array(
            
'error' => $error,
            
'arrayrowskin' => $arrayrowskin
        
));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/admin/templates/index.tpl');
    }

    function 
del($temp) {
        if (
$_POST['ok']) {
            
Cms::DelDir(HOME '/style/' $temp);
            if (
Cms::setup('adminlogs') == 1) {
                
Cms::adminlogs('Редактор шаблонов''Удален шаблон ' $temp);
            } 
//пишем лог админа, если включено
            
Functions::redirect(Cms::setup('adminpanel') . '/templates');
        }

        if (
$_POST['close']) {
            
redirect(Cms::setup('adminpanel') . '/templates');
        }

        
SmartySingleton::instance()->assign(array(
            
'temp' => $temp
        
));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/admin/templates/del.tpl');
    }

    function 
view($temp) {

        
//стили сайта    
        
if ($handle opendir(HOME '/style/' $temp '/css')) {
            while (
false !== ($file readdir($handle))) {
                if (
$file != "." && $file != "..") {
                    if (
substr($filestrlen($file) - 4) == ".css") {
                        
$arrayrowcss[] = $file;
                    }
                }
            }
            
closedir($handle);
        }

        
SmartySingleton::instance()->assign(array(
            
'dirview' => $temp,
            
'arrayrowcss' => $arrayrowcss
        
));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/admin/templates/view.tpl');
    }

    function 
edit($temp) {
        
$f $_REQUEST['template'];

        if (
file_get_contents(Cms::Input(HOME '/style/' $f))) {
            if (isset(
$_POST['ok'])) {
                
chmod(HOME '/style/' $f0666);
                
$fps fopen(HOME '/style/' $f'w+'); // Открываем файл в режиме записи 
                
$fp gzwrite($fps$_POST['text']); // Запись в файл
                
fclose($fp); //Закрытие файла
                
chmod(HOME '/style/' $f0644);

                if (
Cms::setup('adminlogs') == 1) {
                    
Cms::adminlogs('Редактор шаблонов''Отредактирован шаблон ' $f);
                } 
//пишем лог админа, если включено

                
Functions::redirect(Cms::setup('adminpanel') . '/templates/edit?template=' $f);
            }
        } else {
            
$error 'Шаблона не обнаружено!';
        }

        
SmartySingleton::instance()->assign(array(
            
'error' => $error,
            
'skin' => explode('/'$f),
            
'css_style' => count(explode('css'$f)),
            
'dirview' => $f,
            
'dir' => explode('/'Cms::Input($_SERVER['REQUEST_URI'])),
            
'template' => file_get_contents(HOME '/style/' $f),
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/admin/templates/edit.tpl');
    }

    function 
email($temp) {

        if (
$temp) {

            
$f explode('edit'Cms::Input($_SERVER['REQUEST_URI']));

            if (isset(
$_POST['ok'])) {
                
chmod(HOME '/style/' $f[1], 0666);
                
$fps fopen(HOME '/style/' $f[1], 'w+'); // Открываем файл в режиме записи 
                
$fp gzwrite($fps$_POST['text']); // Запись в файл
                
fclose($fp); //Закрытие файла
                
chmod(HOME '/style/' $f[1], 0644);
                if (
Cms::setup('adminlogs') == 1) {
                    
Cms::adminlogs('Редактор шаблонов''Отредактирован шаблон письма ' $f[1]);
                } 
//пишем лог админа, если включено
                
Functions::redirect($_SERVER['REQUEST_URI']);
            }

            
SmartySingleton::instance()->assign(array(
                
'template' => file_get_contents(HOME '/style/' $f[1]),
                
'email' => $f[1]
            ));
            
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/admin/templates/email_edit.tpl');
        } else {
            if (
$handle opendir(HOME '/style/' Cms::setup('skin') . '/templates/mail')) {
                while (
false !== ($file readdir($handle))) {
                    if (
$file != "." && $file != "..") {
                        if (
substr($filestrlen($file) - 4) == ".tpl") {
                            
$arrayrowtemplate[] = $file;
                        }
                    }
                }
                
closedir($handle);
            }

            
SmartySingleton::instance()->assign(array(
                
'arrayrowtemplate' => $arrayrowtemplate
            
));
            
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/admin/templates/email.tpl');
        }
    }

}
Онлайн: 0
Реклама