Вход Регистрация
Файл: core/admin/templates.php
Строк: 172
<?php

if (!defined('BLOG')) { die('Access Denied!'); }

$_GET['act'] = !empty($_GET['act']) ? check($_GET['act']) : '';

$file = !empty($_GET['file']) ? urldecode($_GET['file']) : '';

$sys_tmp = array(
'header_index' => 'Шапка главной',
'header'       => 'Шапка остальные',
'footer_index' => 'Низ главной',
'footer'       => 'Низ остальные',
);

switch(
$_GET['act']):
    default:
        
show_header('Редактирование страниц');

        
$arrfiles = array();
        
$globfiles glob(TEMPLATES_PATH '*.tpl');
        foreach (
$globfiles as $filename) {
            
$arrfiles[] = basename($filename);
        }

        
$total = !empty($arrfiles) ? count($arrfiles) : 0;
        
$onpage 10;

        if (
$total 0) {

            for (
$i 0$i $total$i++) {
                
$filename str_replace('.tpl'''$arrfiles[$i]);
                
$size     size(filesize(TEMPLATES_PATH $arrfiles[$i]));
                
$strok    count(file(TEMPLATES_PATH $arrfiles[$i]));
                
$name     = !empty($sys_tmp[$filename]) ? $sys_tmp[$filename] : $arrfiles[$i];
                echo 
'<div class="downlist2"> ';
                echo 
' <b>' $name '</b> (' $size ')<br />';
                echo 
'Кол. строк: ' $strok '<br />';
                echo 
'Изменен: ' date('d.m.Y в H:i'filemtime(TEMPLATES_PATH $arrfiles[$i])) . '<br />';
                echo 
'<a href="?a=templates&amp;act=edit&amp;file=' $arrfiles[$i] . '">Редактировать</a> | ';
                echo 
'<a href="?a=templates&amp;act=obzor&amp;file=' $arrfiles[$i] . '">Просмотр</a> | ';
                echo 
'<a href="?a=templates&amp;act=del&amp;file=' $arrfiles[$i] . '">Удалить</a><br /></div>';

            } 

            
//echo show_pages('?a=templates');
            
echo '<div class="downlist2">Всего файлов: <b>' . (int)$total '</b><br /></div>';
        }
        else echo 
'<div class="downlist2"><b>Файлов еще нет!</b></div>';

        echo 
'<div class="downlist2"><img src="' ICONS 'add.png" alt="" /> <a href="?a=templates&amp;act=new">Создать</a><br />';
        echo 
'<img src="' ICONS 'user.gif" alt="" /> <a href="?a=templates&amp;act=faq">Помощь</a><br /></div>';
        break;
    
# ###########################################################################################
    # #                                      Обзор файла                                       ##
    # ###########################################################################################
    
case 'obzor':

        if (
preg_match('|^[a-z0-9_.-]+$|i'$file)) {

            if (
file_exists(TEMPLATES_PATH $file)) {

                
show_header('Просмотр файла ' $file'''''Y');

                
$opis file_get_contents(TEMPLATES_PATH $file);
                
$count count(file(TEMPLATES_PATH $file));

                echo 
'<div class="downlist2">Строк: ' num($count) . '<br /></div>';
                echo 
'<div class="downlist2">' highlight_code(check($opis)) . '<br /></div>';

                echo 
'<div class="downlist2"><a href="?a=templates&amp;act=edit&amp;file=' $file '">Редактировать</a> / ';
                echo 
'<a href="?a=templates&amp;act=del&amp;file=' $file '">Удалить</a><br /></div>';
                echo 
'<div class="downlist2"><img src="' ICONS 'return.png" alt="" /> <a href="?a=templates">Вернуться</a><br /></div>';
            }
            else {
                
addMessage('Ошибка! Данного файла не существует!''error');
                
redirect('./?a=templates');
            } 
        }
        else {
            
addMessage('Ошибка! Недопустимое название страницы!''error');
            
redirect('./?a=templates');
        } 

    break;
    
# ###########################################################################################
    # #                             Редактирование файла                                       ##
    # ###########################################################################################
    
case 'edit':

        if (
preg_match('|^[a-z0-9_.-]+$|i'$file)) {

            if (
file_exists(TEMPLATES_PATH $file)) {

                if (!empty(
$_POST['submit'])) {

                    if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                        
$msg = !empty($_POST['msg']) ? $_POST['msg'] : '';
                        
$msg str_replace('&''&amp;'$msg);
                        
$fp fopen(TEMPLATES_PATH $file'a+');
                        
flock ($fpLOCK_EX);
                        
ftruncate($fp0);
                        
fputs ($fp$msg);
                        
fflush($fp);
                        
flock ($fpLOCK_UN);
                        
fclose($fp);

                        
addMessage('Файл успешно сохранён!','ok');
                        
redirect('./?a=templates&amp;act=edit&file=' $file);
                    }
                    else 
addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!','error');
                } 

                
$mainfile file_get_contents(TEMPLATES_PATH $file);
                
$filename str_replace('.tpl'''$file);
                
$mainfile str_replace('&amp;''&'$mainfile);

                
show_header('Редактирование файла ' $file);

                echo 
'<div class="downlist2"><form action="?a=templates&amp;act=edit&amp;file=' $file '&amp;rnd=' $_SESSION['token'] . '" name="form" method="post"><textarea style="width:98%;" rows="20" name="msg">' check($mainfile) . '</textarea><br />'
                
quickpaste('msg');
                
quicktags();
                echo 
'<br /><input type="submit" name="submit" value="Сохранить" /></form></div>';
                echo 
'<div class="downlist2"><img src="' ICONS 'return.png" alt="" /> <a href="?a=templates">Вернуться</a><br /></div>';
            }
            else {
                
addMessage('Ошибка! Данного файла не существует!','error');
                
redirect('./?a=templates');
            } 
        }
        else {
            
addMessage('Ошибка! Недопустимое название страницы!','error');
            
redirect('./?a=templates');
        } 

    break;
    
# ###########################################################################################
    # #                                       Помощь                                           ##
    # ###########################################################################################
    
case 'faq':
        
show_header('Сокрашенные коды');
        echo 
'<div class="downlist2"><img src="../images/editor/a.gif" alt="" /> - Тег служит для создания гипертекста (ссылок). Гипертекст позволяет осуществлять мгновенный переход от одного фрагмента текста к другому.<br />';
        echo 
'<img src="../images/editor/img.gif" alt="" /> - Тег служит для внедрения графики на страницы. alt - Выводит текст к картинке. Полезно, если браузер не отображает графику на странице.<br />';
        echo 
'<img src="../images/editor/br.gif" alt="" /> - Тег служит для перевода текста на следующую строку<br />';
        echo 
'<img src="../images/editor/hr.gif" alt="" /> - Тег добавляет в HTML документ горизонтальную линию. Перед и после линии помещается пустая строка<br />';
        echo 
'<img src="../images/editor/b.gif" alt="" /> - Тег создает жирный текст<br />';
        echo 
'<img src="../images/editor/big.gif" alt="" /> - Тег выводит более крупный текст<br />';
        echo 
'<img src="../images/editor/small.gif" alt="" /> - Тег выводит более мелкий текст<br />';
        echo 
'<img src="../images/editor/i.gif" alt="" /> - Тег создает наклонный текст<br />';
        echo 
'<img src="../images/editor/u.gif" alt="" /> - Тег указывает, что текст должен быть подчеркнут<br />';
        echo 
'<img src="../images/editor/right.gif" alt="" /> - Тег создает новый блок. Текст выровнен по правому краю<br />';
        echo 
'<img src="../images/editor/center.gif" alt="" /> - Тег создает новый блок. Текст выровнен по центру<br />';
        echo 
'<img src="../images/editor/left.gif" alt="" /> - Тег создает новый блок. Текст выровнен по левому краю<br />';
        echo 
'<img src="../images/editor/red.gif" alt="" /> - Тег изменяет цвет текста на красный<br />';
        echo 
'<img src="../images/editor/green.gif" alt="" /> - Тег изменяет цвет текста на зеленый<br />';
        echo 
'<img src="../images/editor/blue.gif" alt="" /> - Тег изменяет цвет текста на синий<br />';
        echo 
'<img src="../images/editor/yellow.gif" alt="" /> - Тег изменяет цвет текста на желтый<br /></div>';
        echo 
'<div class="downlist2"><img src="' ICONS 'return.png" alt="" /> <a href="?a=templates">Вернуться</a><br /></div>';
    break;
    
# ###########################################################################################
    # #                                  Создание файла                                        ##
    # ###########################################################################################
    
case 'new':

        if (!empty(
$_POST['newfile'])) {

            
$newfile check($_POST['newfile']);

            if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                if (
preg_match('|^[a-z0-9_-]+$|i'$newfile)) {

                    if (!
file_exists(TEMPLATES_PATH $newfile '.tpl')) {

                        
$fp fopen(TEMPLATES_PATH $newfile '.tpl'"a+");
                        
flock ($fpLOCK_EX);
                        
fputs ($fp'');
                        
fflush($fp);
                        
flock ($fpLOCK_UN);
                        
fclose($fp);
                        
chmod(TEMPLATES_PATH $newfile '.tpl'0666);

                        
addMessage('Новый файл успешно создан!','ok');
                        
redirect('./?a=templates&amp;act=edit&file=' $newfile '.tpl');
                    }
                    else 
addMessage('Ошибка! Файл с данным названием уже существует!''error');
                }
                else 
addMessage('Ошибка! Недопустимое название файла!''error');
            } 
            else 
addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!''error');
        } 

        
show_header('Создание нового файла');

        if (!
is_dir(TEMPLATES_PATH)) mkdir(TEMPLATES_PATH0755);

        if (
is_writeable(TEMPLATES_PATH)) {

            echo 
'<div class="downlist2"><form action="?a=templates&amp;act=new&amp;rnd=' $_SESSION['token'] . '" method="post">';
            echo 
'Название файла:<br />';
            echo 
'<input type="text" name="newfile" maxlength="20" /><br /><br />';
            echo 
'<input value="Создать файл" type="submit" /></form><br />';
            echo 
'Разрешены латинские символы и цифры, а также знаки дефис и нижнее подчеркивание<br /></div>';
        } else {
            echo 
'<div class="downlist2"><b>Директория недоступна для создания файлов!</b></div>';
        } 

        echo 
'<div class="downlist2"><img src="' ICONS 'return.png" alt="" /> <a href="?a=templates">Вернуться</a><br /></div>';
    break;
    
# ###########################################################################################
    # #                                    Удаление файла                                      ##
    # ###########################################################################################
    
case 'del':

        if (
preg_match('|^[a-z0-9_.-]+$|i'$file)) {

            if (
file_exists(TEMPLATES_PATH $file)) {

                if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                    if ( !
array_key_exists(str_replace('.tpl'''$file), $sys_tmp) ) {

                        if (
unlink (TEMPLATES_PATH $file)) {

                            
addMessage('Файл успешно удален!','ok');
                            
redirect('./?a=templates');
                        }
                        else 
addMessage('Ошибка! Не удалось удалить файл!','error');
                    }
                    else 
addMessage('Ошибка! Запрещено удалять системные файлы!','error');
                }

                
show_header('Удаление файла ' $file);
                echo 
'<div class="downlist2">Вы подтверждаете что хотите удалить файл <b>' $file '</b><br />';
                echo 
'<b><a href="?a=templates&amp;act=del&amp;file=' $file '&amp;rnd=' $_SESSION['token'] . '">Да, Удалить</a></b><br /></div>';
                echo 
'<div class="downlist2"><img src="' ICONS 'return.png" alt="" /> <a href="?a=templates">Вернуться</a><br /></div>';
            }
            else {
                
addMessage('Ошибка! Данного файла не существует!','error');
                
redirect('./?a=templates');
            } 
        }
        else {
            
addMessage('Ошибка! Недопустимое название страницы!','error');
            
redirect('./?a=templates');
        } 

    break;
    
# ###########################################################################################
    # #                                     Удаление файла                                     ##
    # ###########################################################################################
endswitch;

# Вспомогательная функция быстрой вставки
function quickpaste($form) {
  echo 
'<script language="JavaScript" type="text/javascript">
function tag(text1, text2) { 
if ((document.selection)) { 
document.form.' 
$form '.focus(); 
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2; 
} else if(document.forms['
form'].elements['' . $form . ''].selectionStart!=undefined) { 
var element = document.forms['
form'].elements['' . $form . '']; 
var str = element.value; 
var start = element.selectionStart; 
var length = element.selectionEnd - element.selectionStart; 
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); 
} else document.form.' 
$form '.value += text1+text2; 
}    
</script>'
;
}

# Функция вывода админских тегов
function quicktags() {
    echo 
'Быстрые теги <br />';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;a href=&quot;&quot;&gt;', '&lt;/a&gt;');"><img src="' IMAGES 'editor/a.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;img src=&quot;', '&quotalt=&quot;image&quot; /&gt;');"><img src="' IMAGES 'editor/img.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;br /&gt;', '');"><img src="' IMAGES 'editor/br.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;hr /&gt;', '');"><img src="' IMAGES 'editor/hr.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;b&gt;', '&lt;/b&gt;');"><img src="' IMAGES 'editor/b.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;big&gt;', '&lt;/big&gt;');"><img src="' IMAGES 'editor/big.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;small&gt;', '&lt;/small&gt;');"><img src="' IMAGES 'editor/small.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;i&gt;', '&lt;/i&gt;');"><img src="' IMAGES 'editor/i.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;u&gt;', '&lt;/u&gt;');"><img src="' IMAGES 'editor/u.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;div style=&quot;text-align:left&quot;&gt;', '&lt;/div&gt;');"><img src="' IMAGES 'editor/left.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;div style=&quot;text-align:center&quot;&gt;', '&lt;/div&gt;');"><img src="' IMAGES 'editor/center.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;div style=&quot;text-align:right&quot;&gt;', '&lt;/div&gt;');"><img src="' IMAGES 'editor/right.gif" alt="" /></a>';
    echo 
'<a href="#form" onclick="javascript:tag('&lt;span style=&quot;color:#ff0000&quot;&gt;', '&lt;/span&gt;');"><img src="' . IMAGES . 'editor/red.gif" alt="" /></a>';
    
echo '<a href="#form" onclick="javascript:tag('&lt;span style=&quot;color:#00ff00&quot;&gt;', '&lt;/span&gt;');"><img src="' . IMAGES . 'editor/green.gif" alt="" /></a>';
    
echo '<a href="#form" onclick="javascript:tag('&lt;span style=&quot;color:#0000ff&quot;&gt;', '&lt;/span&gt;');"><img src="' . IMAGES . 'editor/blue.gif" alt="" /></a>';
    
echo '<a href="#form" onclick="javascript:tag('&lt;span style=&quot;color:#ffff00&quot;&gt;', '&lt;/span&gt;');"><img src="' . IMAGES . 'editor/yellow.gif" alt="" /></a>';
    
echo '<br />';
}

?>
Онлайн: 0
Реклама