Файл: sys/inc/classes/AjaxData.class.php
Строк: 58
<?php
/*
Клас для обработки ajax-запросов
*/
class AjaxData {
private static $instance;
private static $type = false;
const STATUS_OK = 1;
const STATUS_ERROR = -1;
private $status = self::STATUS_ERROR;
private $json_data = array();
private $error = null;
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new self;
}
return self::$instance;
}
private function __construct() { }
public function setStatus($status) {
$this -> status = $status;
return $this;
}
public function setError($error) {
$this -> error = $error;
return $this;
}
public function setData($data) {
$this -> json_data = $data;
return $this;
}
public function getData() {
return $this -> json_data;
}
public function setErrorAndHook($error) {
$this -> setError($error) -> hook();
}
public function setDataAndHook($data) {
$this -> setData($data) -> hook();
}
public function hook() {
header("Content-type: application/json");
if ($this -> error != null)
$this -> json_data['error'] = $this -> error;
$this -> json_data['status'] = $this -> status;
echo json_encode($this -> json_data);
exit();
}
public static function isAjaxRequest() {
return strtolower(@$_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}
}