mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-12 05:22:35 +09:00
issue 78 developement http status code display
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9569 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
b5d4771754
commit
138eeaf2e3
3 changed files with 115 additions and 24 deletions
|
|
@ -49,28 +49,35 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
$output = $handler->toDoc($oModule);
|
$output = $handler->toDoc($oModule);
|
||||||
// call a trigger before display
|
// call a trigger before display
|
||||||
ModuleHandler::triggerCall('display', 'before', $output);
|
ModuleHandler::triggerCall('display', 'before', $output);
|
||||||
// execute add-on
|
// execute add-on
|
||||||
$called_position = 'before_display_content';
|
$called_position = 'before_display_content';
|
||||||
$oAddonController = &getController('addon');
|
$oAddonController = &getController('addon');
|
||||||
$addon_file = $oAddonController->getCacheFilePath(Mobile::isFromMobilePhone()?"mobile":"pc");
|
$addon_file = $oAddonController->getCacheFilePath(Mobile::isFromMobilePhone()?"mobile":"pc");
|
||||||
@include($addon_file);
|
@include($addon_file);
|
||||||
|
|
||||||
if(method_exists($handler, "prepareToPrint")) $handler->prepareToPrint($output);
|
if(method_exists($handler, "prepareToPrint")) $handler->prepareToPrint($output);
|
||||||
// header output
|
// header output
|
||||||
if($this->gz_enabled) header("Content-Encoding: gzip");
|
if($this->gz_enabled) header("Content-Encoding: gzip");
|
||||||
if(Context::getResponseMethod() == 'JSON') $this->_printJSONHeader();
|
|
||||||
else if(Context::getResponseMethod() != 'HTML') $this->_printXMLHeader();
|
$httpStatusCode = $oModule->getHttpStatusCode();
|
||||||
else $this->_printHTMLHeader();
|
if($httpStatusCode && $httpStatusCode != 200) $this->_printHttpStatusCode($httpStatusCode);
|
||||||
// debugOutput output
|
else
|
||||||
$this->content_size = strlen($output);
|
{
|
||||||
$output .= $this->_debugOutput();
|
if(Context::getResponseMethod() == 'JSON') $this->_printJSONHeader();
|
||||||
// results directly output
|
else if(Context::getResponseMethod() != 'HTML') $this->_printXMLHeader();
|
||||||
if($this->gz_enabled) print ob_gzhandler($output, 5);
|
else $this->_printHTMLHeader();
|
||||||
else print $output;
|
}
|
||||||
// call a trigger after display
|
|
||||||
ModuleHandler::triggerCall('display', 'after', $content);
|
// debugOutput output
|
||||||
|
$this->content_size = strlen($output);
|
||||||
|
$output .= $this->_debugOutput();
|
||||||
|
// results directly output
|
||||||
|
if($this->gz_enabled) print ob_gzhandler($output, 5);
|
||||||
|
else print $output;
|
||||||
|
// call a trigger after display
|
||||||
|
ModuleHandler::triggerCall('display', 'after', $content);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -252,7 +259,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief print a HTTP HEADER for HTML, which is encoded in UTF-8
|
||||||
|
**/
|
||||||
|
function _printHttpStatusCode($code) {
|
||||||
|
$statusMessage = Context::get('http_status_message');
|
||||||
|
header("HTTP/1.0 $code $statusMessage");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
var $module_info = NULL; ///< Module Info. Object
|
var $module_info = NULL; ///< Module Info. Object
|
||||||
|
|
||||||
var $error = NULL; ///< an error code.
|
var $error = NULL; ///< an error code.
|
||||||
|
var $httpStatusCode = NULL; ///< http status code.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief constructor
|
* @brief constructor
|
||||||
|
|
@ -109,7 +110,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// If module_info is not set still, and $module does not exist, find the default module
|
// If module_info is not set still, and $module does not exist, find the default module
|
||||||
if(!$module_info && !$this->module) $module_info = $site_module_info;
|
if(!$module_info && !$this->module && !$this->mid) $module_info = $site_module_info;
|
||||||
|
|
||||||
if(!$module_info && !$this->module && $site_module_info->module_site_srl) $module_info = $site_module_info;
|
if(!$module_info && !$this->module && $site_module_info->module_site_srl) $module_info = $site_module_info;
|
||||||
|
|
||||||
|
|
@ -147,7 +148,11 @@
|
||||||
$this->module_info->site_srl = $site_module_info->site_srl;
|
$this->module_info->site_srl = $site_module_info->site_srl;
|
||||||
|
|
||||||
// Still no module? it's an error
|
// Still no module? it's an error
|
||||||
if(!$this->module) $this->error = 'msg_module_does_not_exist';
|
if(!$this->module)
|
||||||
|
{
|
||||||
|
$this->error = 'msg_module_does_not_exist';
|
||||||
|
$this->httpStatusCode = '404';
|
||||||
|
}
|
||||||
|
|
||||||
// If mid exists, set mid into context
|
// If mid exists, set mid into context
|
||||||
if($this->mid) Context::set('mid', $this->mid, true);
|
if($this->mid) Context::set('mid', $this->mid, true);
|
||||||
|
|
@ -179,6 +184,10 @@
|
||||||
$oMessageObject->setError(-1);
|
$oMessageObject->setError(-1);
|
||||||
$oMessageObject->setMessage($this->error);
|
$oMessageObject->setMessage($this->error);
|
||||||
$oMessageObject->dispMessage();
|
$oMessageObject->dispMessage();
|
||||||
|
if($this->httpStatusCode)
|
||||||
|
{
|
||||||
|
$oMessageObject->setHttpStatusCode($this->httpStatusCode);
|
||||||
|
}
|
||||||
return $oMessageObject;
|
return $oMessageObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -507,6 +516,12 @@
|
||||||
$oMessageObject->setMessage($this->error);
|
$oMessageObject->setMessage($this->error);
|
||||||
$oMessageObject->dispMessage();
|
$oMessageObject->dispMessage();
|
||||||
|
|
||||||
|
if($oMessageObject->getHttpStatusCode() && $oMessageObject->getHttpStatusCode() != '200')
|
||||||
|
{
|
||||||
|
$this->_setHttpStatusMessage($oMessageObject->getHttpStatusCode());
|
||||||
|
$oMessageObject->setTemplateFile('http_status_code');
|
||||||
|
}
|
||||||
|
|
||||||
// If module was called normally, change the templates of the module into ones of the message view module
|
// If module was called normally, change the templates of the module into ones of the message view module
|
||||||
if($oModule) {
|
if($oModule) {
|
||||||
$oModule->setTemplatePath($oMessageObject->getTemplatePath());
|
$oModule->setTemplatePath($oMessageObject->getTemplatePath());
|
||||||
|
|
@ -705,5 +720,58 @@
|
||||||
|
|
||||||
return new Object();
|
return new Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief get http status message by http status code
|
||||||
|
**/
|
||||||
|
function _setHttpStatusMessage($code) {
|
||||||
|
$statusMessageList = array(
|
||||||
|
'100'=>'Continue',
|
||||||
|
'101'=>'Switching Protocols',
|
||||||
|
'201'=>'OK',
|
||||||
|
'201'=>'Created',
|
||||||
|
'202'=>'Accepted',
|
||||||
|
'203'=>'Non-Authoritative Information',
|
||||||
|
'204'=>'No Content',
|
||||||
|
'205'=>'Reset Content',
|
||||||
|
'206'=>'Partial Content',
|
||||||
|
'300'=>'Multiple Choices',
|
||||||
|
'301'=>'Moved Permanently',
|
||||||
|
'302'=>'Found',
|
||||||
|
'303'=>'See Other',
|
||||||
|
'304'=>'Not Modified',
|
||||||
|
'305'=>'Use Proxy',
|
||||||
|
'307'=>'Temporary Redirect',
|
||||||
|
'400'=>'Bad Request',
|
||||||
|
'401'=>'Unauthorized',
|
||||||
|
'402'=>'Payment Required',
|
||||||
|
'403'=>'Forbidden',
|
||||||
|
'404'=>'Not Found',
|
||||||
|
'405'=>'Method Not Allowed',
|
||||||
|
'406'=>'Not Acceptable',
|
||||||
|
'407'=>'Proxy Authentication Required',
|
||||||
|
'408'=>'Request Timeout',
|
||||||
|
'409'=>'Conflict',
|
||||||
|
'410'=>'Gone',
|
||||||
|
'411'=>'Length Required',
|
||||||
|
'412'=>'Precondition Failed',
|
||||||
|
'413'=>'Request Entity Too Large',
|
||||||
|
'414'=>'Request-URI Too Long',
|
||||||
|
'415'=>'Unsupported Media Type',
|
||||||
|
'416'=>'Requested Range Not Satisfiable',
|
||||||
|
'417'=>'Expectation Failed',
|
||||||
|
'500'=>'Internal Server Error',
|
||||||
|
'501'=>'Not Implemented',
|
||||||
|
'502'=>'Bad Gateway',
|
||||||
|
'503'=>'Service Unavailable',
|
||||||
|
'504'=>'Gateway Timeout',
|
||||||
|
'505'=>'HTTP Version Not Supported',
|
||||||
|
);
|
||||||
|
$statusMessage = $statusMessageList[$code];
|
||||||
|
if(!$statusMessage) $statusMessage = 'OK';
|
||||||
|
|
||||||
|
Context::set('http_status_code', $code);
|
||||||
|
Context::set('http_status_message', $statusMessage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
var $message = 'success'; // / "Error message (if success, it is not an error)
|
var $message = 'success'; // / "Error message (if success, it is not an error)
|
||||||
|
|
||||||
var $variables = array(); // /< an additional variable
|
var $variables = array(); // /< an additional variable
|
||||||
|
var $httpStatusCode = NULL; ///< http status code.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief constructor
|
* @brief constructor
|
||||||
|
|
@ -37,6 +38,16 @@
|
||||||
return $this->error;
|
return $this->error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setHttpStatusCode($code = '200')
|
||||||
|
{
|
||||||
|
$this->httpStatusCode = $code;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getHttpStatusCode()
|
||||||
|
{
|
||||||
|
return $this->httpStatusCode;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Setter to set set the error message
|
* @brief Setter to set set the error message
|
||||||
* @param[in] $message a messge string
|
* @param[in] $message a messge string
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue