78 lines
2.2 KiB
PHP
78 lines
2.2 KiB
PHP
<?php
|
|
// not really an error, this is a success response
|
|
define('ERR_OK', 'OK');
|
|
|
|
// 100 range will be for request issues
|
|
define('ERR_MISSING_ACTION', 100);
|
|
define('ERR_MISSING_REQUEST_DATA', 101);
|
|
|
|
// 200 range is for permissions
|
|
define('ERR_DEACTIVATED_ACCOUNT', 200);
|
|
define('ERR_DEACTIVATED_PROGRAM', 201);
|
|
define('ERR_ACCESS_DENIED', 202);
|
|
define('ERR_EXPIRED_SESSION', 203);
|
|
define('ERR_SESSION_TERMINATED', 204);
|
|
|
|
// 300 range will be for update status codes
|
|
define('ERR_UPDATE_NOT_FOUND', 300);
|
|
|
|
// 900 will be reserved for internal errors
|
|
define('ERR_SYSTEM_ERROR', 900);
|
|
|
|
class ApiResponseXml {
|
|
private $response = null;
|
|
private $response_container = null;
|
|
|
|
public function __construct() {
|
|
$this->response = new DOMDocument('1.0', 'UTF-8');
|
|
$this->response_container = $this->response->createElement('Response');
|
|
}
|
|
|
|
public function appendSection($section_title, $section_data) {
|
|
$section = $this->response->createElement($section_title);
|
|
foreach($section_data as $name => $value) {
|
|
$section->appendChild( $this->response->createElement( $name, $value ) );
|
|
}
|
|
$this->response_container->appendChild($section);
|
|
}
|
|
|
|
public function error($code = -1, $message = 'Unknown error.') {
|
|
$error_element = $this->response->createElement('AuthorizationResponse');
|
|
$error_element->appendChild($this->response->createElement('ResponseCode', $code));
|
|
$error_element->appendChild($this->response->createElement('Message', $message));
|
|
$this->response_container->appendChild($error_element);
|
|
$this->display();
|
|
}
|
|
|
|
public function display() {
|
|
@header('Content-Type: text/xml');
|
|
$this->response->appendChild($this->response_container);
|
|
print $this->response->saveXML();
|
|
}
|
|
}
|
|
|
|
|
|
class ApiResponseJson {
|
|
private $response = array();
|
|
|
|
public function __construct() {
|
|
$this->response = array();
|
|
}
|
|
|
|
public function appendSection($section_title, $section_data) {
|
|
$this->response[$section_title] = $section_data;
|
|
}
|
|
|
|
public function error($code = -1, $message = 'Unknown error.') {
|
|
$this->response['AuthorizationResponse'] = array(
|
|
'ResponseCode' => $code,
|
|
'Message' => $message
|
|
);
|
|
$this->display();
|
|
}
|
|
|
|
public function display() {
|
|
@header('Content-Type: application/json');
|
|
print json_encode(array('Response' => $this->response));
|
|
}
|
|
} |