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; }
private function setAmount() { $oModelVOrderJournal = new Borrower_Model_VOrderJournal(); $this->_nAmount = (int) $oModelVOrderJournal->getCartTotalAmount($this->getUserId()); }