선택적 세션 시작 + 서드파티 자료 호환성 (Proof of Concept)

This commit is contained in:
Kijin Sung 2015-07-10 16:05:46 +09:00
parent 6745497ad7
commit 23a83a7033
5 changed files with 88 additions and 18 deletions

View file

@ -722,15 +722,24 @@ class ModuleHandler extends Handler
}
$_SESSION['XE_VALIDATOR_ERROR'] = $error;
$_SESSION['XE_VALIDATOR_ID'] = Context::get('xe_validator_id');
if($message != 'success')
$isSessionStarted = Context::getInstance()->isSessionStarted;
if($isSessionStarted || $error != 0)
{
$_SESSION['XE_VALIDATOR_ERROR'] = $error;
}
if($isSessionStarted || $validator_id = Context::get('xe_validator_id'))
{
$_SESSION['XE_VALIDATOR_ID'] = $validator_id;
}
if($isSessionStarted || $message != 'success')
{
$_SESSION['XE_VALIDATOR_MESSAGE'] = $message;
}
$_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] = $messageType;
if(Context::get('xeVirtualRequestMethod') != 'xml')
if($isSessionStarted || $messageType != 'info')
{
$_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] = $messageType;
}
if(Context::get('xeVirtualRequestMethod') != 'xml' && ($isSessionStarted || $redirectUrl))
{
$_SESSION['XE_VALIDATOR_RETURN_URL'] = $redirectUrl;
}
@ -780,12 +789,12 @@ class ModuleHandler extends Handler
* */
function _clearErrorSession()
{
$_SESSION['XE_VALIDATOR_ERROR'] = '';
$_SESSION['XE_VALIDATOR_MESSAGE'] = '';
$_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] = '';
$_SESSION['XE_VALIDATOR_RETURN_URL'] = '';
$_SESSION['XE_VALIDATOR_ID'] = '';
$_SESSION['INPUT_ERROR'] = '';
if($_SESSION['XE_VALIDATOR_ERROR']) $_SESSION['XE_VALIDATOR_ERROR'] = '';
if($_SESSION['XE_VALIDATOR_MESSAGE']) $_SESSION['XE_VALIDATOR_MESSAGE'] = '';
if($_SESSION['XE_VALIDATOR_MESSAGE_TYPE']) $_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] = '';
if($_SESSION['XE_VALIDATOR_RETURN_URL']) $_SESSION['XE_VALIDATOR_RETURN_URL'] = '';
if($_SESSION['XE_VALIDATOR_ID']) $_SESSION['XE_VALIDATOR_ID'] = '';
if($_SESSION['INPUT_ERROR']) $_SESSION['INPUT_ERROR'] = '';
}
/**
@ -839,6 +848,7 @@ class ModuleHandler extends Handler
$display_handler = new DisplayHandler();
$display_handler->_debugOutput();
Context::getInstance()->checkSessionStatus();
header('location:' . $_SESSION['XE_VALIDATOR_RETURN_URL']);
return;
}