Show where an Exception was thrown or error object was returned

- 관리자에게만 표시함
  - 오류 화면을 표시하는 방식에 따라서는 표시되지 않을 수 있음
  - 코어 내부에서 발생하는 오류는 표시되지 않을 수 있음
  - message 모듈 스킨에 의존함
This commit is contained in:
Kijin Sung 2020-03-19 00:58:30 +09:00
parent 9042e4110c
commit 339fd234a5
10 changed files with 81 additions and 10 deletions

View file

@ -6,6 +6,9 @@
<div class="message" cond="$system_message_detail">
{$system_message_detail}
</div>
<div class="message location" cond="$system_message_location && $logged_info->is_admin === 'Y'">
{$system_message_location}
</div>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/message/m.skin/default/system_message/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>

View file

@ -17,7 +17,7 @@ class messageView extends message
/**
* @brief Display messages
*/
function dispMessage($detail = null)
function dispMessage($detail = null, $location = null)
{
// Get configurations (using module model object)
$oModuleModel = getModel('module');
@ -47,10 +47,17 @@ class messageView extends message
{
if(strncasecmp('https://', Context::getRequestUri(), 8) === 0) $ssl_mode = true;
}
// Remove basedir from location (if any)
if ($location && starts_with(\RX_BASEDIR, $location))
{
$location = substr($location, strlen(\RX_BASEDIR));
}
Context::set('ssl_mode', $ssl_mode);
Context::set('system_message', nl2br($this->getMessage()));
Context::set('system_message_detail', nl2br($detail));
Context::set('system_message_location', escape($location));
$this->setTemplateFile('system_message');

View file

@ -16,6 +16,8 @@ body, #access table, #access input, #access textarea, #access select, #access bu
#access>.login-footer:after{display:table;line-height:0;content:"";clear:both}
#access .control-group{position:relative;padding:0 14px 0 0;margin:0;clear:both}
#access .control-group:before{content:"";display:block;clear:both}
#access .message{padding:0.8em 1em}
#access .message.location{word-break:break-all}
#access form{margin:0}
#access fieldset{margin:0}
#access label{cursor:pointer;display:inline-block}

View file

@ -8,7 +8,12 @@
<div id="access">
<div class="login-header">
<h1><i class="icon-user"></i> {$system_message}</h1>
<div class="message" cond="$system_message_detail">{$system_message_detail}</div>
<div class="message" cond="$system_message_detail">
{$system_message_detail}
</div>
<div class="message location" cond="$system_message_location && $logged_info->is_admin === 'Y'">
{$system_message_location}
</div>
</div>
<div class="login-body">
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/message/skins/default/system_message/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">

View file

@ -2,7 +2,12 @@
<div class="signin">
<section class="sw-body">
<h1>{$system_message}</h1>
<div class="rx_message-notice error" cond="$system_message_detail">{$system_message_detail}</div>
<div class="rx_message-notice error" cond="$system_message_detail">
{$system_message_detail}
</div>
<div class="rx_message-notice location" cond="$system_message_location && $logged_info->is_admin === 'Y'">
{$system_message_location}
</div>
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/message/skins/simple_world/system_message/1'" class="rx_message-notice {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
@ -51,4 +56,4 @@ $(function($){
});
});
</script>
<include target="./common_footer.html" />
<include target="./common_footer.html" />

View file

@ -5,7 +5,12 @@
<div id="access">
<div class="login-header">
<h1>{$system_message}</h1>
<div class="message" cond="$system_message_detail">{$system_message_detail}</div>
<div class="message" cond="$system_message_detail">
{$system_message_detail}
</div>
<div class="message location" cond="$system_message_location && $logged_info->is_admin === 'Y'">
{$system_message_location}
</div>
</div>
<div cond="!$is_logged">
<div class="login-body">