File size: 10.7Kb
<?php
require_once ("../includes/start.php");
require_once ("../includes/functions.php");
require_once ("../includes/header.php");
include_once ("../themes/".$config['themes']."/verh.dat");
if (isset($_GET['start'])) {$start = (int)$_GET['start'];} else {$start = 0;}
if (isset($_GET['action'])) {$action = check($_GET['action']);} else {$action = "";}
if (isset($_GET['file'])) {$file = check($_GET['file']);} else {$file = "";}
if (is_admin(array(101)) && $log==$config['nickname']){
show_title('Редактирование страниц');
############################################################################################
## Главная страница ##
############################################################################################
if ($action==""){
$arrfiles = array();
$globfiles = glob(DATADIR."datamain/*.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."datamain/$arrfiles[$i]"));
$strok = count(file(DATADIR."datamain/$arrfiles[$i]"));
if ($arrfiles[$i]=='index.dat'){
echo '<div class="b">';
echo '<b><a href="../index.php"><span style="color:#330000">'.$arrfiles[$i].'</span></a></b> ('.$size.')<br>';
echo '<a href="files.php?action=edit&file='.$arrfiles[$i].'">Редактировать</a> | ';
echo '<a href="files.php?action=obzor&file='.$arrfiles[$i].'">Просмотр</a></div>';
echo '<div>Кол. строк: '.$strok.'<br>';
echo 'Изменен: '.date_fixed(filemtime(DATADIR."datamain/$arrfiles[$i]")).'</div>';
} else {
echo '<div class="b">';
echo '<b><a href="../pages/index.php?action='.$filename.'">'.$arrfiles[$i].'</a></b> ('.$size.')<br>';
echo '<a href="files.php?action=edit&file='.$arrfiles[$i].'">Редактировать</a> | ';
echo '<a href="files.php?action=obzor&file='.$arrfiles[$i].'">Просмотр</a> | ';
echo '<a href="files.php?action=poddel&file='.$arrfiles[$i].'">Удалить</a></div>';
echo '<div>Кол. строк: '.$strok.'<br>';
echo 'Изменен: '.date_fixed(filemtime(DATADIR."datamain/$arrfiles[$i]")).'</div>';
}}
page_jumpnavigation('files.php?', $config['editfiles'], $start, $total);
page_strnavigation('files.php?', $config['editfiles'], $start, $total);
echo '<br><br>Всего файлов: <b>'.(int)$total.'</b><br>';
} else {show_error('Файлов еще нет!');}
echo'<br><a href="files.php?action=new">Создать</a><br>';
}
############################################################################################
## Обзор файла ##
############################################################################################
if ($action=="obzor"){
if (preg_match('|^[a-z0-9_\.\-]+$|i', $file)){
if (file_exists(DATADIR."datamain/$file")){
echo '<b>Просмотр файла '.$file.'</b><br>';
$opis = file_get_contents(DATADIR."datamain/$file");
$count = count($opis);
echo 'Строчек: '.(int)$count.'<br><br>';
echo highlight_code(check($opis)).'<br>';
echo '<br><a href="files.php?action=edit&file='.$file.'">Редактировать</a><br>';
echo '<a href="files.php?action=poddel&file='.$file.'">Удалить</a>';
} else {show_error('Ошибка! Данного файла не существует!');}
} else {show_error('Ошибка! Недопустимое название страницы!');}
echo '<br><a href="files.php">Вернуться</a>';
}
############################################################################################
## Подготовка к редактированию ##
############################################################################################
if ($action=="edit"){
if (preg_match('|^[a-z0-9_\.\-]+$|i', $file)){
if (file_exists(DATADIR."datamain/$file")){
if (is_writeable(DATADIR."datamain/$file")){
$datamainfile = file_get_contents(DATADIR."datamain/$file");
$filename = str_replace(".dat","",$file);
$datamainfile = str_replace('&','&',$datamainfile);
echo '<div class="form" id="form">';
echo '<b>Редактирование файла '.$file.'</b><br>';
echo '<form action="files.php?action=editfile&file='.$file.'&uid='.$_SESSION['token'].'" name="form" method="post">';
echo '<textarea cols="90" rows="20" name="msg">'.check($datamainfile).'</textarea><br>';
quickpaste('msg');
quicktags();
echo '<br><input type="submit" value="Редактировать"></form></div>';
} else {show_error('Ошибка! Файл недоступен для записи!');}
} else {show_error('Ошибка! Данного файла не существует!');}
} else {show_error('Ошибка! Недопустимое название страницы!');}
echo '<br><a href="files.php">Вернуться</a><br>';
echo '<a href="../pages/index.php?action='.$filename.'">Просмотр</a>';
}
############################################################################################
## Редактирование файла ##
############################################################################################
if ($action=="editfile"){
$uid = check($_GET['uid']);
$msg = $_POST['msg'];
if ($uid==$_SESSION['token']){
if ($msg!=""){
if (preg_match('|^[a-z0-9_\.\-]+$|i', $file)){
if (file_exists(DATADIR."datamain/$file")){
$msg = str_replace('&','&',$msg);
write_files(DATADIR."datamain/$file", $msg, 1);
header ("Location: files.php?action=edit&file=$file&isset=mp_editfiles"); exit;
} else {show_error('Ошибка! Данного файла не существует!');}
} else {show_error('Ошибка! Недопустимое название страницы!');}
} else {show_error('Ошибка! Вы не ввели текст для редактирования!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
echo '<br><a href="files.php?action=edit&file='.$file.'">Вернуться</a>';
}
############################################################################################
## Подготовка к созданию файла ##
############################################################################################
if($action=="new"){
echo '<b>Создание нового файла</b><br><br>';
if (is_writeable(DATADIR."datamain")){
echo '<div class="form"><form action="files.php?action=addnew&uid='.$_SESSION['token'].'" method="post">';
echo 'Название файла:<br>';
echo '<input type="text" name="newfile" maxlength="20"><br><br>';
echo '<input value="Создать файл" type="submit"></form></div>';
echo '<br>Разрешены латинские символы и цифры, а также знаки дефис и нижнее подчеркивание<br>';
} else {show_error('Директория недоступна для создания файлов!');}
echo '<br><a href="files.php">Вернуться</a>';
}
############################################################################################
## Создание файла ##
############################################################################################
if ($action=="addnew"){
$uid = check($_GET['uid']);
$newfile = check($_POST['newfile']);
if ($uid==$_SESSION['token']){
if (preg_match('|^[a-z0-9_\-]+$|i', $newfile)){
if (!file_exists(DATADIR.'datamain/'.$newfile.'.dat')){
write_files(DATADIR.'datamain/'.$newfile.'.dat', '', 1, 0666);
header ('Location: files.php?action=edit&file='.$newfile.'.dat&isset=mp_newfiles');
} else {show_error('Ошибка! Файл с данным названием уже существует!');}
} else {show_error('Ошибка! Недопустимое название файла!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
echo '<br><a href="files.php?action=new">Вернуться</a>';
}
############################################################################################
## Подготовка к удалению ##
############################################################################################
if ($action=="poddel"){
if (preg_match('|^[a-z0-9_\.\-]+$|i', $file)){
if (file_exists(DATADIR."datamain/$file")){
echo 'Вы подтверждаете что хотите удалить файл <b>'.$file.'</b><br>';
echo '<b><a href="files.php?action=del&file='.$file.'&uid='.$_SESSION['token'].'">Удалить</a></b><br>';
} else {show_error('Ошибка! Данного файла не существует!');}
} else {show_error('Ошибка! Недопустимое название страницы!');}
echo '<br><a href="files.php">Вернуться</a>';
}
############################################################################################
## Удаление файла ##
############################################################################################
if($action=="del"){
$uid = check($_GET['uid']);
if ($uid==$_SESSION['token']){
if (preg_match('|^[a-z0-9_\.\-]+$|i', $file)){
if (file_exists(DATADIR."datamain/$file")){
if ($file!='index.dat'){
if (unlink (DATADIR."datamain/$file")){
header ("Location: files.php?isset=mp_delfiles"); exit;
} else {show_error('Ошибка! Не удалось удалить файл!');}
} else {show_error('Ошибка! Запрещено удалять главный файл!');}
} else {show_error('Ошибка! Данного файла не существует!');}
} else {show_error('Ошибка! Недопустимое название страницы!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
echo '<br><a href="files.php">Вернуться</a>';
}
echo'<br><a href="index.php">В админку</a><br>';
echo'<a href="../index.php">На главную</a><br>';
} else {header ("Location: ../index.php?isset=404"); exit;}
include_once ("../themes/".$config['themes']."/niz.dat");
?>