Location: PHPKode > scripts > Smart AJAX Controller > class.smartajaxcontroller.php
<?php

//SmartAjaxController functions as output generator for AJAX response
class SmartAjaxController {

	//here we store the array sent as response
	private $returnArray=array();
	
	//here we store all the input variables
	private $inputVariables=array();
	
	public function __construct(){
		if(extension_loaded('zlib')){ob_start('ob_gzhandler');} else {ob_start();}
	}
	
	//Here we parse the serialized input variable string to proper input variables
	public function setInputVariables($data){
		if(!empty($data)){
			parse_str($data,$this->inputVariables);
		}
	}
	
	//Here we return an input variable for use
	public function getVar($key){
		if(isset($this->inputVariables[$key])){
			return $this->inputVariables[$key];
		} else {
			return false;
		}
	}
	
	//assigning a new key for returning
	public function setKey($key,$value){
		if($key!=''){
			$this->returnArray[$key]=$value;
		}
	}
	
	// When class serves no further purpose we echo the response
	public function output(){
		header('Content-Type: text/html; charset=utf-8');
		header('Content-Encoding: gzip');
		if(empty($this->returnArray)){
			$this->setKey('error',1);
			$this->setKey('message','Nothing to return!');
		}
		echo json_encode($this->returnArray);
		ob_end_flush();
	}
	
}
?>
Return current item: Smart AJAX Controller