Файл: 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
}
?>