Beispiel #1
0
 public function passwordAction()
 {
     $objForm = new HTMLFORM($this, 'password');
     $objForm->setAction('index/password');
     $objForm->addField('E-Mail/Kundennummer', 'input', 'username', '', true, '', '', '');
     $objForm->addSubmitButton('E-Mail zusenden');
     $objForm->output();
     if ($objForm->isSubmittedAndValid()) {
         $objCustomerData = new GSALES_DATA_CUSTOMER();
         $intResult = $objCustomerData->passwordLostStep1($_POST['username']);
         if ($intResult < 0) {
             switch ($intResult) {
                 case -1:
                     if (false == strstr('@', $strUsername)) {
                         $this->setMessage('Die E-Mail Adresse ist nicht eindeutig, bitte anhand Ihrer Kundennummer probieren.', 'error');
                     } else {
                         $this->setMessage('Die Kundennummer ist nicht eindeutig, bitte anhand Ihrer E-Mail Adresse probieren.', 'error');
                     }
                     break;
                 case -2:
                     $this->setMessage('Kudenkonto konnte nicht gefunden werden.', 'error');
                     break;
                 case -3:
                     $this->setMessage('Die Passwort-Vergessen Funktion steht momentan aufgrund eines Fehlers nicht zur Verfügung.', 'error');
                     break;
                 default:
             }
             return false;
         } else {
             // email versenden
             $objCustomer = $objCustomerData->getCustomerById($intResult);
             $arrData['id'] = $objCustomer->getId();
             $arrData['email'] = $objCustomer->getEmail();
             $arrData['token'] = $objCustomer->getFrontendPasswordLost();
             $arrData['url'] = FRONTEND_URL;
             $objMailer = new FRONTEND_MAILER();
             $objMailer->FromName = MAIL_FROM_NAME;
             $objMailer->From = MAIL_FROM;
             $objMailer->useTemplateForSubjectAndBody('passwordlost.tpl', $arrData);
             $objMailer->AddAddress($objCustomer->getEmail(), trim($objCustomer->getFirstname() . ' ' . $objCustomer->getLastname()));
             $objMailer->Send();
             $this->setMessage('Sie erhalten in Kürze eine E-Mail. Bitte befolgen Sie die Anweisungen um ein neues Passwort festzulegen.');
             $this->redirectTo('index', 'index');
         }
     }
 }