Файл: pages/settings.common.php
Строк: 65
<?php
include_once '../sys/inc/start.php';
$doc = new document(1); // инициализация документа для браузера
$doc->title = __('Общие настройки');
if (isset($_POST['save'])) {
$user->vis_email = !empty($_POST ['email']);
$user->vis_icq = !empty($_POST ['icq']);
$user->vis_friends = !empty($_POST ['friends']);
$user->vis_skype = !empty($_POST ['skype']);
$user->mail_only_friends = !empty($_POST ['mail_only_friends']);
$user->notice_mention = !empty($_POST ['notice_mention']);
$user->notification_forum = !empty($_POST ['notification_forum']);
$user->notif_zvuk = !empty($_POST ['notif_zvuk']);
// количество пунктов на страницу
if (!empty($_POST['items_per_page'])) {
$ipp = (int) $_POST['items_per_page'];
if ($ipp >= 5 && $ipp <= 99)
$user->items_per_page = $ipp;
else
$doc->err(__('Недопустимое количество пунктов на страницу'));
}
// временной сдвиг
if (isset($_POST['time_shift'])) {
$ipp = (int) $_POST['time_shift'];
if ($ipp >= - 12 && $ipp <= 12) {
$user->time_shift = $ipp;
} else {
$doc->err(__('Недопустимое время'));
}
}
$doc->msg(__('Параметры успешно приняты'));
header('Refresh: 1; url=/settings.common.php');
}
$form = new form('?' . passgen());
$form->checkbox('email', __('Показывать в анкете %s', 'E-Mail'), $user->vis_email);
$form->checkbox('icq', __('Показывать в анкете %s', 'ICQ'), $user->vis_icq);
$form->checkbox('skype', __('Показывать в анкете %s', 'Skype'), $user->vis_skype);
$form->checkbox('friends', __('Показывать список друзей в анкете'), $user->vis_friends);
$form->bbcode(__('Ваши друзья будут видеть все ваши данные независимо от установленных параметров'));
$form->checkbox('mail_only_friends', __('Принимать личные сообщения только от друзей'), $user->mail_only_friends);
$form->checkbox('notice_mention', __('Упоминание ника (@%s)', $user->login), $user->notice_mention);
$form->checkbox('notification_forum', __('Ответ на форуме'), $user->notification_forum);
$form->checkbox('notif_zvuk', __('Звуковое оповещение [WEB]'), $user->notif_zvuk);
$form->text('items_per_page', __('Пунктов на страницу') . ' (' . $dcms->browser_type . ') [5-99]', $user->items_per_page);
$opt = array(); // Врменной сдвиг
for ($i = - 12; $i < 12; $i++) {
$opt[] = array($i, date('G:i', TIME + $i * 60 * 60), $user->time_shift == $i);
}
$form->select('time_shift', __('Мое время'), $opt);
$form->button(__('Сохранить настройки'), 'save');
$form->display();
if (isset($_POST['save_pass'])) {
if (isset($_POST['password_old']) && crypt::hash($_POST['password_old'], $dcms->salt) == $user->password) {
if (isset($_POST['password_new1']) && isset($_POST['password_new2'])) {
if ($_POST['password_new1'] !== $_POST['password_new2'])
$doc->err(__('Пароли не совпадают'));
elseif (!is_valid::password($_POST['password_new1']))
$doc->err(__('Не корректный новый пароль')); else {
$_SESSION[SESSION_PASSWORD_USER] = $_POST['password_new1'];
setcookie(COOKIE_USER_PASSWORD, crypt::encrypt($_POST['password_new1'], $dcms->salt_user), time() + 60 * 60 * 24 * 365);
$user->password = crypt::hash($_POST['password_new1'], $dcms->salt);
$doc->msg(__('Пароль успешно изменен'));
}
}
} else
$doc->err(__('Старый пароль неверен'));
}
$form = new form('?' . passgen());
$form->password('password_old', __('Старый пароль'));
$form->password('password_new1', __('Новый пароль'));
$form->password('password_new2', __('Подтверждение'));
$form->button(__('Применить новый пароль'), 'save_pass');
$form->display();
$doc->ret(__('Личное меню'), '/menu.user.php');