/**
  * Reset form factory
  *
  * @param  ServiceLocatorInterface $serviceLocator
  * @return ResetForm
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $options = $serviceLocator->get('User\\Password\\Options');
     $form = new ResetForm(null, $options);
     $form->setInputFilter(new ResetFormFilter());
     return $form;
 }
 public function restPutReset()
 {
     $this->layout('layout/adminblank');
     $callback = $this->params()->fromPost('callback');
     $callback = $callback ? $callback : '/admin/';
     $item = $this->getRequest()->getPost();
     $form = new Form\ResetForm();
     $form->bind($item);
     if ($form->isValid()) {
         $args = $form->getData();
         JobManager::setQueue('sendmail');
         JobManager::jobHandler('User\\Jobs\\ResetPassword', $args);
         return $this->redirect()->toUrl($callback);
     } else {
     }
     return array('form' => $form, 'item' => $form->getData());
 }
 public function resetAction()
 {
     $request = $this->getRequest();
     $token = $request->getQuery()->token;
     $lang_code = $this->params()->fromRoute('lang');
     $form = new ResetForm();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             if ($token != null) {
                 $form->reset($this, $token);
                 return $this->redirect()->toUrl('/' . $lang_code . "/user/login");
             }
         }
     }
     return new ViewModel(array('form' => $form));
 }
 public function resetAction()
 {
     $callback = $this->params()->fromPost('callback');
     $callback = $callback ? $callback : '/login/';
     $item = $this->getRequest()->getPost();
     $form = new Form\ResetForm();
     $form->bind($item);
     if ($form->isValid()) {
         $itemModel = Api::_()->getModel('User\\Model\\Reset');
         $itemModel->setItem($form->getData());
         $codeItem = $itemModel->resetRequest();
         $userItem = $itemModel->getItem();
         $mail = new \Core\Mail();
         $mail->getMessage()->setSubject("Reset Password")->setData(array('user' => $userItem, 'code' => $codeItem))->setTo($userItem->email, $userItem->userName)->setTemplatePath(Api::_()->getModulePath('Engine') . '/view/')->setTemplate('mail/reset');
         $mail->send();
         return $this->redirect()->toUrl($callback);
     } else {
     }
     return array('form' => $form, 'item' => $form->getData());
 }