Пример #1
0
 public function registerAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $db = Zend_Db_Table::getDefaultAdapter();
     $users = new Application_Model_Users();
     $registerForm = new Application_Form_Registration();
     if ($this->_request->isPost()) {
         foreach ($this->_request->getPost('dataPost') as $dataArray) {
             $name = $dataArray['name'];
             $formDataForValidation["{$name}"] = $dataArray['value'];
         }
         if ($formDataForValidation['driverCheck'] === "1") {
             $carModel = $registerForm->getElement('carModel');
             $carModel->setRequired(true)->addErrorMessage('Required');
             $carMake = $registerForm->getElement('carMake');
             $carMake->setRequired(true)->addErrorMessage('Required');
             $driverLicense = $registerForm->getElement('driverLicense');
             $driverLicense->setRequired(true)->addErrorMessage('Required');
         }
         if ($registerForm->isValid($formDataForValidation)) {
             $userDataInsert = array('id' => null, 'email' => $formDataForValidation['emailRegister'], 'password' => $formDataForValidation['passwordRegister'], 'last_name' => $formDataForValidation['lastName'], 'first_name' => $formDataForValidation['firstName'], 'driver_flag' => $formDataForValidation['driverCheck'], 'telephone' => $formDataForValidation['telephone']);
             try {
                 $db->insert($users->getTableName(), $userDataInsert);
                 $last_id = $users->getAdapter()->lastInsertId();
             } catch (Zend_Exception $e) {
                 $this->redirect('/error/error');
             }
             if ($formDataForValidation['driverCheck']) {
                 //if the user is a driver => need to update driver data
                 $driver = new Application_Model_Driver();
                 $driverDataInsert = array('id' => null, 'user_id' => $last_id, 'make' => $formDataForValidation['carMake'], 'model' => $formDataForValidation['carModel'], 'license' => $formDataForValidation['driverLicense'], 'completed' => 0);
                 try {
                     $db->insert($driver->getTableName(), $driverDataInsert);
                 } catch (Zend_Exception $e) {
                     $this->redirect('/error/error');
                 }
             }
             $this->_helper->json(0);
         } else {
             $errorMessages = $registerForm->getMessages();
             $this->_helper->json($errorMessages);
         }
     }
 }
Пример #2
0
 public function forgetpasswordAction()
 {
     $form2 = new Application_Form_Registration();
     $form2->getElement('register')->setLabel('send');
     $form2->removeElement('name');
     $form2->removeElement('password');
     $form2->removeElement('confirmPassword');
     $form2->removeElement('image');
     $form2->removeElement('room_no');
     $form2->removeElement('ext');
     $this->view->form = $form2;
     if ($this->getRequest()->isPost()) {
         if ($form2->isValid($this->getRequest()->getParams())) {
             $email = $this->_request->getParam('email');
             var_dump($email);
             $usermodel = new Application_Model_User();
             if ($userid = $usermodel->checkuserEmail($email)) {
                 $newpassword = substr(hash('sha512', rand()), 0, 8);
                 //////////////////// mail && password ///////////////////////////
                 $smtpoptions = array('auth' => 'login', 'username' => '*****@*****.**', 'password' => 'Marwaspassword', 'ssl' => 'tls', 'port' => 587);
                 $mailtransport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $smtpoptions);
                 $mail = new Zend_Mail();
                 $mail->addTo($email, 'to..');
                 $mail->setSubject('Hi');
                 $mail->setBodyText('your new password is ' . $newpassword);
                 $mail->setFrom('*****@*****.**', 'Cafee Prohect');
                 //Send it!
                 $sent = true;
                 try {
                     $mail->send($mailtransport);
                 } catch (Exception $e) {
                     $sent = false;
                 }
                 //Do stuff (display error message, log it, redirect user, etc)
                 if ($sent) {
                     if ($usermodel->updateuseremail(md5($newpassword), $userid[0]['id'])) {
                         echo 'Successfully Sent Please Check your Email';
                     } else {
                         echo 'Error in Server';
                     }
                 } else {
                     echo 'Failed Sending to your Email Please Check your Settings';
                 }
             } else {
                 echo 'This Email is not Existed in my Database';
             }
         }
     }
 }