<?php
/***************************************************************************
* mides.ru
* -------------------
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = '../';
include($phpbb_root_path . 'extension.inc');
include('pagestart.'.$phpEx);
//////////права доступа
function permissions($filez){
$filez = decoct(fileperms($filez)) % 1000;
return $filez;
}
//////////
//--------------- Функция листинга всех файлов и папок ---------------//
function scan_dir($dirname){
GLOBAL $array_check,$totalfiles_check,$totalsize_check,$totalfolders_check,$config_nocheck;
$no_check = explode(',',$config_nocheck);
$dir = opendir($dirname);
while (($file = readdir($dir)) !== false){
if($file != "." && $file != ".."){
if(is_file("$dirname/$file")){
$ext = strtolower(substr($file, strrpos($file, '.') + 1));
if (!in_array($ext, $no_check)){
$array_check[] = $dirname."/".$file." - ".date("d.m.y / H:i",filemtime($dirname."/".$file))." - ".formatsize(filesize($dirname."/".$file));
$totalfiles_check++;
$totalsize_check+= filesize($dirname."/".$file);
}
}
if(is_dir("$dirname/$file")){
$array_check[] = "$dirname/$file";
$totalfolders_check++;
scan_dir("$dirname/$file");
}
}}
closedir($dir);
}
// $file = check($file);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
echo'<div class="header">Редактирование страниц</div>';
$act = $HTTP_GET_VARS['act'];
if(!isset($act)){
echo '<div class="s1">Список файлов</div><div class="s2">';
$config_editfiles = 10;
$dir = opendir ("../templates/");
while ($file = readdir ($dir)) {
if (!eregi("[^a-z0-9_.-]",$file) && ereg("\.tpl$", $file)) {$a[]=$file;}}
closedir ($dir);
sort($a);
$total = count($a);
$start = (int)$_GET['start'];
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","",$a[$i]);
$siz= filesize("../templates/$a[$i]");
$strok= count(file("../templates/$a[$i]"));
$siz= round($siz/1024,2);
echo '<a href="../pages/?view='.$filename.'&">'.$a[$i].'</a></b> ('.$siz.' kb) ';
echo '<a href="files.php?act=edit&file='.$a[$i].'">(изм</a>/<a href="files.php?act=poddel&file='.$a[$i].'&">уд)</a><br/>';
}
echo '</div><div class="s1" style="text-align: left">Навигация</div><div class="s2" style="text-align: left">';
if ($start != 0) {echo '<a href="files.php?start='.($start - $config_editfiles).'&"><пред.</a>';}else{echo'<пред.';}
echo'|';
if ($total > $start + $config_editfiles) {echo '<a href="files.php?start='.($start + $config_editfiles).'&">след.></a>';}else{echo'след.>';}
if($total>0){
$ba=ceil($total/$config_editfiles);
$ba2=$ba*$config_editfiles-$config_editfiles;
echo '<br>';
$asd=$start-($config_editfiles*3);
$asd2=$start+($config_editfiles*4);
if($asd<$total && $asd>0){echo ' <a href="files.php?start=0&">1</a> ';}
for($i=$asd; $i<$asd2;)
{
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_editfiles);
if ($start==$i) {
echo ' <u>'.$ii.'</u>';
} else {
echo ' <a href="files.php?start='.$i.'&">'.$ii.'</a>';
}}
$i=$i+$config_editfiles;}
if($asd2<$total){echo ' <a href="files.php?start='.$ba2.'&">'.$ba.'</a>';}
}
echo'<br/><a href="files.php?act=new&">cоздать</a>';
}
//---------------------- Подготовка к редактированию файла -----------------------------//
if($act=="edit"){
if(file_exists("../templates/$file")){
if(!eregi("[^a-z0-9_@+\.-]",$file)){
if($file!=""){
$tplmainfile=file_get_contents("../templates/$file");
$tplmainper=permissions("../templates/$file");
$filename = str_replace(".tpl","",$file);
$tplmainfile = str_replace('&','&',$tplmainfile);
echo 'Редактирование файла '.$file.'<br>';
echo 'Права доступа CHMOD '.$datamainper.'<br>';
if(is_writeable("../templates/$file")){
echo '<font color="#00FF00">Файл доступен для записи</font></div>';
}else{
echo '<font color="#FF0000">Файл недоступен для записи</font></div>';}
echo '<div class=body><form action="files.php?action=editfile&file='.$file.'&'.SID.'" name="form" method="POST">';
echo '<textarea cols="110" rows="20" name="text_files">';
echo check($datamainfile);
echo '</textarea><br>';
echo '<input type="submit" value="Сохранить"></form></div>';
}else{ echo 'Произошла ошибка, не выбран файл<br>';}
}else{ echo 'Недопустимое название файла!<br>';}
}else{ echo 'Произошла ошибка, файл '.check($file).' не найден<br>';}
echo '<div class=btm><img src="../images/img/plus.gif" alt=""> <a href="files.php?'.SID.'">Вернуться</a><br>';
echo '<img src="../images/img/plus.gif" alt=""> <a href="../pages/index.php?action='.$filename.'&'.SID.'">Просмотр</a>';
}
//---------------------- Редактирование файла -----------------------------//
if($act=="editfile"){
if($file!="" && $text_files!=""){
$text_files = str_replace('&','&',$text_files);
$fp = fopen("../templates/$file","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$text_files);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
}
header ("Location: files.php?action=edit&file=$file&isset=mp_editfiles&".SID);
}
//---------------------- Подготовка к созданию нового файла -----------------------------//
if($act=="new"){
$tplmainper=permissions("../templates");
echo '<div class=tpanel>Создание нового файла<br>';
echo 'Права доступа директории CHMOD '.$datamainper.'<br>';
if(is_writeable("../templates")){
echo '<font color="#00FF00">Директория доступна для создания файлов</font></div>';
echo '<div class=body><form method="post" action="files.php?act=addnew&">';
echo 'Название файла [A-z-_0-9]:<br>';
echo '<input type="text" name="newfile" maxlength="20" /><br>';
echo '<input value="Создать файл" type="submit" /></form></div>';
}else{
echo '<font color="#FF0000">Директория недоступна для создания файлов</font><br>Необходимо войти по FTP и поставить права разрешающие запись в папку templates (CHMOD-777)<br><br>';}
echo '<div class=btm><img src="../images/img/plus.gif" alt=""> <a href="files.php?'.SID.'">Вернуться</a>';
}
//---------------------- Создание нового файла -----------------------------//
if($act=="addnew"){
if(!eregi("[^a-z0-9_-]",$newfile) && $newfile!=""){
$newfiles="$newfile.tpl";
if(!file_exists("../templates/$newfiles")){
$allfile = fopen("../templates/$newfiles", "a+");
fclose($allfile);
chmod ($allfile, 0666);
chmod ("../templates/$newfiles", 0666);
}else{header ("Location: files.php?action=new&isset=mp_noyesfiles&".SID); exit;}
}else{header ("Location: files.php?action=new&isset=mp_nonewfiles&".SID); exit;}
header ("Location: files.php?action=edit&file=$newfiles&isset=mp_newfiles&".SID);
}
//---------------------- Подготовка к удалению файла -----------------------------//
if($act=="poddel"){
if($file!=""){
if($file!="index.tpl"){
echo '<div class=body>Вы подтверждаете что хотите удалить файл <b>'.$file.'</b><br>';
echo '- <b><a href="files.php?act=del&file='.$file.'&">Удалить</a></b></div>';
}else{echo 'Ошибка! Файл index.tpl удалять нельзя, это главная страница сайта!</div>';}
}else{echo 'Ошибка! Не выбран файл для удаления</div>';}
echo '<div class=btm><img src="../images/img/plus.gif" alt=""> <a href="files.php?'.SID.'">Вернуться</a>';
}
//---------------------- Удаление файла -----------------------------//
if($act=="del"){
if(file_exists("../templates/$file") && $file!="index.tpl"){
unlink ("../templates/$file");
}else{header ("Location: files.php?isset=mp_nodelfiles&".SID); exit;}
header ("Location: files.php?isset=mp_delfiles&".SID);
}
echo'<br/><a href="./">в админку</a><br/><a href="../">на главную</a></div>';
include('./page_footer_admin.'.$phpEx);
?>