public function resetpassAction()
 {
     $form = new Application_Form_ResetPass();
     $request = $this->getRequest();
     if ($request->isPost()) {
         if ($form->isValid($request->getPost())) {
             $data = $form->getValues();
             try {
                 //check if email is registered
                 $userMapper = new Application_Model_UserMapper();
                 $result = $userMapper->getDbTable()->fetchRow($userMapper->getDbTable()->select('id')->where('email = ?', $data['email']));
                 if (!$result || count($result) == 0) {
                     throw new ErrorException('Email is not registered!');
                 }
                 //generate new password and update database field
                 $length = 8;
                 $pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
                 $new_pass = md5($pass);
                 $update_fields = array('password' => $new_pass);
                 //send email with new credentials
                 $mailMapper = new Application_Model_MailsettingMapper();
                 $default_config_id = $mailMapper->getDefault();
                 $mailsetting = $mailMapper->getConfig($default_config_id);
                 $obj = new My_Class_Cript();
                 $config = array('auth' => 'login', 'username' => $mailsetting->email, 'password' => $obj->decript($mailsetting->password), 'ssl' => $mailsetting->stype, 'port' => $mailsetting->port);
                 $transport = new Zend_Mail_Transport_Smtp($mailsetting->host, $config);
                 $mail = new Zend_Mail();
                 $message = "<p>New password is: {$pass}</p>";
                 $mail->setBodyHtml($message);
                 $mail->setFrom('*****@*****.**', 'Products-Pilot');
                 $mail->addTo($data['email'], 'You');
                 $mail->setSubject('New Password');
                 if ($mail->send($transport)) {
                     $result = $userMapper->getDbTable()->update($update_fields, array('email = ?' => $data['email']));
                     if (!$result) {
                         throw new ErrorException('Something goes wrong!');
                     }
                     $this->_helper->getHelper('FlashMessenger')->addMessage('Check your email for new password', 'info');
                     return $this->_helper->redirector('login');
                 }
             } catch (Exception $e) {
                 //var_dump($e);
                 if ($e instanceof ErrorException) {
                     $message = $e->getMessage();
                 } else {
                     $message = 'Mail service error: ' . $e->getMessage();
                 }
                 $this->_helper->getHelper('FlashMessenger')->addMessage($message, 'error');
                 $this->_helper->redirector('resetpass');
             }
             //$this->_helper->redirector('login');
         } else {
             foreach ($form->getMessages() as $error) {
                 $this->_helper->getHelper('FlashMessenger')->addMessage(array_shift(array_values($error)), 'error');
                 $this->_helper->redirector('resetpass');
                 //var_dump(array_shift(array_values($error)));
             }
         }
     }
     $this->view->form = $form;
 }
 public function exepaypalAction()
 {
     if (isset($_GET['success']) && $_GET['success'] == 'true') {
         $paymentId = $_GET['paymentId'];
         $token = $_GET['token'];
         $PayerID = $_GET['PayerID'];
         require_once APPLICATION_PATH . "/../library/My/paypal_bootstrap.php";
         $payment = Payment::get($paymentId, $apiContext);
         $execution = new PaymentExecution();
         $execution->setPayerId($PayerID);
         $result = $payment->execute($execution, $apiContext);
         $payment = Payment::get($paymentId, $apiContext);
         if ($payment->getState() == 'approved') {
             $transactions = $payment->getTransactions();
             $relatedResources = $transactions[0]->getRelatedResources();
             $sale = $relatedResources[0]->getSale();
             $saleId = $sale->getId();
             $sale = Sale::get($saleId, $apiContext);
             //var_dump($transactions[0], $sale);
             $order_id = $transactions[0]->getCustom();
             $userMapper = new Application_Model_UserMapper();
             $db_adapter = $userMapper->getDbTable()->getAdapter();
             $db = Zend_Db::factory('Mysqli', $db_adapter->getConfig());
             $data = array('state' => $sale->getState(), 'transaction_id' => $saleId);
             $db->update('orders', $data, array('id = ?' => $order_id));
             $row = $db->fetchRow($db->select('user_id')->from('orders')->where('id = ?', $order_id));
             $db->delete('shoppingcarts', array('user_id = ?' => $row['user_id']));
             $this->_helper->getHelper('FlashMessenger')->addMessage('Order Complete', 'success');
         }
     } else {
         $this->_helper->getHelper('FlashMessenger')->addMessage('You close the payment', 'error');
     }
     return $this->_helper->redirector('mycart');
 }