<?
if (empty($act)){
/*if(isset($_GET['passgen'])){
$_SESSION['passd'] = func::generate_password(8);
}*/
echo '<div class="mess">';
echo '<form action="setting.php?mod='.$mod.'&act=passedit&'.SID.'" method="post">';
echo '<br />';
/*echo 'Логин:<br /><input name="lat_nick" maxlength="30" value="'.core::$user['ruser'].'" emptyok="false"/><br />';
echo 'От 3 до 15 символов.<br />Разрешены буквы Латинского алфавита,<br />цифры (кроме нуля) и знаки - и _ <br /><dl></dl>';
*/
?>
<b>Привязка аккаунта к соц-сетям</b><br />
<script src="//ulogin.ru/js/ulogin.js"></script>
<div id='uLogin' data-ulogin='display=panel;fields=first_name,last_name;providers=vkontakte,odnoklassniki,mailru,facebook;hidden=google,yandex,webmoney;redirect_uri=soc.php'></div><br />
<?
$k_post=core:: $db -> querySingle("select count(*) as num from `in_ulogin` WHERE `user_id`=?", array(core::$user_id));
$k_page=func::k_page($k_post,$max);
$page=func::page($k_page);
$start=$max*$page-$max;
$r = core::$db->query("Select * from `in_ulogin` WHERE `user_id`=? order by `id` desc LIMIT $start, $max", array(core::$user_id));
echo '<b>Привязанные сети:</b><br />';
if ($k_post!=0){
while ($a = $r -> fetch()) {
echo '<b><a href="'.$a['identity'].'">'.$a['identity'].'</a></b> ('.$a['first_name'].' '.$a['last_name'].')<br />';
}
}else echo "Привязанных сетей нет...<br />";
echo '<br />E-mail:<br /><input name="email_pass" maxlength="50" value="'.core::$user['email_pass'].'" /> <br />';
echo 'Адрес электронной почты для восстановления пароля. Рекомендуем использовать отдельный E-mail, не тот который вы указываете в анкете.<br /><dl></dl>';
echo '<b>Изменение пароля</b><br />Если не хотите менять, оставте поля пустыми.<br />';
echo 'Старый пароль:(<a href="'.H.'help.php?pas0">?</a>)<br /><input name="pas0" maxlength="30" emptyok="false"/><br />';
echo 'Новый пароль:(<a href="'.H.'help.php?password">?</a>)<br /><input value="'.(isset($_GET['passgen']) ? func::generate_password(8) : '').'" name="pas1" maxlength="30" emptyok="false"/> <a href="?mod=pass&passgen=passgen" class="href">Генерация Пароля</a><br /><dl></dl>';
echo 'Для изменения данных ответьте на ваш Секретный вопрос:<br /> <b>'.core::$user['vopros_pass'].'</b> <br/><dl></dl>';
echo 'Ответ:<br/><input type="text" name="otvet_pass" /><br />';
echo '<br /><input type="submit" class="ibutton" value="Изменить данные"/></form></div>';
}else{
//$lat_nick = isset($_POST['lat_nick']) ? func::checkin($_POST['lat_nick']) : '';
$email_pass = isset($_POST['email_pass']) ? func::checkin($_POST['email_pass']) : '';
$otvet_pass = isset($_POST['otvet_pass']) ? func::checkin(func::rus_utf_tolower($_POST['otvet_pass'])) : '';
// Проверка вопроса
if (empty($otvet_pass)){
func::errors("<b>Не указан ответ</b>");
}
if (empty(core::$user['otvet_pass']) || core::$user['otvet_pass'] != md5(md5($otvet_pass))){
func::errors("<b>Ответ на вопрос неверен</b>");
}
// Проверка Ника
/*if (empty($lat_nick)){
func::errors("<b>Не введён Логин</b>");
}
if (func::utf_strlen($lat_nick) < 3 || func::utf_strlen($lat_nick) > 15){
func::errors("<b>Недопустимая длина Логина (От 3 до 15 символов)</b>");
}
// Проверка, занят ли ник
$b= core::$db -> queryFetch("SELECT * FROM `users` WHERE `sid` = '".core::$sid."' AND `ruser`=? and `id`!=?;", array($lat_nick,core::$user['id']));
if ($b > 0) {
func::errors('<b>Указанный вами Логин <b>'.$lat_nick.'</b> уже занят, выберите другой</b>');
}*/
// Проверка E-mail
if (!preg_match('#^([a-z0-9_\-\.])+\@([a-z0-9_\-\.])+(\.([a-z0-9])+)+$#', $email_pass)){
func::errors("<b>Недопустимые символы в E-mail</b>");
}
$email= core::$db -> queryFetch("SELECT * FROM `users` WHERE `sid` = '".core::$sid."' AND `email_pass`=? and `id`!=?;", array($email_pass,core::$user['id']));
if ($email > 0) {
func::errors("<b>Пользователь таким E-mail уже зарегистрирован</b>");
}
// Изменение логина и мыла
$dbi = core::$db -> prepare("UPDATE `users` SET `email_pass`=? WHERE `sid` = '".core::$sid."' AND `id`=?");
$dbi -> execute($email_pass,core::$user['id']);
// если указан пароль для смены и старый, выполняем проверки и изменяем
$pas0= func::checkin($_POST['pas0']);
$pas1= func::checkin($_POST['pas1']);
if(!empty($_POST['pas0']) && !empty($_POST['pas1'])){
if (core::$user['pass'] != md5(md5($pas0)))func::errors("<b>Пароль неверен</b>");
if (empty($pas0)) func::errors("<b>Не введён Старый пароль</b>");
if (empty($pas1)) func::errors("<b>Не введён Новый пароль</b>");
if (func::utf_strlen($pas1) < 6 || func::utf_strlen($pas1) > 15)func::errors("<b>Недопустимая длина пароля (От 6 до 15 символов)</b>");
if (!preg_match('|^[a-z0-9\-]+$|i', $pas1))func::errors("<b>Недопустимые символы в пароле</b>");
$r = core::$db->query("Select * from `in_ulogin` WHERE `user_id`=?", array(core::$user_id));
while ($a = $r -> fetch()) {
$dbil = core::$db -> prepare("UPDATE `in_ulogin` SET `seed`=? WHERE `sid` = '".core::$sid."' AND `id`=?");
$dbil -> execute(md5($pas1),$a['id']);
}
$dbi = core::$db -> prepare("UPDATE `users` SET `pass`=? WHERE `sid` = '".core::$sid."' AND `id`=?");
$dbi -> execute(md5(md5($pas1)),core::$user['id']);
}
header('Location: ?mod='.$mod.'&i=1');
}
?>