public function postAction()
 {
     // Params
     $params = $this->_helper->param();
     $response = $this->_helper->response();
     $valid = true;
     // Validatation
     // Exist user
     $count = Doctrine_Core::getTable('Model_Entity_User')->findByemail($params['email'])->count();
     if ($count > 0) {
         $response->addNotification(Kebab_Notification::ERR, 'There is a user with this email');
         $valid = false;
     }
     // Invalid email address
     if (!Kebab_Validation_Email::isValid($params['email'])) {
         $response->addNotification(Kebab_Notification::ERR, 'Invalid email address');
         $valid = false;
     }
     // Check Fullname only Alpha chracter enable
     if (!Kebab_Validation_FullName::isValid($params['fullName'])) {
         $response->addNotification(Kebab_Notification::ERR, 'Only alpha character enable.');
         $valid = false;
     }
     // Model
     if ($valid) {
         $user = Kebab_Model_User::invite($params['fullName'], $params['email']);
     }
     // Response
     if ($valid && is_object($user)) {
         $this->sendInviteMail($user, $params['message']);
         $response->setSuccess(true);
     }
     $response->getResponse();
 }
 public function postAction()
 {
     $email = $this->_request->getParam('email');
     $response = $this->_helper->response();
     if (Kebab_Validation_Email::isValid($email)) {
         // Create user object
         $user = Doctrine_Core::getTable('Model_Entity_User')->findOneBy('email', $email);
         $password = Kebab_Security::createPassword();
         if ($user !== false) {
             $user->password = md5($password);
             $user->save();
             $configParam = Zend_Registry::get('config')->kebab->mail;
             $smtpServer = $configParam->smtpServer;
             $config = $configParam->config->toArray();
             // Mail phtml
             $view = new Zend_View();
             $view->setScriptPath(APPLICATION_PATH . '/views/mails/');
             $view->assign('password', $password);
             $transport = new Zend_Mail_Transport_Smtp($smtpServer, $config);
             $mail = new Zend_Mail('UTF-8');
             $mail->setFrom($configParam->from, 'Kebab Project');
             $mail->addTo($user->email, $user->fullName);
             $mail->setSubject('Reset Password');
             $mail->setBodyHtml($view->render('forgot-password.phtml'));
             $mail->send($transport);
             $response->setSuccess(true)->getResponse();
         } else {
             $response->addNotification(Kebab_Notification::ERR, 'There isn\'t user with this email')->getResponse();
         }
     } else {
         $response->addError('email', 'Invalid email format')->getResponse();
     }
 }
 public function postAction()
 {
     $params = $this->_helper->param();
     $response = $this->_helper->response();
     // Check email
     $isValidEmail = Kebab_Validation_Email::isValid($params['email']);
     $isUnusedEmail = is_object(Doctrine_Core::getTable('Model_Entity_User')->findOneByemail($params['email']));
     if (!$isValidEmail) {
         throw new Kebab_Exception("Invalid email wanna to signup.");
     }
     if (!$isUnusedEmail) {
         $user = Kebab_Model_User::signUp($params['fullName'], $params['email']);
         $this->sendSignUpMail($user);
         $response->setSuccess(true)->getResponse();
     } else {
         $response->addError('email', 'An other user uses this email');
     }
     $response->getResponse();
 }