diff --git a/application/core/FHCAPI_Controller.php b/application/core/FHCAPI_Controller.php index fea4e76f0..3bc5c7280 100644 --- a/application/core/FHCAPI_Controller.php +++ b/application/core/FHCAPI_Controller.php @@ -98,7 +98,7 @@ class FHCAPI_Controller extends FHC_Controller /** * @param array $data - * @param string (optional) $type + * @param string $type (optional) * @return void */ public function addError($data, $type = null) @@ -171,6 +171,33 @@ class FHCAPI_Controller extends FHC_Controller exit; } + /** + * @param array $error + * @param string $type (optional) + * @return void + */ + protected function terminateWithError($error, $type = null) + { + $this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR); + $this->addError($error, $type); + $this->setStatus(self::STATUS_ERROR); + exit; + } + + /** + * @param stdclass $result + * @param string $errortype + * @return void + */ + protected function checkForErrors($result, $errortype = self::ERROR_TYPE_GENERAL) + { + // TODO(chris): IMPLEMENT! + if (isError($result)) { + $this->terminateWithError(getError($result), $errortype); + } + return $result->retval; + } + // TODO(chris): complete list