Файл: core/modules/users_setting.php
Строк: 101
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ($is_logged) {
$arr_themes = array();
$globs = glob(ROOTPATH . '/themes/*', GLOB_ONLYDIR);
foreach($globs as $glob) {
if (@file_exists($glob . '/index.php')) $arr_themes[] = basename($glob);
}
$arr_themes = array_unique($arr_themes);
if (!empty($_POST['submit'])) {
$set = array();
$set['th'] = !empty($_POST['themes']) ? check($_POST['themes']) : $config['themes'];
$set['bn'] = !empty($_POST['blog_num']) ? num($_POST['blog_num']) : $config['blog_num'];
$set['cn'] = !empty($_POST['chat_num']) ? num($_POST['chat_num']) : $config['chat_num'];
$set['mn'] = !empty($_POST['mail_num']) ? num($_POST['mail_num']) : $config['mail_num'];
$set['cm'] = !empty($_POST['comm_num']) ? num($_POST['comm_num']) : $config['comm_num'];
if (!empty($_POST['rnd']) && $_POST['rnd'] == md5($_SESSION['token'])) {
if (preg_match('|^[a-z0-9_-]+$|i', $set['th'])) {
if ( @file_exists( ROOTPATH . '/themes/' . $set['th'] . '/index.php' ) ) {
if ($set['bn'] >= 3 && $set['bn'] <= 50) {
if ($set['cn'] >= 3 && $set['cn'] <= 50) {
if ($set['mn'] >= 3 && $set['mn'] <= 50) {
if ($set['cm'] >= 3 && $set['cm'] <= 50) {
$db->query("UPDATE ?_users SET `users_setting` = ? WHERE users_login = ?", serialize($set), $log);
if (!empty($_SESSION[SP]['themes'])) {
$_SESSION[SP]['themes'] = '';
unset($_SESSION[SP]['themes']);
}
$_SESSION[SP]['themes'] = $set['th'];
$inSes->addMessage('Настройки успешно изменены!', 'ok');
gen_red('start', '', RND);
}
else $inSes->addMessage('Ошибка! Комментарии. (Допустимое значение от 3 до 50)!');
}
else $inSes->addMessage('Ошибка! Приватные сообщения. (Допустимое значение от 3 до 50)!');
}
else $inSes->addMessage('Ошибка! Сообщения в чате. (Допустимое значение от 3 до 50)!');
}
else $inSes->addMessage('Ошибка! Записи в блогах. (Допустимое значение от 3 до 50)!');
}
else $inSes->addMessage('Ошибка! Данная тема не установлена на сайте!');
}
else $inSes->addMessage('Ошибка! Недопустимое название скина!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
show_header('Мои настройки');
$set = !empty($uset['users_setting']) ? unserialize($uset['users_setting']) : array();
$set['th'] = !empty($set['th']) ? check($set['th']) : $config['themes'];
$set['bn'] = !empty($set['bn']) ? num($set['bn']) : $config['blog_num'];
$set['cn'] = !empty($set['cn']) ? num($set['cn']) : $config['chat_num'];
$set['mn'] = !empty($set['mn']) ? num($set['mn']) : $config['mail_num'];
$set['cm'] = !empty($set['cm']) ? num($set['cm']) : $config['comm_num'];
echo show_link(gen_users($uset['users_id'], 'avatars', '', RND), 'Моя аватарка');
$form = new cmsForm('', 'post');
$form->addSelect('Тема сайта:', 'themes', $set['th'], array_combine($arr_themes, $arr_themes));
$form->addText('Записей в блогах:', 'blog_num', $set['bn'], ' maxlength="2"');
$form->addText('Сообщений в чате:', 'chat_num', $set['cn'], ' maxlength="2"');
$form->addText('Писем в привате на стр.:', 'mail_num', $set['mn'], ' maxlength="2"');
$form->addText('Комментариев на стр.:', 'comm_num', $set['cm'], ' maxlength="2"');
$form->addHidden('rnd', md5($_SESSION['token']));
echo $form->Submit('Изменить', 'submit');
unset($form);
echo '<div class="bl">' . blink('*') . ' Значение всех полей (max.50)</div>';
echo show_link(gen_users($uset['users_id'], 'index', '', RND), 'Назад');
}
else {
show_header('Мои настройки');
show_login('Вы не авторизованы, чтобы изменять настройки, необходимо');
}
?>