Файл: CMS/core/modules/users_profil.php
Строк: 142
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ($is_logged) {
if (!empty($_POST['submit'])) {
$fname = !empty($_POST['fname']) ? check($_POST['fname']) : '';
$lname = !empty($_POST['lname']) ? check($_POST['lname']) : '';
$cnt = !empty($_POST['country']) ? check($_POST['country']) : '';
$city = !empty($_POST['city']) ? check($_POST['city']) : '';
$icq = !empty($_POST['icq']) ? check($_POST['icq']) : '';
$skype = !empty($_POST['skype']) ? check($_POST['skype']) : '';
$jabber = !empty($_POST['jabber']) ? check($_POST['jabber']) : '';
$year = !empty($_POST['year']) ? num($_POST['year']) : '0000';
$month = !empty($_POST['month']) ? num($_POST['month']) : '00';
$month = (strlen($month) == 1) ? '0' . $month : $month;
$day = !empty($_POST['day']) ? num($_POST['day']) : '00';
$day = (strlen($day) == 1) ? '0' . $day : $day;
$birthday = $year . '-' . $month . '-' . $day;
$gender = !empty($_POST['gender']) ? num($_POST['gender']) : '';
$info = !empty($_POST['info']) ? check($_POST['info']) : '';
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (empty($birthday) || preg_match('#^[0-9]{4}+-[0-9]{2}+-[0-9]{2}$#', $birthday)) {
if (preg_match('#^([a-z0-9_-.])+@([a-z0-9_-.])+(.([a-z0-9])+)+$#', $jabber) || empty($jabber)) {
if ($gender == 1 || $gender == 2) {
if (cms_strlen($info) <= 1000) {
$city = cms_substr($city, 0, 50);
$icq = intval(str_replace('-', '', $icq));
$info = smiles($info);
$db->query("UPDATE ?_users SET `users_first_name` = ?, `users_last_name` = ?, `users_country` = ?, `users_city` = ?, `users_icq` = ?, `users_skype` = ?, `users_jabber` = ?, `users_birthday` = ?, `users_gender` = ?, `users_info` = ?, `users_text` = ? WHERE `users_login` = ?;", $fname, $lname, $cnt, $city, $icq, $skype, $jabber, $birthday, $gender, $info, $text, $log);
$inSes->addMessage('Ваш профиль успешно изменен!', 'ok');
gen_red('index');
}
else {
$inSes->addMessage('Ошибка! Слишком большая информация о себе, не более 1000 символов!');
}
}
else {
$inSes->addMessage('Ошибка! Вы не указали ваш пол!');
}
}
else {
$inSes->addMessage('Ошибка! Недопустимый формат Jabber, необходим формат name@site.domen!');
}
}
else {
$inSes->addMessage('Ошибка! Недопустимый формат даты рождения, необходим формат дд-мм-гггг!');
}
}
else {
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
}
if (!empty($_GET['del_photo'])) {
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$userpic = $db->selectCell("SELECT `users_picture` FROM ?_users WHERE `users_login` = ? LIMIT 1;", $log);
clearstatcache();
if ( !empty($userpic) && @is_file(ROOTPATH . '/upload/photos/' . $userpic) ) {
unlink_image('upload/photos/', $userpic);
$db->query("UPDATE ?_users SET `users_picture` = '' WHERE `users_login` = ?", $log);
$inSes->addMessage( 'Фотография успешно удалена!', 'ok' );
}
else {
$inSes->addMessage( 'Ошибка! Фотографии для удаления не существует!', 'error' );
}
}
else {
$inSes->addMessage( 'Ошибка! Неверный идентификатор сессии, повторите действие!', 'error' );
}
gen_red('profil', '', RND);
}
show_header('Мой профиль');
echo '<div class="b">' . icon('anketa.gif', 'icons');
echo ' <a href="' . gen_uri('anketa') . '">Моя анкета</a> | ';
echo '<b>Мой профиль</b> / ';
echo '<a href="' . gen_uri('account') . '">Мои данные</a> | ';
echo '<a href="' . gen_uri('setting') . '">Мои настройки</a></div>';
$form = new cmsForm('?rnd=' . $_SESSION['token']);
if (!empty($uset['users_picture']) && file_exists(ROOTPATH . '/upload/photos/' . $uset['users_picture'])) {
$txt = '<table align="right" style="margin:10px">';
$txt .= '<tr><td align="center"><a href="' . $config['site_url'] . '/upload/photos/' . $uset['users_picture'] . '">';
$txt .= resize_image('upload/photos/', $uset['users_picture'], $config['preview_size'], $uset['users_login']) . '</a></td></tr>';
$txt .= '<tr><td align="center"><a href="' . gen_uri('upload') . '">Изменить</a> | ';
$txt .= '<a href="?del_photo=1&rnd=' . $_SESSION['token'] . '">Удалить</a></td></tr>';
}
else {
$txt = '<table align="right" style="margin:10px">';
$txt .= '<tr><td align="center">';
$txt .= '<img src="' . $config['site_url'] . '/images/no_photos.png" alt="Фото" /></td></tr>';
$txt .= '<tr><td align="center"><a href="' . gen_uri('upload') . '">Загрузить фото</a></td></tr>';
}
$txt .= '<tr><td><br /></td></tr>';
$txt .= '<tr><td align="center">Аватар:<br />' . user_avatars($log) . '</td></tr>';
$txt .= '<tr><td><a href="' . gen_uri('avatars') . '">Изменить</a> | <a href="' . gen_uri('buy_avatars') . '">Купить</a> | <a href="' . gen_uri('load_avatars') . '">Загрузить</a></td>';
$txt .= '</tr></table>';
$form->addCode($txt . '<br />- Статус: (<a href="' . gen_uri('status_color', '', RND) . '">Выбрать цвет</a>)<br />');
$form->addText('', 'text', strip_tags($uset['users_text']), ' maxlength="15"');
$form->addText('- Имя:', 'fname', $uset['users_first_name'], ' maxlength="30"');
$form->addText('- Фамилия:', 'lname', $uset['users_last_name'], ' maxlength="30"');
$form->addSelect('- Страна:', 'country', !empty($uset['users_country']) ? $uset['users_country'] : 'RU', $countries);
$form->addText('- Город:', 'city', $uset['users_city'], ' maxlength="50"');
$form->addText('- ICQ:', 'icq', $uset['users_icq'], ' maxlength="10"');
$form->addText('- Skype:', 'skype', $uset['users_skype'], ' maxlength="50"');
$form->addText('- Jabber:', 'jabber', $uset['users_jabber'], ' maxlength="50"');
if (!empty($uset['users_birthday'])) {
list($year, $month, $day) = explode('-', $uset['users_birthday']);
}
else {
$day = date('d');
$month = date('m');
$year = date('Y');
}
$form->addDate('- Дата рождения:', 'day', 'd', $day);
$form->addDate('', 'month', 'm', $month);
$form->addDate('', 'year', 'y', $year);
$form->addSelect('- Пол:', 'gender', $uset['users_gender'], array(1 => 'Мужской', 2 => 'Женский'));
$uset['users_info'] = str_replace(array('<br>', '<br/>', '<br />'), "rn", $uset['users_info']);
$form->addTextarea('- О себе:', 'info', $uset['users_info']);
echo $form->Submit('Изменить', 'submit');
unset($form);
}
else {
show_header('Мой профиль');
show_login('Вы не авторизованы, чтобы изменять свои данные, необходимо');
}
?>