Файл: admin/modules/settings.php
Строк: 90
<?php
defined('CAFE') or die (header ('Location: /'));
$_POST = clear_input ($_POST);
$_GET = clear_input ($_GET);
check_error ();
if ($_SESSION['status'] != '1') {
log_write ('Не удалось показать настройки: не достаточно прав', '0', '1');
$error = 'Не достаточно прав для выполнения действия.';
}
// если ошибок нет, выполняем нужные операции
if (empty ($error)) {
if (isset ($_POST['update'])) {
// записываем настройки сайта в файл /config.php
$w_string = '<?php
define ("DB_SERVER", "' . DB_SERVER . '"); // сервер базы данных
define ("DB_NAME", "' . DB_NAME . '"); // имя базы данных
define ("DB_PREFIX", "' . DB_PREFIX . '"); // префикс для таблиц
define ("DB_LOGIN", "' . DB_LOGIN . '"); // логин для доступа к БД
define ("DB_PASSWORD", "' . DB_PASSWORD . '"); // пароль для доступа к БД
define ("SITE_NAME", "' . $_POST['site_name'] . '"); // название сайта
define ("TEMPLATE", "' . $_POST['template'] . '"); // тема оформления
define ("VERSION", "' . VERSION . '"); // текущая версия CMS
define ("LOG_LEVEL", "' . $_POST['log_level'] . '"); // уровень детализации журнала
?>';
$fop = fopen ($_SERVER["DOCUMENT_ROOT"] . '/config.php', 'w');
if ($fwr = fwrite ($fop, $w_string)) {
fclose ($fop);
header ('Location: /admin/index.php?section=settings&msg=upd');
} else {
header ('Location: /admin/index.php?section=settings&msg=err');
}
}
if (isset ($_GET['action']) == 'backup') {
if (copy ($_SERVER["DOCUMENT_ROOT"] . '/config.php', $_SERVER["DOCUMENT_ROOT"] . '/config_backup_' . mktime () . '.php')) {
header ('Location: /admin/index.php?section=settings&msg=bcp');
} else {
header ('Location: /admin/index.php?section=settings&msg=err');
}
}
?>
<div class="module-menu">
<a href="/admin/index.php?section=settings" title="Настройки сайта">Настройки</a>
<a href="/admin/index.php?section=settings&action=backup"title="Сделать бекап настроек">Сделать бекап настроек</a>
</div>
<div class="module-messages">
<?php
print_message ();
if (!empty ($error)) print_error ($error);
?>
</div>
<div class="module-content">
<div>
<form name="settings" action="/admin/index.php?section=settings" method="post">
<p>Название сайта: <br>
<input type="text" name="site_name" size="60" value="<?php echo SITE_NAME ?>">
</p>
<p>Уровень детализации журнала:<br>
<select size="1" name="log_level">
<option <?php if (LOG_LEVEL == '0') {echo "selected";}?> value="0">журнал отключен</option>
<option <?php if (LOG_LEVEL == '1') {echo "selected";}?> value="1">минимальный уровень</option>
<option <?php if (LOG_LEVEL == '2') {echo "selected";}?> value="2">максимальный уровень</option>
</select>
</p>
<p>Тема:<br>
<select size="1" name="template">
<?php
// сканируем папку с темами оформления и выводим список
$dir = $_SERVER['DOCUMENT_ROOT'] . '/template';
$handle = opendir ($dir);
// читаем его
while ($file = readdir ($handle)) {
if ($file != '.' && $file != '..' && is_dir ($dir . "/" . $file)) {
$dirlist[] = $file;
if ($file == TEMPLATE) {
echo '<option selected value="' . $file . '">' . $file . '</option>';
} else {
echo '<option value="' . $file . '">' . $file . '</option>';
}
}
}
clearstatcache ();
closedir ($handle);
?>
</select>
<?php
$sql = mysql_query ("SELECT * FROM `" . DB_PREFIX . "_users` WHERE `login` = '" . $userinfo['login']."'");
while ($row = mysql_fetch_array ($sql, MYSQL_ASSOC)) {
$login = $row['login'];
$password = $row['password'];
}
?>
<p><input type="submit" name="update" value="сохранить"></p>
</form>
</div>
</div>
<?php
}
?>