Файл: pages/anketa.php
Строк: 176
<?php
include '../engine/includes/start.php';
if (!$user_id)
Core::stop();
$set['title'] = 'Изменение данных';
include H.'engine/includes/head.php';
if (isset($_POST['edit']))
{
if (!empty($_FILES['avatar']['tmp_name']))
{
Core::get('class_upload');
$handle = new upload($_FILES['avatar']);
if ($handle->uploaded)
{
$handle->file_new_name_body = $user_id;
$handle->allowed = array('image/jpeg', 'image/gif', 'image/png');
$handle->file_overwrite = true;
$handle->image_resize = true;
$handle->image_x = 100;
$handle->image_ratio_y = true;
$handle->image_convert = 'jpg';
$handle->process(H . 'style/users/avatar/');
if ($handle->processed) {
echo '<div class="msg">Аватар добавлен</div>';
$sql->query('UPDATE `user` SET `gravatar` = "no" WHERE `id` = '.$user_id);
}
else
echo '<div class="err">Проблема с загрузкой: ' . $handle->error . '</div>';
}
}
# Имя
if ($user['ank_name'] != $_POST['name'])
{
if (preg_match('#^([A-zА-я -]*)$#ui', $_POST['name']))
{
$name = my_esc($_POST['name'], 'true');
$sql->query("UPDATE `user` SET `ank_name` = '$name' WHERE `id` = '$user_id'");
}
else
Core::msg_show('Не верный формат имени');
}
# Пол
if ($user['pol'] != $_POST['sex'])
{
$sex = intval($_POST['sex']);
$sql->query("UPDATE `user` SET `pol` = '$sex' WHERE `id` = '$user_id'");
}
# Город
if ($user['ank_city'] != $_POST['city'])
{
if (preg_match('#^([A-zА-я -]*)$#ui', $_POST['city']))
{
$city = my_esc($_POST['city'], 'true');
$sql->query("UPDATE `user` SET `ank_city` = '$city' WHERE `id` = '$user_id'");
}
else
Core::msg_show('Не верный формат города');
}
# Дата рождения
if ($user['ank_d_r'] != $_POST['day'] || $user['ank_m_r'] != $_POST['month'] || $user['ank_g_r'] != $_POST['year'])
{
if (is_numeric($_POST['day']) && is_numeric($_POST['month']) && is_numeric($_POST['year']) && $_POST['day'] <= 31 && $_POST['month'] <= 12 && $_POST['year'] <= 2013)
{
$day = intval($_POST['day']);
$month = intval($_POST['month']);
$year = intval($_POST['year']);
$sql->query("UPDATE `user` SET `ank_d_r` = '$day', `ank_m_r` = '$month', `ank_g_r` = '$year' WHERE `id` = '$user_id'");
}
else
Core::msg_show('Не правильно введена дата рождения');
}
# Icq
if ($user['ank_icq'] != $_POST['icq'])
{
if (is_numeric($_POST['icq']))
{
$icq = intval($_POST['icq']);
$sql->query("UPDATE `user` SET `ank_icq` = '$icq' WHERE `id` = '$user_id'");
}
else
Core::msg_show('Не верный формат icq');
}
# E-mail
if ($user['ank_mail'] != $_POST['email'])
{
if (preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui',$_POST['email']))
{
$user['ank_mail'] = my_esc($_POST['email']);
if ($sql->query("select count(*) from `user` where `ank_mail` = '".$user['ank_mail']."' and `id` <> ".$user_id)->result())
Core::msg_show('Данный e-mail занят');
else
$sql->query("UPDATE `user` SET `ank_mail` = '".$user['ank_mail']."' WHERE `id` = ".$user_id);
}
else
Core::msg_show('Не верный формат E-mail');
}
# Номер телефона
if ($user['ank_n_tel'] != $_POST['num_phone'])
{
if (is_numeric($_POST['num_phone']) && strlen($_POST['num_phone']) >= 5 && strlen($_POST['num_phone']) <= 11)
{
$user['num_phone'] = intval($_POST['num_phone']);
if ($sql->query("select count(*) from `user` where `ank_n_tel` = '".$user['num_phone']."' and `id` <> ".$user_id)->result())
Core::msg_show('Данный номер телефона занят');
else
$sql->query("UPDATE `user` SET `ank_n_tel` = '".$user['num_phone']."' WHERE `id` = ".$user_id);
}
else
Core::msg_show('Не верный формат номера телефона');
}
# О себе
if ($user['ank_o_sebe'] != $_POST['about'])
{
$user['about'] = my_esc($_POST['about'], true);
$sql->query("UPDATE `user` SET `ank_o_sebe` = '".$user['about']."' WHERE `id` = ".$user_id);
}
$user = Core::get_user($user_id, true);
if (file_exists(tmpDir . 'user[id='.$user_id.'].swc'))
unlink(tmpDir . 'user[id='.$user_id.'].swc');
//Core::get('cache.class');
//Cache::multi_delete('user[id='.$user_id);
Core::msg_show('Данные успешно изменены<br /><div class="menu"><a href="anketa.php">Редактировать еще</a><br /><a href="user.php?id='.$user_id.'">Посмотреть анкету</a></div>','msg');
include H.'engine/includes/foot.php';
}
if ($user['gravatar'] == 'no' && !empty($user['ank_mail']))
{
$gravatar_url = 'http://www.gravatar.com/avatar/' . md5(strtolower($user['ank_mail'])) . '?d=404';
$headers = get_headers($gravatar_url);
if ($headers[0] != 'HTTP/1.0 404 Not Found')
{
if ($act == 'use_gravatar')
{
$sql->query('UPDATE `user` SET `gravatar` = "yes" WHERE `id` = '.$user_id);
$user = Core::get_user($user_id, true);
Core::msg_show('Новая аватарка применена, обновите кеш', 'msg');
file_put_contents(H. 'style/users/avatar/'.$user_id.'.jpg', file_get_contents('http://www.gravatar.com/avatar/' . md5(strtolower($user['ank_mail'])).'?s=100&d=identicon'));
}
else
{
echo 'У Вас есть изображение на Gravatar, <a href="?act=use_gravatar">использовать его как аватар</a>?<br /> <img src="http://www.gravatar.com/avatar/' . md5(strtolower($user['ank_mail'])).'?s=100&d=identicon" alt="" />';
}
}
}
?>
<form method="POST" enctype="multipart/form-data">
Аватар:<br />
<?=Core::user_avatar()?><br />
<input type="file" name="avatar"/><br />
Имя:<br />
<input type="text" name="name" value="<?=$user['ank_name']?>" /><br />
Пол:<br />
<select name="sex">
<option value="1">Мужской</option>
<option value="0" <?=$user['pol'] == 0 ? 'selected="selected"': ''?>>Женский</option>
</select><br />
Город:<br />
<input type="text" name="city" value="<?=$user['ank_city']?>" /><br />
Дата рождения <small>(день/месяц/год)</small>:<br />
<input type="text" name="day" size="1" value="<?=$user['ank_d_r']?>" /> . <input type="text" name="month" size="1" value="<?=$user['ank_m_r']?>" /> . <input type="text" name="year" size="1" value="<?=$user['ank_g_r']?>" /><br />
Icq:<br />
<input type="text" name="icq" value="<?=$user['ank_icq']?>" /><br />
E-mail:<br />
<input type="text" name="email" value="<?=$user['ank_mail']?>" /><br />
Номер телефона:<br />
<input type="text" name="num_phone" value="<?=$user['ank_n_tel']?>" /><br />
О себе:<br />
<textarea name="about"><?=$user['ank_o_sebe']?></textarea><br />
<input type="submit" name="edit" value="Изменить" />
</form>
<a href="user.php"><div class="link">Анкета</div></a>
<a href="menu.php"><div class="link">Кабинет</div></a>
<a href="/"><div class="link">Главная</div></a>
<?
include H.'engine/includes/foot.php';