Example #1
0
 function testProcessMailRecepients()
 {
     $mailer = new lmbMailer(array());
     $recs = $mailer->processMailRecipients("bob@localhost");
     $this->assertEqual(sizeof($recs), 1);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "");
     $recs = $mailer->processMailRecipients("Bob<bob@localhost>");
     $this->assertEqual(sizeof($recs), 1);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "Bob");
     $recs = $mailer->processMailRecipients(array("bob@localhost"));
     $this->assertEqual(sizeof($recs), 1);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "");
     $recs = $mailer->processMailRecipients(array("name" => "Bob", "address" => "bob@localhost"));
     $this->assertEqual(sizeof($recs), 1);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "Bob");
     $recs = $mailer->processMailRecipients(array("Bob<bob@localhost>"));
     $this->assertEqual(sizeof($recs), 1);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "Bob");
     $recs = $mailer->processMailRecipients(array("bob@localhost", "todd@localhost"));
     $this->assertEqual(sizeof($recs), 2);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "");
     $this->assertEqual($recs[1]['address'], "todd@localhost");
     $this->assertEqual($recs[1]['name'], "");
     $recs = $mailer->processMailRecipients(array("Bob<bob@localhost>", "todd@localhost"));
     $this->assertEqual(sizeof($recs), 2);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "Bob");
     $this->assertEqual($recs[1]['address'], "todd@localhost");
     $this->assertEqual($recs[1]['name'], "");
     $recs = $mailer->processMailRecipients(array(array("name" => "Bob", "address" => "bob@localhost"), "todd@localhost"));
     $this->assertEqual(sizeof($recs), 2);
     $this->assertEqual($recs[0]['address'], "bob@localhost");
     $this->assertEqual($recs[0]['name'], "Bob");
     $this->assertEqual($recs[1]['address'], "todd@localhost");
     $this->assertEqual($recs[1]['name'], "");
 }
 function doForgotPassword()
 {
     if (!$this->request->hasPost()) {
         return;
     }
     if (!($user = lmbActiveRecord::findFirst('lmbCmsUser', array('email = ?', $this->request->get('email'))))) {
         return $this->flashError("Пользователь с таким значением email не найден", array('Field' => 'email'));
     }
     $this->useForm('password_form');
     if (!$this->error_list->isEmpty()) {
         return;
     }
     $password = $user->generatePassword();
     $user->setNewPassword($password);
     $user->setGeneratedPassword($user->getCryptedPassword($password));
     $user->saveSkipValidation();
     $template = new lmbMacroView('cms_user/forgot_password_email.txt');
     $template->set('user', $user);
     $template->set('approve_password_url', 'http://' . $_SERVER['HTTP_HOST'] . '/cms_user/approve/' . $user->getGeneratedPassword());
     $email_body = $template->render();
     $mailer = new lmbMailer();
     $mailer->sendPlainMail($user->getEmail(), lmb_env_get('ADMIN_EMAIL', "*****@*****.**"), "Password recovery", $email_body);
     $this->flashAndRedirect("Новый пароль выслан на ваш email", '/cms_user/login');
 }