Current Path : /home/bitrix/ext_www/oldfck.yacl.site/auth/ |
Current File : /home/bitrix/ext_www/oldfck.yacl.site/auth/forgotpwd.php |
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); if (isset($_REQUEST["backurl"]) && strlen($_REQUEST["backurl"])>0) LocalRedirect($backurl); $APPLICATION->SetTitle("Воccтановление пароля"); $_REQUEST['set_debug'] = 'Y'; if($USER->IsAuthorized()) LocalRedirect(SITE_DIR.'home/'); $chechByHash = reset(Veb\HL\UserForgotPassword::GetList(array(), array('UF_HASH' => $_REQUEST['bx_hash']))); if(!$chechByHash || empty($_REQUEST['bx_hash'])) { LocalRedirect(SITE_DIR.'home/'); } else { //hash может действовать только 24 часа, делаем проверку if(ConvertTimeStamp($chechByHash['UF_DATE']->getTimestamp()+86400) > time()) { ?> <section class="section section-item"> <div class="container"> Ссылка недействительна. Воспользуйтесь сервисом <a class="js-popup" style="color:#0086cd" href="#vforgotpasswd">Забыли пароль</a> еще раз. </div> </section> <div class="popup popup-content mfp-hide" id="vforgotpasswd"> <? $APPLICATION->IncludeComponent( "veb:forgot.password", "", Array( ) ); ?> </div> <? } else { if($chechByHash['UF_SEND_PSWD']) { ?> <section class="section section-item"> <div class="container"> Пароль уже выслан на Ваш почтовый адрес электронной почты. </div> </section> <? } else { $chechUser = \Bitrix\Main\UserTable::getList(array('filter'=>array('=ID' => $chechByHash["UF_USER_ID"]), 'select' => array('ID', 'NAME', 'LAST_NAME')))->Fetch(); if($chechUser) { $password = Veb\User\GetRandomPassword(); $obUser = new \CUser; $arFields = array( "PASSWORD"=>$password, "CONFIRM_PASSWORD"=>$password, ); $obUser->Update($chechByHash["UF_USER_ID"], $arFields); Bitrix\Main\Mail\Event::sendImmediate([ "EVENT_NAME" => "VEB_NEW_PSWD_FORGOT", "LID" => SITE_ID, "C_FIELDS" => [ "EMAIL" => $chechByHash['UF_EMAIL'], "PASSWORD" => $password, "LAST_NAME" => $chechUser['LAST_NAME'], "NAME" => $chechUser['NAME'], ], ]); Veb\HL\UserForgotPassword::Update($chechByHash['ID'], array('UF_SEND_PSWD' => true)); ?> <section class="section section-item"> <div class="container"> На Ваш почтовый адрес электронной почты отправлено письмо с новым паролем. </div> </section> <? } else { ?> <section class="section section-item"> <div class="container"> Пользователен не найден. </div> </section> <? } } } } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>