Пример #1
0
 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;
 }
Пример #2
0
    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;
    }
Пример #3
0
 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'));
 }