public function validateformAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper("layout")->disableLayout();
     $oCsrfSession = new Zend_Session_Namespace("Zend_Form_Element_Hash_salt_csrf_token");
     $sClassName = $this->_getParam("form_name");
     $oCsrfSession->hash = $this->_getParam("hash");
     $oObjectReflection = new ReflectionClass($sClassName);
     $oFormInstance = $oObjectReflection->newInstanceArgs();
     if (in_array($sClassName, array("Borrower_Form_OrderSettings", "User_Form_OrderSettings"))) {
         $oModelOrderJournal = new User_Model_OrderJournal();
         $nOrderId = $this->_getParam("order_id");
         $oOrderJournal = $oModelOrderJournal->getRow($nOrderId);
         if (isset($nOrderId) && is_numeric($nOrderId) && isset($oOrderJournal->order_status_id) && is_numeric($oOrderJournal->order_status_id)) {
             $oFormInstance->getOrderFields($oOrderJournal->order_status_id, $oOrderJournal->is_journal_collection);
         }
     }
     if (is_array($this->_getParam("valid"))) {
         $aElement = array();
         foreach ($this->_getParam("valid") as $aValue) {
             $aElement["valid"][$aValue["name"]] = $aValue["value"];
         }
         if (is_array($this->_getParam("remove"))) {
             foreach ($this->_getParam("remove") as $aValue) {
                 if ($oFormInstance->getElement($aValue["name"])) {
                     $oFormInstance->removeElement($aValue["name"]);
                 }
             }
         }
         $oFormInstance->isValid($aElement["valid"]);
     } elseif ($oFormInstance->getElement($this->_getParam("element_name"))) {
         $oFormInstance->getElement($this->_getParam("element_name"))->isValid($this->_getParam("element_value"));
     }
     $aJson = $oFormInstance->getMessages();
     header("Content-type: application/json");
     echo Zend_Json::encode($aJson);
     exit;
 }
 public function setsettingsAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper("layout")->disableLayout();
     $aJson = null;
     $oModelOrderJournal = new User_Model_OrderJournal();
     $oFormOrderSettings = new User_Form_OrderSettings();
     if ($this->_request->isPost()) {
         $aPostData = $this->_request->getPost();
         $nOrderId = (int) $aPostData["order_id"];
         $aData = $aPostData["param"];
         if (is_numeric($nOrderId)) {
             $oOrderJournal = $oModelOrderJournal->getRow($nOrderId);
             $aOrderFields = $oFormOrderSettings->getOrderFields($oOrderJournal->order_status_id, $oOrderJournal->is_journal_collection);
             foreach ($aData as $sKey => $sValue) {
                 if (!in_array($sKey, $aOrderFields["write_able"])) {
                     unset($aData[$sKey]);
                 }
             }
             if ($oOrderJournal->order_status_id == 2) {
                 $sValue = $aData["amount"];
                 $nValue = (double) preg_replace(array("/\\,/"), array("."), $sValue) * 100;
                 if (is_numeric($nValue)) {
                     $aData["amount"] = $nValue;
                 } else {
                     $aData["amount"] = null;
                 }
             }
             $aData["order_status_id_is_finish"] = 1;
             $aData["modified_date"] = time();
             $aJson = $oModelOrderJournal->saveOrder($nOrderId, $aData);
         }
     }
     header("Content-type: application/json");
     echo Zend_Json::encode($aJson);
     exit;
 }
 public function setsettingsAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper("layout")->disableLayout();
     $aJson = null;
     $oModelOrderJournal = new User_Model_OrderJournal();
     //$oModelSybase = new User_Model_Sybase();
     $oFormOrderSettings = new Borrower_Form_OrderSettings();
     if ($this->_request->isPost()) {
         $aPostData = $this->_request->getPost();
         $nOrderId = $aPostData["order_id"];
         $aData = $aPostData["param"];
         if (is_numeric($nOrderId)) {
             if ($this->_nUserId == $oModelOrderJournal->getOrderUserId($nOrderId)) {
                 $oOrderJournal = $oModelOrderJournal->getRow($nOrderId);
                 //$aItemInfo = $oModelSybase->getItemStatusAndRequestable($oOrderJournal->item_id);
                 $aOrderFields = $oFormOrderSettings->getOrderFields($oOrderJournal->order_status_id, $oOrderJournal->is_journal_collection);
                 if ($oOrderJournal->order_status_id == 1) {
                     // && !in_array($aItemInfo["item_status"], array("csa", "o"))) {
                     foreach ($aData as $sKey => $sValue) {
                         if (!in_array($sKey, $aOrderFields["write_able"])) {
                             unset($aData[$sKey]);
                         }
                     }
                     $aData["order_status_id_is_finish"] = 1;
                     $aData["modified_date"] = time();
                     //$oModelSybase->setItemStatusAndRequestable($oOrderJournal->item_id, "article", "0");
                     $aJson = $oModelOrderJournal->saveOrder($nOrderId, $aData);
                 } else {
                     if ($oOrderJournal->order_status_id == 1) {
                         // && in_array($aItemInfo["item_status"], array("csa", "o"))) {
                         $nNewOrderStatusId = 7;
                         $oModelOrderJournal->changeStatus($nOrderId, $nNewOrderStatusId);
                         $aJson = "not_requestable";
                     } else {
                         if ($oOrderJournal->order_status_id != 1) {
                             $aOrderFields = $oFormOrderSettings->getOrderFields($oOrderJournal->order_status_id);
                             foreach ($aData as $sKey => $sValue) {
                                 if (!in_array($sKey, $aOrderFields["write_able"])) {
                                     unset($aData[$sKey]);
                                 }
                             }
                             $aData["order_status_id_is_finish"] = 1;
                             $aData["modified_date"] = time();
                             $aJson = $oModelOrderJournal->saveOrder($nOrderId, $aData);
                         }
                     }
                 }
             }
         }
     }
     header("Content-type: application/json");
     echo Zend_Json::encode($aJson);
     exit;
 }