Вход Регистрация
Файл: admin/design/import.php
Строк: 58
<?php
    
include '../../engine/includes/start.php';
    if (!
$creator)
        
Core::stop();

    
$set['title'] = 'Импорт дизайна';
    include 
incDir.'head.php';

    empty(
$_POST['url']) && !empty($_GET['url']) ? $_POST['url'] = $_GET['url'] : null;

    if (!empty(
$_POST['url']))
    {
        if (
$_POST['url'] == 'http://')
        {
            
$error 'Не введен адрес';
        }
        else
        {
            
$headers = @get_headers($_POST['url'], 1);

            if (!
$headers)
                
$error 'Не удалось получить заголовки по указанному адресу';
        
            elseif (empty(
$_GET['url']) && !empty($headers['Content-Length']) && $headers['Content-Length'] >= 2097152)
                
$error 'Размер архива превышает 2 мб, <a href="?url='.htmlspecialchars($_POST['url']).'">продолжить?</a>';

            elseif (
$headers['Content-Type'] != 'application/zip')
                
$error 'Только zip архивы';

            else
            {
                
$design pathinfo($_POST['url'], PATHINFO_FILENAME);

                if (
is_dir('style/themes/' $design))
                    
$error 'Такая тема уже установлена';
                else
                {
                    
file_put_contents(tmpDir $designfile_get_contents($_POST['url']));
                    
Core::get('zip');
                    
$zip = new Pclzip(tmpDir $design);
                    
$contents $zip->listContent();
            
                    if (
$contents == 0)
                        
$error 'Архив поврежден или пуст';
                    elseif (!
array_key_exists('theme.ini'$contents))
                        
$error 'theme.ini не найден';

                    if (!isset(
$error))
                    {
                        
$dir_install 'style/themes/'.$design;
                        if (
is_dir($dir_install) || mkdir($dir_install))
                            
$zip->extract(PCLZIP_OPT_SUBSTITUE_FILE$dir_install);
                        
unlink(tmpDir $design);
                        
Core::msg_show('Тема установлена''menu_razd');
                    }
                    unset(
$zip$config$headers);
                }
            }
        }
        if (isset(
$error))
            
Core::msg_show($error);
    }

    
?>
    <form method = "post">
        Путь к zip архиву:<br />
        <input type="text" name="url" value="http://"/><br />
        <input value = "Импорт" type="submit" />
    </form>
    <a href='/admin/?act=design'><div class="link">Дизайн</div></a>
    <a href='/admin/'><div class="link">Админка</div></a>
    <?php
    
include incDir.'foot.php';
Онлайн: 0
Реклама