Файл: core/admin/profil.php
Строк: 205
<?php
if (!defined('BLOG')) { die('Access Denied!'); }
$error = '';
if (!empty($_POST['submit'])) {
$con['login'] = !empty($_POST['login']) ? check($_POST['login']) : '';
$con['email'] = !empty($_POST['email']) ? (string) $_POST['email'] : '';
$con['fname'] = !empty($_POST['fname']) ? check($_POST['fname']) : '';
$con['lname'] = !empty($_POST['lname']) ? check($_POST['lname']) : '';
$con['day'] = !empty($_POST['day']) ? check($_POST['day']) : '';
$con['month'] = !empty($_POST['month']) ? check($_POST['month']) : '';
$con['year'] = !empty($_POST['year']) ? check($_POST['year']) : '';
if ( cms_strlen($con['day']) == 1 ) $con['day'] = '0' . $con['day'];
if ( cms_strlen($con['month']) == 1 ) $con['month'] = '0' . $con['month'];
$con['birthday'] = $con['year'] . '-' . $con['month'] . '-' . $con['day'];
$con['icq'] = !empty($_POST['icq']) ? check($_POST['icq']) : '';
$con['phone'] = !empty($_POST['phone']) ? check($_POST['phone']) : '';
$con['skype'] = !empty($_POST['skype']) ? check($_POST['skype']) : '';
$con['country'] = !empty($_POST['country']) ? check($_POST['country']) : '';
$con['city'] = !empty($_POST['city']) ? check($_POST['city']) : '';
$con['info'] = !empty($_POST['info']) ? check($_POST['info']) : '';
$con['pass'] = !empty($_POST['pass']) ? check($_POST['pass']) : '';
if ($con['login'] == '') {
$error = 'Вы не указали свой логин!<br />';
$error .= 'Логин используетя для авторизации и не может быть пустым!';
}
else if ( cms_strlen($con['login']) < 3 || cms_strlen($con['login']) > 25 ) {
$error = 'Слишком короткий или длинный логин!<br />';
$error .= 'Минимум 3 и максимум 25 символов!';
}
else if ( md5(md5($con['pass'])) <> $uset['pass'] ) {
//$error = 'Текущий пароль введен неверно!<br />';
}
if (!empty($error)) {
addMessage('Ошибка! ' . $error, 'error');
}
else {
$db->query("UPDATE ?_user SET `login` = ?, `email` = ?, `first_name` = ?, `last_name` = ?, `birthday` = ?, `icq` = ?, `phone` = ?, `skype` = ?, `country` = ?, `city` = ?, `info` = ? WHERE `login` = ?", $con['login'], $con['email'], $con['fname'], $con['lname'], $con['birthday'], $con['icq'], $con['phone'], $con['skype'], $con['country'], $con['city'], $con['info'], $uset['login']);
if ($config['login'] <> $con['login']) {
$new = ini::read( ENGINE . '/data/config.ini' );
$new['login'] = $con['login'];
ini::save( ENGINE . '/data/config.ini', $new );
$_SESSION[SP]['login'] = $new['login'];
$alog = xoft_encode($new['login'], $config['key']);
setcookie('clog', $alog, time()+3600*24*90, '/');
}
addMessage('Данные успешно сохранены!', 'ok');
redirect( './' );
}
}
else if (!empty($_FILES['photo']['tmp_name'])) {
if (!empty($uset['photo']) && @file_exists(IMAGES_PATH . $uset['photo'])) {
unlink( IMAGES_PATH . $uset['photo'] );
}
if (is_uploaded_file($_FILES['photo']['tmp_name'])) {
$photoname = tr(check($_FILES['photo']['name']),1);
$photosize = @getimagesize($_FILES['photo']['tmp_name']);
$ext = strrchr($photoname, '.');
if ($ext == '.jpg' || $ext == '.jpeg' || $ext == '.gif' || $ext == '.png') {
$photo_path = IMAGES_PATH . $photoname;
clearstatcache();
if ( move_uploaded_file($_FILES['photo']['tmp_name'], $photo_path) ) {
chmod($photo_path, 0666);
$db->query("UPDATE ?_user SET `photo` = ? WHERE `login` = ?", $photoname, $uset['login']);
addMessage('Фотография успешно загружена!', 'ok');
gen_red('admin');
}
else addMessage('Ошибка! Не удалось загрузить изображение!', 'error');
}
else addMessage('Ошибка! Разрешается загружать только картинки: .jpg, .gif, .png', 'error');
}
else addMessage('Ошибка! Не удалось загрузить изображение!', 'error');
}
show_header('Мой Профиль');
if (!empty($uset['birthday']) && $uset['birthday'] <> '0000-00-00') {
list($year, $month, $day) = explode('-', $uset['birthday']);
}
else {
$day = date('d');
$month = date('m');
$year = date('Y');
}
echo '<div class="downlist2">- <a href="?a=set_admin">Настройки "Обратной связи"</a></div>';
echo '<div class="downlist2">
<form action="?a=profil" method="post">
Логин (a-zA-Z0-9_-):<br />
<input name="login" type="text" value="' . $uset['login'] . '" /><br />
E-Mail:<br />
<input name="email" type="text" value="' . $uset['email']. '"><br />
Имя:<br />
<input name="fname" type="text" value="' . $uset['first_name'] . '" /><br />
Фамилия:<br />
<input name="lname" type="text" value="' . $uset['last_name']. '"><br />
Дата рождения:<br />' . addDate('day', 'd', $day) . addDate('month', 'm', $month) . addDate('year', 'y', $year) . '
ICQ:<br />
<input name="icq" type="text" value="' . $uset['icq'] . '" /><br />
Телефон:<br />
<input name="phone" type="text" value="' . $uset['phone']. '"><br />
Скайп:<br />
<input name="skype" type="text" value="' . $uset['skype']. '"><br />
Страна:<br />
<input name="country" type="text" value="' . $uset['country']. '"><br />
Город:<br />
<input name="city" type="text" value="' . $uset['city']. '"><br />
О себе:<br />
<textarea name="info" style="width:98%;" rows="7">' . $uset['info'] . '</textarea><br />
<br />
<input name="submit" type="submit" value="Сохранить" />
</form>
</div>
<div class="downlist2">
<form action="?a=profil" method="post" enctype="multipart/form-data">Прикрепить фото:<br /><input type="file" name="photo" class="f_input" accept="image/jpeg,image/gif,image/png"/><br /><input type="submit" value="Загрузить" title="Загрузить"/></form><br />
[!] Фото для страницы "<a href="/' . gen_uri('admin') . '">Обо мне</a>"<br />
[!] Если фото уже существует оно будет удалено...<br />
</div>';
# Функция вывода даты рождения
function addDate( $name, $type, $def = 1, $min_year = 1917 ) {
$str = '';
$cur_year = date( 'Y' );
if ( $def < 1 ) {
$def = 1;
}
if ( $type == 'y' && $def == 1 ) {
$def = 1970;
}
switch( $type ):
case 'd':
$i = 1;
for ( ; $i <= 31; ++$i) {
$sel = '';
if ( $i == $def ) $sel = ' selected="selected"';
$num = $i;
if ( $i < 10 ) $num = '0'.$i;
$str .= '<option value="' . $num . '"' . $sel . '>' . $i . '</option>';
}
$end = '</select>';
break;
case 'm':
$i = 1;
for ( ; $i <= 12; ++$i) {
$sel = '';
if ( $i == $def ) $sel = ' selected="selected"';
$num = $i;
if ( $i < 10 ) $num = '0'.$i;
$str .= '<option value="' . $num . '"' . $sel . '>' . $i . '</option>';
}
$end = '</select>';
break;
case 'y':
$i = $cur_year;
for ( ; $i >= $min_year; --$i ) {
$sel = '';
if ( $i == $def ) $sel = ' selected="selected"';
$str .= '<option value="' . $i . '"' . $sel . '>' . $i . '</option>';
}
$end = '</select><br />';
break;
endswitch;
return '<select name="' . $name . '">' . $str . $end;
}
?>