File size: 11.28Kb
<?php
// coding by Felis
session_start();
require_once 'sys/core.php';
require_once 'sys/fnc.php';
require_once 'templates/header.php';
if(md5($_POST['password']) == $passwd) {
$_SESSION['passwd'] = $passwd;
}
if($_SESSION['passwd'] == $passwd) {
switch ($_GET['do']) {
case '':
echo '<div class="head">Панель администратора</div>
<div class="cont">';
if(isset($_GET['success']))
{ echo '<i><small><span class="alert">Настройки сохранены =)</span></small></i><br/>'; }
if(isset($_GET['failure']))
{ echo '<i><small><span class="alert">Настройки не сохранены =(</span></small></i><br/>'; }
echo '<b>Добавить выражение:</b><br/><a href="?do=exp">Русское</a> | <a href="?do=enexp">Английское</a><br/>
<a href="?do=sys">Настройки системы</a><br/>
<a href="?do=pass">Сменить пароль</a><br/>
<a href="?do=exit">Выход</a>
<hr/>
<a href="http://'.INDEX.'">На главную</a>
</div>';
break;
case 'exp':
echo '<div class="head">Добавить выражение</div>
<div class="cont">';
if(isset($_GET['success']))
{ echo '<i><small><span class="alert">Выражение было успешно добавлено =)</span></small></i><br/>'; }
if(isset($_GET['failure']))
{ echo '<i><small><span class="alert">Выражение не было добавлено =(</span></small></i><br/>'; }
echo '<form action="?do=exp_success" method="post">
Что заменять:<br/>
<input class="special" type="text" name="write"/><br/>
На что заменять:<br/>
<input class="special" type="text" name="rewrite"/><br/>
<input type="submit" value="Записать" style="border: 1px solid #999999;"/>
</form>
<hr/>
<i>
<b>В базе:</b> ';
$file = file('includes/exp.php');
$count = count($file);
echo $count - 2;
echo ' рус. выражений
</i>
<hr/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a>
</div>';
break;
case 'exp_success':
if(empty($_POST['write']) || empty($_POST['rewrite'])) {
header('Location: ?do=exp&failure');
exit;
}
$fileexp = 'includes/exp.php';
$line = 2;
$datawrite = '$msg = str_replace(\''.$_POST['write'].'\',\''.$_POST['rewrite'].'\',$msg);';
$array = file($fileexp);
$open = fopen($fileexp,'w');
if(!$open) {
echo '<div class="head">Произошла ошибка!</div>
<div class="cont">
Выражение не добавлено в базу данных =(</i>.
<hr/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a>
</div>';
echo '<meta http-equiv="refresh" content="0; url=?do=exp&failure"/>';
}
else {
while(list($num,$string) = each($array)) {
if(($num + 1) == $line) fputs($open,$datawrite."\r\n");
fputs($open,$string);
}
fclose($open);
echo '<div class="head">Успешно!</div>
<div class="cont">
<b>Rewrite</b>-выражение было успешно добавлено!
<hr/>
<a href="?do=exp">Добавить еще</a><br/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a>
</div>';
header('Location: ?do=exp&success');
}
break;
case 'enexp':
echo '<div class="head">Добавить выражение</div>
<div class="cont">';
if(isset($_GET['success']))
{ echo '<i><small><span class="alert">Выражение было успешно добавлено =)</span></small></i><br/>'; }
if(isset($_GET['failure']))
{ echo '<i><small><span class="alert">Выражение не было добавлено =(</span></small></i><br/>'; }
echo '<form action="?do=enexp_success" method="post">
Что заменять:<br/>
<input class="special" type="text" name="write"/><br/>
На что заменять:<br/>
<input class="special" type="text" name="rewrite"/><br/>
<input type="submit" value="Записать" style="border: 1px solid #999999;"/>
</form>
<hr/>
<i>
<b>В базе:</b> ';
$file = file('includes/enexp.php');
$count = count($file);
echo $count - 2;
echo ' англ. выражений
</i>
<hr/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a>
</div>';
break;
case 'enexp_success':
if(empty($_POST['write']) || empty($_POST['rewrite'])) {
header('Location: ?do=enexp&failure');
exit;
}
$fileexp = 'includes/enexp.php';
$line = 2;
$datawrite = '$msg = str_replace(\''.$_POST['write'].'\',\''.$_POST['rewrite'].'\',$msg);';
$array = file($fileexp);
$open = fopen($fileexp,'w');
if(!$open) {
echo '<div class="head">Произошла ошибка!</div>
<div class="cont">
Выражение не добавлено в базу данных =(</i>.
<hr/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a>
</div>';
header('Location: ?do=enexp&failure');
}
else {
while(list($num,$string) = each($array)) {
if(($num + 1) == $line) fputs($open,$datawrite."\r\n");
fputs($open,$string);
}
fclose($open);
echo '<div class="head">Успешно!</div>
<div class="cont">
<b>Rewrite</b>-выражение было успешно добавлено!
<hr/>
<a href="?do=enexp">Добавить еще</a><br/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a>
</div>';
header('Location: ?do=enexp&success');
}
break;
case 'sys':
echo '<div class="head">Настройки системы</div>
<div class="cont">
<form action="?do=sys_success" method="post">
Заголовок сайта:<br/>
<input type="text" name="conf_title" value="'.$title.'"/><br/>
Кодировка сайта:<br/>
<input type="text" name="conf_charset" value="'.$charset.'"/><br/>
Описание сайта:<br/>
<input type="text" name="conf_description" value="'.$description.'"/><br/>
Ключевые слова:<br/>
<input type="text" name="conf_keywords" value="'.$keywords.'"/><br/>
Индексация:<br/>
<input type="text" name="conf_robots" value="'.$robots.'"/><br/>
<hr/>
Название сервиса:<br/>
<input type="text" name="conf_desc" value="'.$desc.'"/><br/>
Девиз сервиса:<br/>
<input type="text" name="conf_motto" value="'.$motto.'"/><br/>
Адрес (без http://):<br/>
<input type="text" name="conf_addr" value="'.$addr.'"/><br/>
Копирайт автора:<br/>
<input type="text" name="conf_copyright" value="'.$copyright.'"/><br/>
Версия скрипта:<br/>
<input type="text" name="conf_version" value="'.$version.'"/><br/>
<hr/>
GZip-сжатие:<br/>
<select size="1" name="conf_gzip">
<option value="on">Включено</option>
<option value="off">Выключено</option>
</select><br/><br/>
<input type="submit" value="Сохранить"/>
</form>
<hr/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a><br/>
</div>';
break;
case 'sys_success':
$conf_title = htmlspecialchars(stripslashes(trim($_POST['conf_title'])));
$conf_charset = htmlspecialchars(stripslashes(trim($_POST['conf_charset'])));
$conf_description = htmlspecialchars(stripslashes(trim($_POST['conf_description'])));
$conf_keywords = htmlspecialchars(stripslashes(trim($_POST['conf_keywords'])));
$conf_robots = htmlspecialchars(stripslashes(trim($_POST['conf_robots'])));
$conf_template = htmlspecialchars(stripslashes(trim($_POST['conf_template'])));
$conf_desc = htmlspecialchars(stripslashes(trim($_POST['conf_desc'])));
$conf_motto = htmlspecialchars(stripslashes(trim($_POST['conf_motto'])));
$conf_addr = htmlspecialchars(stripslashes(trim($_POST['conf_addr'])));
$conf_copyright = htmlspecialchars(stripslashes(trim($_POST['conf_copyright'])));
$conf_version = htmlspecialchars(stripslashes(trim($_POST['conf_version'])));
$conf_gzip = htmlspecialchars(stripslashes(trim($_POST['conf_gzip'])));
$str_core = '<?php
// coding by Felis
// сЮстема
$gzip = \''.$conf_gzip.'\'; # GZip-сжатие (on - включено, off - выключено)
// мЭта-теги
$title = \''.$conf_title.'\'; # заголовок сайта
$charset = \''.$conf_charset.'\'; # кодировка сайта
$description = \''.$conf_description.'\'; # описание сайта
$keywords = \''.$conf_keywords.'\'; # ключевые слова
$robots = \''.$conf_robots.'\'; # настройка индексации
// кАсметика
$desc = \''.$conf_desc.'\'; # название сервиса
$motto = \''.$conf_motto.'\'; # девиз сервиса
$addr = \''.$conf_addr.'\'; # адрес сервиса (без http://)
$copyright = \''.$conf_copyright.'\'; # копирайт автора
$version = \''.$conf_version.'\'; # версия скрипта
?>';
// подготовка файла для записи
$open_core = fopen('sys/core.php', 'w+');
// если файл открыть нельзя..
if(!$open_core) {
echo '<div class="head">Ошибка!</div>
<div class="cont">
Нет прав на запись системного файла <i>sys/core.php!</i><br/><a href="?"><--</a>
</div>';
header('Location: ?do=&failure');
}
// а если можно, пишем конфиг..
else {
flock($open_core,LOCK_EX);
fputs($open_core,$str_core);
flock($open_core,LOCK_UN);
fclose($open_core);
echo '<div class="head">Успешно!</div>
<div class="cont">
Настройки системы успешно сохранены!<br/><a href="?"><--</a>
</div>';
header('Location: ?do=&success');
}
break;
case 'pass':
echo '<div class="head">Сменить пароль</div>
<div class="cont">
<form action="?do=pass_success" method="post">
Новый пароль:<br/>
<input type="password" name="conf_pass"/><br/>
<input type="submit" value="Сохранить"/>
</form>
<hr/>
<a href="?">В панель</a><br/>
<a href="http://'.INDEX.'">На главную</a><br/>
</div>';
break;
case 'pass_success':
$conf_pass = $_POST['conf_pass'];
$str_pass = '<?php
// coding by Felis
// Пароль администратора (зашифрован md5, не редактировать)
$passwd = \''.md5($conf_pass).'\';
?>';
// подготовка файла для записи
$open_pass = fopen('sys/fnc.php','w');
// если файл открыть нельзя..
if(!$open_pass) {
echo '<div class="head">Ошибка!</div>
<div class="cont">
Нет прав на запись системного файла <i>sys/fnc.php!</i><br/><a href="?do="><--</a>
</div>';
header('Location: ?do=pass&failure');
}
// а если можно, пишем конфиг..
else {
flock($open_pass,LOCK_EX);
fputs($open_pass,$str_pass);
flock($open_pass,LOCK_UN);
fclose($open_pass);
echo '<div class="head">Пароль изменен!</div>
<div class="cont">
Пароль был успешно изменен! Авторизуйтесь заново.
<hr/>
<a href="login.php?">Войти</a><br/>
<a href="http://'.INDEX.'">На главную</a><br/>
</div>';
}
break;
case 'exit':
unset($_SESSION['passwd']);
session_destroy();
echo '<div class="head">Выйти из системы</div>
<div class="cont">
Вы успешно вышли из системы!<br/><a href="/">--></a>
</div>';
header('Location: index.php');
break;
}}
else {
header('Location: login.php?failure');
}
require_once 'templates/footer.php';
?>