Вход Регистрация
Файл: public_html/mpanel/files.php
Строк: 161
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#    
require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/' . $config['themes'] . '/index.php');

if (isset(
$_GET['act'])) {
    
$act = check($_GET['act']);
} else {
    
$act = 'index';
} 
if (isset(
$_GET['start'])) {
    
$start = abs(intval($_GET['start']));
} else {
    
$start = 0;
} 
if (isset(
$_GET['file'])) {
    
$file = check($_GET['file']);
} else {
    
$file = '';
} 


    
show_title('menu.png', 'Редактирование страниц');
    
$config['newtitle'] = 'Редактирование страниц';

    switch (
$act):
    
# ###########################################################################################
    # #                                    Главная страница                                    ##
    # ###########################################################################################
    
case 'index':

        
$arrfiles = array();
        
$globfiles = glob(DATADIR . "main/*.dat");
        foreach (
$globfiles as $filename) {
            
$arrfiles[] = basename($filename);
        } 

        
$total = count($arrfiles);

        if (
$total > 0) {
            if (
$start < 0 || $start > $total) {
                
$start = 0;
            } 
            if (
$total < $start + $config['editfiles']) {
                
$end = $total;
            } else {
                
$end = $start + $config['editfiles'];
            } 
            for (
$i = $start; $i < $end; $i++) {
                
$filename = str_replace('.dat', '', $arrfiles[$i]);
                
$size = formatsize(filesize(DATADIR . "main/$arrfiles[$i]"));
                
$strok = count(file(DATADIR . "main/$arrfiles[$i]"));

                if (
$arrfiles[$i] == 'index.dat') {
                    echo 
'<div class="b"><img src="../images/img/edit.gif" alt="image" /> ';
                    echo 
'<b><a href="../index.php?' . SID . '"><span style="color:#ff0000">' . $arrfiles[$i] . '</span></a></b> (' . $size . ')<br />';
                    echo 
'<a href="files.php?act=edit&amp;file=' . $arrfiles[$i] . '&amp;' . SID . '">Редактировать</a> | ';
                    echo 
'<a href="files.php?act=obzor&amp;file=' . $arrfiles[$i] . '&amp;' . SID . '">Просмотр</a></div>';
                    echo 
'<div>Кол. строк: ' . $strok . '<br />';
                    echo 
'Изменен: ' . date_fixed(filemtime(DATADIR . "main/$arrfiles[$i]")) . '</div>';
                } else {
                    echo 
'<div class="b"><img src="../images/img/edit.gif" alt="image" /> ';
                    echo 
'<b><a href="../pages/index.php?act=' . $filename . '&amp;' . SID . '">' . $arrfiles[$i] . '</a></b> (' . $size . ')<br />';
                    echo 
'<a href="files.php?act=edit&amp;file=' . $arrfiles[$i] . '&amp;' . SID . '">Редактировать</a> | ';
                    echo 
'<a href="files.php?act=obzor&amp;file=' . $arrfiles[$i] . '&amp;' . SID . '">Просмотр</a> | ';
                    echo 
'<a href="files.php?act=poddel&amp;file=' . $arrfiles[$i] . '&amp;' . SID . '">Удалить</a></div>';
                    echo 
'<div>Кол. строк: ' . $strok . '<br />';
                    echo 
'Изменен: ' . date_fixed(filemtime(DATADIR . "main/$arrfiles[$i]")) . '</div>';
                } 
            } 

            
page_strnavigation('files.php?', $config['editfiles'], $start, $total);

            echo 
'Всего файлов: <b>' . (int)$total . '</b><br /><br />';
        } else {
            
show_error('Файлов еще нет!');
        } 

        echo
'<img src="../images/img/files.gif" alt="image" /> <a href="files.php?act=new&amp;' . SID . '">Создать</a><br />';
        echo
'<img src="../images/img/faq.gif" alt="image" /> <a href="files.php?act=faq&amp;' . SID . '">Помощь</a><br />';
        break;
    
# ###########################################################################################
    # #                                      Обзор файла                                       ##
    # ###########################################################################################
    
case 'obzor':

        if (
preg_match('|^[a-z0-9_.-]+$|i', $file)) {
            if (
file_exists(DATADIR . "main/$file")) {
                echo 
'<b>Просмотр файла ' . $file . '</b><br />';

                
$opis = file_get_contents(DATADIR . "main/$file");
                
$count = count(file(DATADIR . "main/$file"));

                echo 
'Строк: ' . (int)$count . '<br /><br />';

                echo 
highlight_code(check($opis)) . '<br /><br />';

                echo 
'<img src="../images/img/edit.gif" alt="image" /> <a href="files.php?act=edit&amp;file=' . $file . '&amp;' . SID . '">Редактировать</a><br />';
                echo 
'<img src="../images/img/error.gif" alt="image" /> <a href="files.php?act=poddel&amp;file=' . $file . '&amp;' . SID . '">Удалить</a><br />';
            } else {
                
show_error('Ошибка! Данного файла не существует!');
            } 
        } else {
            
show_error('Ошибка! Недопустимое название страницы!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="files.php?' . SID . '">Вернуться</a><br />';
        break;
    
# ###########################################################################################
    # #                             Подготовка к редактированию                                ##
    # ###########################################################################################
    
case 'edit':

        if (
file_exists(DATADIR . "main/$file")) {
                if (
is_writeable(DATADIR . "main/$file")) {
                    
$mainfile = file_get_contents(DATADIR . "main/$file");
                    
$filename = str_replace(".dat", "", $file);
                    
$mainfile = str_replace('&amp;', '&', $mainfile);

                    echo 
'<div class="form" id="form">';
                    echo 
'<b>Редактирование файла ' . $file . '</b><br />';

                    echo 
'<form action="files.php?act=editfile&amp;file=' . $file . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" name="form" method="post">';

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

                    
quickpaste('msg');
                    
quicktags();

                    echo 
'<br /><input type="submit" value="Редактировать" /></form></div><br />';
                } else {
                    
show_error('Ошибка! Файл недоступен для записи!');
                } 
            } else {
                
show_error('Ошибка! Данного файла не существует!');
            } 
            
        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="files.php?' . SID . '">Вернуться</a><br />';
        echo 
'<img src="../images/img/online.gif" alt="image" /> <a href="../pages/index.php?act=' . $filename . '&amp;' . SID . '">Просмотр</a><br />';
        break;
    
# ###########################################################################################
    # #                                  Редактирование файла                                  ##
    # ###########################################################################################
    
case 'editfile':

        
$uid = check($_GET['uid']);
        
$msg = $_POST['msg'];

        if (
$uid == $_SESSION['token']) {
            if (!empty(
$msg)) {
                if (
file_exists(DATADIR . 'main/' . $file)) {
                        
$msg = str_replace('&', '&amp;', $msg);

                        
$fp = fopen(DATADIR . 'main/' . $file, "a+");
                        
flock ($fp, LOCK_EX);
                        
ftruncate($fp, 0);
                        
fputs ($fp, $msg);
                        
fflush($fp);
                        
flock ($fp, LOCK_UN);
                        
fclose($fp);

                        
$_SESSION['note'] = 'Файл успешно отредактирован!';
                        
header ("Location: files.php?act=edit&file=$file&" . SID);
                        exit;
                    } else {
                        
show_error('Ошибка! Данного файла не существует!');
                    } 
            } else {
                
show_error('Ошибка! Вы не ввели текст для редактирования!');
            } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<br /><img src="../images/img/back.gif" alt="image" /> <a href="files.php?act=edit&amp;file=' . $file . '&amp;' . SID . '">Вернуться</a>';
        break;
    
# ###########################################################################################
    # #                                       Помощь                                           ##
    # ###########################################################################################
    
case 'faq':

        echo 
'<b>Сокрашенные коды RotorCMS</b><br /><br />';

        echo 
'<img src="../images/editor/a.gif" alt="image" /> - Тег служит для создания гипертекста (ссылок). Гипертекст позволяет осуществлять мгновенный переход от одного фрагмента текста к другому.<br />';
        echo 
'<img src="../images/editor/img.gif" alt="image" /> - Тег служит для внедрения графики на страницы. alt - Выводит текст к картинке. Полезно, если браузер не отображает графику на странице.<br />';
        echo 
'<img src="../images/editor/br.gif" alt="image" /> - Тег служит для перевода текста на следующую строку<br />';
        echo 
'<img src="../images/editor/hr.gif" alt="image" /> - Тег добавляет в HTML документ горизонтальную линию. Перед и после линии помещается пустая строка<br />';
        echo 
'<img src="../images/editor/b.gif" alt="image" /> - Тег создает жирный текст<br />';
        echo 
'<img src="../images/editor/big.gif" alt="image" /> - Тег выводит более крупный текст<br />';
        echo 
'<img src="../images/editor/small.gif" alt="image" /> - Тег выводит более мелкий текст<br />';
        echo 
'<img src="../images/editor/i.gif" alt="image" /> - Тег создает наклонный текст<br />';
        echo 
'<img src="../images/editor/u.gif" alt="image" /> - Тег указывает, что текст должен быть подчеркнут<br />';
        echo 
'<img src="../images/editor/right.gif" alt="image" /> - Тег создает новый блок. Текст выровнен по правому краю<br />';
        echo 
'<img src="../images/editor/center.gif" alt="image" /> - Тег создает новый блок. Текст выровнен по центру<br />';
        echo 
'<img src="../images/editor/left.gif" alt="image" /> - Тег создает новый блок. Текст выровнен по левому краю<br />';

        echo 
'<img src="../images/editor/red.gif" alt="image" /> - Тег изменяет цвет текста на красный<br />';
        echo 
'<img src="../images/editor/green.gif" alt="image" /> - Тег изменяет цвет текста на зеленый<br />';
        echo 
'<img src="../images/editor/blue.gif" alt="image" /> - Тег изменяет цвет текста на синий<br />';
        echo 
'<img src="../images/editor/yellow.gif" alt="image" /> - Тег изменяет цвет текста на желтый<br /><br />';

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="files.php?' . SID . '">Вернуться</a><br />';
        break;
    
# ###########################################################################################
    # #                             Подготовка к созданию файла                                ##
    # ###########################################################################################
    
case 'new':

        echo 
'<b>Создание нового файла</b><br /><br />';

        if (
is_writeable(DATADIR . "main")) {
            echo 
'<div class="form"><form action="files.php?act=addnew&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';
            echo 
'Название файла:<br />';
            echo 
'<input type="text" name="newfile" maxlength="20" /><br /><br />';
            echo 
'<input value="Создать файл" type="submit" /></form></div>';
            echo 
'<br />Разрешены латинские символы и цифры, а также знаки дефис и нижнее подчеркивание<br /><br />';
        } else {
            
show_error('Директория недоступна для создания файлов!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="files.php?' . SID . '">Вернуться</a><br />';
        break;
    
# ###########################################################################################
    # #                                      Создание файла                                    ##
    # ###########################################################################################
    
case 'addnew':

        
$uid = check($_GET['uid']);
        
$newfile = check($_POST['newfile']);

        if (
$uid == $_SESSION['token']) {
            if (!
file_exists(DATADIR . 'main/' . $newfile . '.dat')) {
                    
$fp = fopen(DATADIR . 'main/' . $newfile . '.dat', "a+");
                    
flock ($fp, LOCK_EX);
                    
fputs ($fp, '');
                    
fflush($fp);
                    
flock ($fp, LOCK_UN);
                    
fclose($fp);
                    
chmod(DATADIR . 'main/' . $newfile . '.dat', 0666);

                    
$_SESSION['note'] = 'Новый файл успешно создан!';
                    
header ('Location: files.php?act=edit&file=' . $newfile . '.dat&' . SID);
                    exit;
                } else {
                    
show_error('Ошибка! Файл с данным названием уже существует!');
                } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<br /><img src="../images/img/back.gif" alt="image" /> <a href="files.php?act=new&amp;' . SID . '">Вернуться</a>';
        break;
    
# ###########################################################################################
    # #                                  Подготовка к удалению                                 ##
    # ###########################################################################################
    
case 'poddel':

        if (
preg_match('|^[a-z0-9_.-]+$|i', $file)) {
            if (
file_exists(DATADIR . "main/$file")) {
                echo 
'Вы подтверждаете что хотите удалить файл <b>' . $file . '</b><br />';
                echo 
'<img src="../images/img/error.gif" alt="image" /> <b><a href="files.php?act=del&amp;file=' . $file . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '">Удалить</a></b><br /><br />';
            } else {
                
show_error('Ошибка! Данного файла не существует!');
            } 
        } else {
            
show_error('Ошибка! Недопустимое название страницы!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="files.php?' . SID . '">Вернуться</a><br />';
        break;
    
# ###########################################################################################
    # #                                     Удаление файла                                     ##
    # ###########################################################################################
    
case 'del':

        
$uid = check($_GET['uid']);

        if (
$uid == $_SESSION['token']) {
            if (
preg_match('|^[a-z0-9_.-]+$|i', $file)) {
                if (
file_exists(DATADIR . "main/$file")) {
                    if (
$file != 'index.dat') {
                        if (
unlink (DATADIR . "main/$file")) {
                            
$_SESSION['note'] = 'Файл успешно удален!';
                            
header ("Location: files.php?" . SID);
                            exit;
                        } else {
                            
show_error('Ошибка! Не удалось удалить файл!');
                        } 
                    } else {
                        
show_error('Ошибка! Запрещено удалять главный файл!');
                    } 
                } else {
                    
show_error('Ошибка! Данного файла не существует!');
                } 
            } else {
                
show_error('Ошибка! Недопустимое название страницы!');
            } 
        } else {
            
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="files.php?' . SID . '">Вернуться</a><br />';
        break;

    default:
        
header("location: files.php?" . SID);
        endswitch;

        echo 
'<img src="../images/img/panel.gif" alt="image" /> <a href="index.php?' . SID . '">В админку</a><br />';
        echo 
'<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a>';
   

include_once (
'../themes/' . $config['themes'] . '/foot.php');

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