public function authProccessQuick($login, $password, $autologin) { $objResponse = new xajaxResponse(); $login = App::getModel('formprotection')->cropDangerousCode($login); $password = App::getModel('formprotection')->cropDangerousCode($password); $hash = new \PasswordHash\PasswordHash(); $sql = 'SELECT idclient,disable,password FROM client WHERE login = :login AND viewid=:viewid'; $stmt = Db::getInstance()->prepare($sql); $stmt->bindValue('login', $hash->HashLogin($login)); $stmt->bindValue('viewid', Helper::getViewId()); $stmt->execute(); $rs = $stmt->fetch(); if ($rs) { if ($rs['disable'] == 0) { if ($hash->CheckPassword($password, $rs['password'])) { $result = $rs['idclient']; } else { $result = 0; } } else { $result = -1; } } else { $result = 0; } if ($result > 0) { if (isset($result)) { App::getModel('clientlogin')->setAutologinKey($result); } Session::setActiveClientid($result); $this->checkClientGroup(); $this->setLoginTime(); App::getModel('client')->saveClientData(); $misingCart = App::getModel('missingcart')->checkMissingCartForClient(Session::getActiveClientid()); if (is_array($misingCart) && $misingCart != 0) { App::getModel('cart')->addProductsToCartFromMissingCart($misingCart); App::getModel('missingcart')->cleanMissingCart(Session::getActiveClientid()); } $objResponse->script("window.location.reload(false);"); } elseif ($result < 0) { $message = _('TXT_BLOKED_USER'); $objResponse->assign("login-error", "innerHTML", $message); $objResponse->script("\$('#login-error').show();"); } else { $message = _('ERR_BAD_LOGIN_OR_PASSWORD'); $objResponse->assign("login-error", "innerHTML", $message); $objResponse->script("\$('#login-error').show();"); } return $objResponse; }
public function authProccess($login, $password) { $hash = new \PasswordHash\PasswordHash(); $sql = 'SELECT DISTINCT iduser, password FROM user U WHERE login = :login AND active = 1'; $stmt = Db::getInstance()->prepare($sql); $stmt->bindValue('login', $hash->HashLogin($login)); $stmt->execute(); $rs = $stmt->fetch(); $id = 0; if ($rs) { if ($hash->CheckPassword($password, $rs['password'])) { $id = $rs['iduser']; } } return $id; }
public function index() { $formPass = new SimpleForm\Form(array('name' => 'changePassword', 'action' => '', 'method' => 'post')); $oldPassword = $formPass->AddChild(new SimpleForm\Elements\Password(array('name' => 'password', 'label' => _('TXT_PASSWORD'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_PASSWORD')))))); $newPassword = $formPass->AddChild(new SimpleForm\Elements\Password(array('name' => 'newpassword', 'label' => _('TXT_PASSWORD_NEW'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_PASSWORD')), new SimpleForm\Rules\MinLength(_('ERR_PASSWORD_NEW_INVALID'), 6))))); $formPass->AddChild(new SimpleForm\Elements\Password(array('name' => 'confirmpassword', 'label' => _('TXT_PASSWORD_REPEAT'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_CONFIRM_PASSWORD')), new SimpleForm\Rules\Compare(_('ERR_PASSWORDS_NOT_COMPATIBILE'), $newPassword))))); if ($formPass->Validate()) { $formData = $formPass->getSubmitValues(); $BaseTable = $this->model->getClientPass(); $PostValidatePass = $formData['password']; $hash = new \PasswordHash\PasswordHash(); if ($hash->CheckPassword($PostValidatePass, $BaseTable['password'])) { $this->model->updateClientPass($formData['newpassword']); $email = Session::getActiveClientEmail(); $this->registry->template->assign('PASS_NEW', $formData['newpassword']); App::getModel('mailer')->sendEmail(array('template' => 'editPassword', 'email' => array($email), 'bcc' => false, 'subject' => _('TXT_PASSWORD_EDIT'), 'viewid' => Helper::getViewId())); Session::setVolatileChangePassOk(1, false); App::redirectUrl($this->registry->router->generate('frontend.clientsettings', true)); } else { Session::setVolatileOldPassError(1, false); } } $this->registry->template->assign('formPass', $formPass->getForm()); $erroroldpass = Session::getVolatileOldPassError(); if ($erroroldpass[0] == 1) { $this->registry->template->assign('error', _('TXT_ERROR_OLD_PASSWORD')); } $changepassok = Session::getVolatileChangePassOk(); if ($changepassok[0] == 1) { $this->registry->template->assign('success', _('TXT_DATA_CHANGED_MAIL_SEND')); } $formUserEmail = new SimpleForm\Form(array('name' => 'changeEmail', 'action' => '', 'method' => 'post')); $newEmail = $formUserEmail->AddChild(new SimpleForm\Elements\TextField(array('name' => 'email', 'label' => _('TXT_EMAIL'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_EMAIL')), new SimpleForm\Rules\Email(_('ERR_WRONG_EMAIL')))))); $formUserEmail->AddChild(new SimpleForm\Elements\TextField(array('name' => 'phone', 'label' => _('TXT_PHONE'), 'rules' => array(new SimpleForm\Rules\Required(_('ERR_EMPTY_PHONE')), new SimpleForm\Rules\Format(_('ERR_WRONG_FORMAT'), '/^[0-9 -+]+$/'))))); $formUserEmail->AddChild(new SimpleForm\Elements\TextField(array('name' => 'phone2', 'label' => _('TXT_ADDITIONAL_PHONE'), 'rules' => array(new SimpleForm\Rules\Format(_('ERR_WRONG_FORMAT'), '/^[0-9 -+]+$/'))))); $clientData = App::getModel('client')->getClient(); $formUserEmail->Populate(array('email' => $clientData['email'], 'phone' => $clientData['phone'], 'phone2' => $clientData['phone2'])); if ($formUserEmail->Validate()) { $formData = $formUserEmail->getSubmitValues(); $this->model->updateClientPhone($formData['phone'], $formData['phone2']); if ($clientData['email'] != $formData['email']) { $result = $this->model->checkClientNewMail($formData); if ($result == 0) { $changedMail = $this->model->updateClientEmail($formData); $changedLogin = $this->model->updateClientLogin($formData['email']); Session::killSession(); App::redirectUrl($this->registry->router->generate('frontend.clientlogin', true, array('param' => 'changed'))); } else { Session::setVolatileUserEmailDuplicateError(1, false); } } else { Session::setVolatileUserSettingsSaved(1, false); } App::redirectUrl($this->registry->router->generate('frontend.clientsettings', true)); } $registrationok = Session::getVolatileRegistrationOk(); if ($registrationok[0] == 1) { $this->registry->template->assign('registrationok', _('TXT_REGISTER_USER_OK')); } $errorMail = Session::getVolatileUserEmailDuplicateError(); if ($errorMail[0] == 1) { $this->registry->template->assign('duplicateMailError', _('ERR_DUPLICATE_EMAIL')); } $settingsChanged = Session::getVolatileUserSettingsSaved(); if ($settingsChanged[0] == 1) { $this->registry->template->assign('settingsSaved', _('TXT_SETTINGS_SAVED')); } $this->registry->template->assign('formEmail', $formUserEmail->getForm()); $changedPasswd = Session::getVolatilePasswordChanged(); if ($changedPasswd[0] == 1) { $this->registry->template->assign('changedPasswd', _('TXT_PASSWORD_CHANGED')); } return $this->registry->template->fetch($this->loadTemplate('index.tpl')); }