Current File : //usr/local/lsws/add-ons/webcachemgr/src/AjaxResponse.php |
<?php
/* * *********************************************
* LiteSpeed Web Server Cache Manager
*
* @author LiteSpeed Technologies, Inc. (https://www.litespeedtech.com)
* @copyright (c) 2019
* @since 1.9
* *******************************************
*/
namespace Lsc\Wp;
use \Lsc\Wp\LSCMException;
/**
* @since 1.9
*/
class AjaxResponse
{
/**
* @since 1.9
* @var AjaxResponse
*/
protected static $instance;
/**
* @since 1.9
* @var string
*/
protected $ajaxContent;
/**
* @since 1.9
* @var string
*/
protected $headerContent;
/**
*
* @since 1.9
*
* @param string $ajaxContent
* @param string $headerContent
*/
private function __construct()
{
}
/**
*
* @since 1.9
*
* @return AjaxResponse
*/
private static function me()
{
if ( self::$instance == null ) {
self::$instance = new self();
}
return self::$instance;
}
/**
*
* @since 1.9
*
* @throws LSCMException
*/
public static function outputAndExit()
{
$output = '';
if ( self::$instance == null ) {
throw new LSCMException('AjaxResponse object never created!');
}
$m = self::me();
if ( !empty($m->headerContent) ) {
$output .= "{$m->headerContent}\n\n";
}
$output .= $m->ajaxContent;
ob_clean();
echo $output;
exit;
}
/**
*
* @since 1.9
*
* @param string $ajaxContent
*/
public static function setAjaxContent( $ajaxContent )
{
self::me()->ajaxContent = $ajaxContent;
}
/**
*
* @since 1.9
*
* @param string $headerContent
*/
public static function setHeaderContent( $headerContent )
{
self::me()->headerContent = $headerContent;
}
}