/** * 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); }