Exemplo n.º 1
0
 /**
  * checks PostValidate()
  * if TRUE
  * saves data to db.
  * send request to internal and returns response ack.
  * if FALSE 
  * puts FALSE in ACK
  * send response via CreateMethodResponse
  */
 public function ExecuteRequest($manual = false)
 {
     $validate = $this->request->PostValidate();
     $internalModel = new Application_Model_Internal($this->data);
     if ($validate === TRUE || strtolower($validate) === 'ack00') {
         // ack00 check is for b/c
         $this->saveDB();
         $content = $internalModel->SendRequestToInternal($this->request);
         if (empty($content)) {
             Application_Model_General::logRequest($this->request->getHeaderField('REQUEST_ID'), "ExecuteRequest: Internal CRM error");
             return FALSE;
         }
         $response = Zend_Json::decode($content, Zend_Json::TYPE_OBJECT);
         if (!isset($response->status)) {
             $response->status = "";
         } elseif ($response->status == "FALSE") {
             $response->status = "";
         }
     } else {
         $this->saveTransactionsDB();
         if ($validate === FALSE) {
             $validate = "Inv02";
         }
         $response = new stdClass();
         $response->status = $validate;
     }
     $internalModel->CreateMethodResponse($response, $manual);
 }