public function loaddataorderspaymentAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper("layout")->disableLayout();
     $aInputFilters = array("*" => array(new Zend_Filter_StringTrim()));
     $aInputValidators = array("num_row_per_page" => array(new Zend_Validate_Digits()), "curr_page" => array(new Zend_Validate_Digits()), "sort_column" => array(new AppCms2_Validate_SpecialAlpha()), "sort_method" => array(new Zend_Validate_Alpha()));
     $oInput = new Zend_Filter_Input($aInputFilters, $aInputValidators, $_POST);
     $nNumRowPerPage = $oInput->getUnescaped("num_row_per_page");
     $nCurrPage = $oInput->getUnescaped("curr_page");
     $sSortColumn = $oInput->getUnescaped("sort_column");
     $sSortMethod = $oInput->getUnescaped("sort_method");
     $aFilter = array();
     foreach ($aFilter as $sKey => $sValue) {
         if (!isset($sValue)) {
             unset($aFilter[$sKey]);
         }
     }
     $oModelVOrderPaymentHistory = new User_Model_VOrderPaymentHistory();
     $oRowset = $oModelVOrderPaymentHistory->getUserPayments($aFilter, $nNumRowPerPage, ($nCurrPage - 1) * $nNumRowPerPage, $sSortColumn . " " . $sSortMethod);
     $nNumRows = $oModelVOrderPaymentHistory->getUserPayments($aFilter)->count();
     $aJson = array("rowset" => $oRowset->toArray(), "num_rows" => $nNumRows);
     header("Content-type: application/json");
     echo Zend_Json::encode($aJson);
     exit;
 }
 public function getuserpaymentdetailsAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper("layout")->disableLayout();
     $aJson = null;
     $oModelVOrderPaymentHistory = new User_Model_VOrderPaymentHistory();
     $oModelOrderPayment = new User_Model_OrderPayment();
     if ($this->_request->isPost()) {
         $aPostData = $this->_request->getPost();
         $nOrderPaymentId = $aPostData["order_payment_id"];
         if ($oModelOrderPayment->getUserPayment($nOrderPaymentId)) {
             $aJson = $oModelVOrderPaymentHistory->getUserPaymentDetails($nOrderPaymentId)->toArray();
         }
     }
     header("Content-type: application/json");
     echo Zend_Json::encode($aJson);
     exit;
 }
 public function statusAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper("layout")->disableLayout();
     if ($this->_request->isPost()) {
         $aPostData = $this->_request->getPost();
         $sHash = md5($aPostData["transaction_id"] . $aPostData["merchant_id"] . $aPostData["order_id"] . $aPostData["product_id"] . $aPostData["user_id"] . $aPostData["amount"] . $aPostData["descr"] . $aPostData["client_ip"] . $aPostData["time"] . $this->_sAuthKey2);
         if ($sHash === $aPostData["hash"]) {
             $oModelOrderPayment = new User_Model_OrderPayment();
             $oModelOrderJournal = new User_Model_OrderJournal();
             $oModelOrderFile = new User_Model_OrderFile();
             $oModelOrderCart = new Borrower_Model_OrderCart();
             $oModelOrderJournalOrderCart = new Borrower_Model_OrderJournalOrderCart();
             $oModelVOrderPaymentHistory = new User_Model_VOrderPaymentHistory();
             $sPathOld = APPLICATION_PATH . "/../files_scanned/";
             $sPathNew = APPLICATION_PATH . "/../../public_html/files_scanned/";
             $nOrderPaymentId = (int) $aPostData["order_id"];
             $nUserId = (int) $aPostData["user_id"];
             $nAmount = (int) $aPostData["amount"];
             $oOrderPayment = $oModelOrderPayment->getRow($nOrderPaymentId);
             if ($oOrderPayment->user_id === $nUserId && $oOrderPayment->amount === $nAmount && $oOrderPayment->is_ending !== 1) {
                 $oDb = Zend_Db_Table::getDefaultAdapter();
                 try {
                     if (!@is_dir($sPathNew)) {
                         if (!@mkdir($sPathNew, 0777)) {
                             throw new Zend_Exception();
                         }
                     }
                     if (!@is_dir($sPathOld)) {
                         throw new Zend_Exception();
                     }
                     $oDb->beginTransaction();
                     $oOrderJournal = $oModelVOrderPaymentHistory->getOrderJournal($nOrderPaymentId);
                     foreach ($oOrderJournal as $oRow) {
                         $nOrderJournalId = $oRow->order_journal_id;
                         if (!@is_dir($sPathNew . "user_id_" . $nUserId)) {
                             if (!@mkdir($sPathNew . "user_id_" . $nUserId, 0777)) {
                                 throw new Zend_Exception();
                             }
                         }
                         $oOrderFile = $oModelOrderFile->getRow($oRow->order_file_id);
                         if (!@copy($sPathOld . $oOrderFile->name, $sPathNew . "user_id_" . $nUserId . "/" . $oOrderFile->name)) {
                             throw new Zend_Exception();
                         }
                         $oModelOrderJournal->setOrderPaymentSuccess($nOrderJournalId);
                         $oMail = new AppCms2_Controller_Plugin_Mail();
                         $oMail->sendBorrowerOrderStatusInfo($nOrderJournalId, 5);
                     }
                     $oModelOrderPayment->editRow($nOrderPaymentId, array("is_ending" => 1, "date_is_ending" => time()));
                     $nOrderCartId = $oModelOrderCart->getOrderCartId($nUserId);
                     $oModelOrderJournalOrderCart->deleteCartJournals($nOrderCartId);
                     $oDb->commit();
                     echo "ACK";
                 } catch (Zend_Exception $e) {
                     $oDb->rollBack();
                 }
             }
         }
     }
     exit;
 }