public function newpaymentAction()
 {
     $oFormNewPayment = new Borrower_Form_NewPayment();
     if ($this->getRequest()->isPost()) {
         $aPostData = $this->_request->getPost();
         if ($oFormNewPayment->isValid($aPostData)) {
             $oSessionNewPayment = new Zend_Session_Namespace("new_payment");
             $oPayU = new AppCms2_Payments_PayU();
             $oModelVOrderJournal = new Borrower_Model_VOrderJournal();
             $oModelOrderCart = new Borrower_Model_OrderCart();
             $oModelOrderJournal = new User_Model_OrderJournal();
             $oModelOrderJournalOrderCart = new Borrower_Model_OrderJournalOrderCart();
             $oModelOrderPayment = new User_Model_OrderPayment();
             $oModelOrderPaymentHistory = new User_Model_OrderPaymentHistory();
             $oModelUserLog = new Admin_Model_UserLog();
             $oModelUser = new Admin_Model_User();
             $oGenereteSessionId = new AppCms2_GenereteSessionId();
             if ($this->_oAuth->hasIdentity()) {
                 $oDb = Zend_Db_Table::getDefaultAdapter();
                 try {
                     $oDb->beginTransaction();
                     $oUserOrderJournal = $oModelVOrderJournal->getUserOrderJournal($this->_nUserId);
                     $nOrderCartId = $oModelOrderCart->getOrderCartId($this->_nUserId);
                     //pobiera id koszyka użytkownika
                     foreach ($oUserOrderJournal as $oValue) {
                         //sprawdza czy na pewno wszystkie zamówienia znajdują się w koszyku
                         $bIsExists = $oModelOrderJournalOrderCart->findOrderJournal($oValue->id, $nOrderCartId);
                         if (!$bIsExists) {
                             $oModelOrderJournalOrderCart->addOrderJournalOrderCart(array("order_journal_id" => $oValue->id, "order_cart_id" => $nOrderCartId));
                         }
                     }
                     $oCart = $oModelOrderJournalOrderCart->getCartJournals($nOrderCartId);
                     //pobiera id czasopism znajdujących się w koszyku
                     $nCartCount = $oCart->count();
                     foreach ($oCart as $oValue) {
                         $sPaymentDesc .= $oValue->order_journal_id;
                         if ($nCartCount > 1) {
                             $sPaymentDesc .= "; ";
                         }
                     }
                     $sPaymentDesc = trim($sPaymentDesc);
                     $aPaymentParam = $oGenereteSessionId->generatePaymentParam();
                     $oPayU->setUserId($this->_nUserId);
                     $oPayU->setOrderId($aPaymentParam["order_id"]);
                     $oPayU->setSessionId($aPaymentParam["session_id"]);
                     $oPayU->setAmount($oModelVOrderJournal->getCartTotalAmount($this->_nUserId));
                     $oPayU->setFirstName($aPostData["first_name"]);
                     $oPayU->setLastName($aPostData["last_name"]);
                     $oPayU->setEmailAddress($aPostData["email_address"]);
                     $oPayU->setStreet("");
                     $oPayU->setPostCode("");
                     $oPayU->setCity("");
                     $oPayU->setPhone("");
                     $oPayU->setClientIP($oModelUserLog->getRealIpAddr());
                     $oPayU->setDesc("Zamówienie nr " . $sPaymentDesc);
                     $oPayU->setSig();
                     $aUserParam = $oModelUser->findUser($this->_nUserId);
                     if ($oSessionNewPayment->session_key !== md5($this->_nUserId . $aUserParam["email_address"] . $oModelVOrderJournal->getCartTotalAmount($this->_nUserId) . $oFormNewPayment->getKey3())) {
                         throw new Zend_Exception();
                     }
                     $oFormPayU = new Borrower_Form_PayU($oPayU);
                     //wypełniona klasa payu
                     $nOrderPaymentId = $oModelOrderPayment->addRow($oPayU->getPaymentParam());
                     //tworzy nowy rekord w tabeli płatności i zwraca jego id
                     $oModelOrderJournal->setOrderPaymentId($oCart, $nOrderPaymentId);
                     //łączy czasopismo z płatnością
                     $oModelOrderPaymentHistory->setOrderPaymentHistory($oCart, $nOrderPaymentId);
                     //dodaje informacje do tabeli z historią płatności
                     $this->view->oFormPayU = $oFormPayU;
                     $oDb->commit();
                 } catch (Zend_Exception $e) {
                     $oDb->rollBack();
                     $this->_redirect("/borrower/payment/newpayment");
                 }
             }
         }
     } else {
         if ($oFormNewPayment->getIsInit()) {
             $this->view->oFormNewPayment = $oFormNewPayment;
         }
     }
 }
 public function getcarttotalamountAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper("layout")->disableLayout();
     $aJson = null;
     if ($this->_request->isPost()) {
         $oModelVOrderJournal = new Borrower_Model_VOrderJournal();
         $aJson = $oModelVOrderJournal->getCartTotalAmount($this->_nUserId);
     }
     header("Content-type: application/json");
     echo Zend_Json::encode($aJson);
     exit;
 }
Exemple #3
0
 private function setAmount()
 {
     $oModelVOrderJournal = new Borrower_Model_VOrderJournal();
     $this->_nAmount = (int) $oModelVOrderJournal->getCartTotalAmount($this->getUserId());
 }