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