Размер файла: 5.38Kb
<? /* ============================================= Движок: SHCMS Engine ============================================= Название файла: Восстановление пороля ============================================= Official website: http://shcms.ru ============================================= */ define ( 'SHCMS' , true ); include_once '../system/inc/basic_settings.php' ; $shcmsengine [ 'title' ] = 'Восстановление пороля' ; include_once '../template/head.php' ; $integ = $errors ; $flogged_pass = isset ( $_GET [ 'flogged_pass' ]) ? trim ( $_GET [ 'flogged_pass' ]) : '' ; switch ( $flogged_pass ): case 'an' : $nick = stripslashes ( $nick ); $nick = htmlspecialchars ( $nick ); $nick = trim ( $nick ); $nick = isset ( $_POST [ 'nick' ]) ? rus_lat ( strtolower ( shcms_sh_shcms ( $_POST [ 'nick' ]))) : '' ; $email = isset ( $_POST [ 'email' ]) ? htmlspecialchars ( trim ( $_POST [ 'email' ])) : '' ; $integ = false ; if (! $nick or ! $email ) $integ = 'Чтобы восстановить пороль вы должны заполнить все поля.' ; if (! $integ ) { $mysql_fetch = mysql_query ( "SELECT * FROM `users` WHERE `login` = '$nick' LIMIT 1" ); if ( mysql_num_rows ( $mysql_fetch ) == 1 ) { $mysql_shcms = mysql_fetch_array ( $mysql_fetch ); if ( empty ( $mysql_shcms [ 'email' ]) || $mysql_shcms [ 'email' ] != $email ) $integ = 'Вы указали незарегистрированный E-mail <b>(' . $email . ')</b>' ;} else { $integ = 'Вы указали незарегистрированный Логин <b>(' . $nick . ')</b>' ;}} if (! $integ ) { $subject = 'Восстановление пароля' ; $mail .= "Чтобы восстановить ваш пороль перейдите по ссылке: http://$_SERVER[HTTP_HOST]/shcms/flogged.php?flogged_pass=change&id=" . $mysql_shcms [ 'id' ] . "&code=" . session_id () . "\n\n" ; $adds = "From: <" . $emailadmina . ">\r\n" ; $adds .= "Content-Type: text/plain; charset=\"utf-8\"\r\n" ; if ( mail ( $mysql_shcms [ 'email' ], $subject , $mail , $adds )) { mysql_query ( "UPDATE `users` SET `flogged_n` = '" . session_id () . "', `flogged_t` = '$time_date' WHERE `id` = '" . $mysql_shcms [ 'id' ] . "'" ); echo '<p>Все данные были отправлены на ваш E-mail <b>(' . $email . ')</b> зайдите на вашу почту и закончите процесс.</p>' ;} else { echo '<p>Произошли сбои при отправки E-mail</p>' ;}} else { echo '<center><b class="err_fl">Внимание, обнаружена ошибка!</b><hr/>' . $integ . '<br /></center>' ;} break ; case 'change' : $integ = false ; if (! $id ) $integ = 'Не найдено необходимые данные' ; $mysql_fetch = mysql_query ( "SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1" ); if ( mysql_num_rows ( $mysql_fetch ) == 1 ) { $mysql_shcms = mysql_fetch_array ( $mysql_fetch ); if ( empty ( $mysql_shcms [ 'flogged_n' ]) || empty ( $mysql_shcms [ 'flogged_t' ])) { $integ = 'Вы не заполнили все поля и восстановление невозможно' ;} if (! $integ && $mysql_shcms [ 'flogged_t' ] < $time_date - 3600 ) { $integ = 'Вы долгое время не закончили процесс восстановления. и вам теперь придется сначала восстановить пороль.' ; mysql_query ( "UPDATE `users` SET `flogged_n` = '', `flogged_t` = '' WHERE `id` = '$id'" );}} else { $integ = 'Логин которую вы ввели' . $nick . ' не зарегистрирован на сайте' ;} if (! $integ ) { $pass = conservation ( 7 ); $subject = 'Восстановление прошла успешно.' ; $mail .= "Смена вашего старого пороля прошла успешно Вот ваш новый пороль: " . $pass . "\r\n" ; $adds = "From: <" . $emailadmina . ">\n" ; $adds .= "Content-Type: text/plain; charset=\"utf-8\"\r\n" ; if ( mail ( $mysql_shcms [ 'mail' ], $subject , $mail , $adds )) { mysql_query ( "UPDATE `users` SET `flogged_n` = '', `password` = '" . md5 ( md5 ( $pass )) . "' WHERE `id` = '$id'" ); echo '<div class="ok">Смена пороля для логина ' . $nick . '</div><hr/>' ; echo 'Ваш пороль был успешно сменен на <b>' . $pass . '</b><br/><hr/>Для безопастности новый пороль вам был выслан на ваш E-mail' ;} else { echo 'Произошли неожиданные сбои при отправки E-mail.' ;}} else { echo '<center><b class="err_fl">Внимание, обнаружена ошибка!</b><hr/>' . $integ . '<br /></center>' ;} break ; default : echo $novstyl_shcms [ 'flogged' ]; echo '<form action="flogged.php?flogged_pass=an" method="post">' ; echo '<p>Ваш Логин:<br/><input type="text" name="nick" /><br/>' ; echo 'Ваш E-Mail:<br/><input type="text" name="email" /></p>' ; echo '<p><input type="submit" value="Восстановить"/></p></form>' ; echo '<small>* Пороль могут восстановить пользователи которые заполнили email в личных данных</small>' ; break ; endswitch ; include_once '../template/foot.php' ; ?>