mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 19:21:40 +09:00
rx_ajax 사용시 XE_VALIDATOR_MESSAGE 대신 rhymix_alert만 표시
일관성 유지
This commit is contained in:
parent
d7b48eb5ad
commit
085b74b7db
2 changed files with 37 additions and 20 deletions
|
|
@ -742,6 +742,7 @@ class ModuleHandler extends Handler
|
||||||
//for xml response
|
//for xml response
|
||||||
$oModule->setError(-1);
|
$oModule->setError(-1);
|
||||||
$oModule->setMessage($errorMsg);
|
$oModule->setMessage($errorMsg);
|
||||||
|
$oModule->setRedirectUrl($returnUrl);
|
||||||
//for html redirect
|
//for html redirect
|
||||||
$this->error = $errorMsg;
|
$this->error = $errorMsg;
|
||||||
$_SESSION['XE_VALIDATOR_ERROR'] = -1;
|
$_SESSION['XE_VALIDATOR_ERROR'] = -1;
|
||||||
|
|
@ -807,13 +808,12 @@ class ModuleHandler extends Handler
|
||||||
$procResult = $oModule->proc();
|
$procResult = $oModule->proc();
|
||||||
|
|
||||||
$methodList = array('XMLRPC' => 1, 'JSON' => 1, 'JS_CALLBACK' => 1);
|
$methodList = array('XMLRPC' => 1, 'JSON' => 1, 'JS_CALLBACK' => 1);
|
||||||
if(!$oModule->stop_proc && (!isset($methodList[Context::getRequestMethod()]) || isset($_POST['_rx_ajax_form'])))
|
if(!$oModule->stop_proc && !isset($methodList[Context::getRequestMethod()]) && !isset($_POST['_rx_ajax_form']))
|
||||||
{
|
{
|
||||||
$error = $oModule->getError();
|
$error = $oModule->getError();
|
||||||
$message = $oModule->getMessage();
|
$message = $oModule->getMessage();
|
||||||
$messageType = $oModule->getMessageType();
|
$messageType = $oModule->getMessageType();
|
||||||
$redirectUrl = $oModule->getRedirectUrl();
|
$redirectUrl = $oModule->getRedirectUrl();
|
||||||
|
|
||||||
if(!$procResult)
|
if(!$procResult)
|
||||||
{
|
{
|
||||||
$this->error = $message;
|
$this->error = $message;
|
||||||
|
|
@ -823,7 +823,6 @@ class ModuleHandler extends Handler
|
||||||
}
|
}
|
||||||
self::_setInputValueToSession();
|
self::_setInputValueToSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
if($error != 0)
|
if($error != 0)
|
||||||
{
|
{
|
||||||
$_SESSION['XE_VALIDATOR_ERROR'] = $error;
|
$_SESSION['XE_VALIDATOR_ERROR'] = $error;
|
||||||
|
|
@ -837,9 +836,14 @@ class ModuleHandler extends Handler
|
||||||
$_SESSION['XE_VALIDATOR_MESSAGE'] = $message;
|
$_SESSION['XE_VALIDATOR_MESSAGE'] = $message;
|
||||||
$_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] = $messageType;
|
$_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] = $messageType;
|
||||||
}
|
}
|
||||||
if(Context::get('xeVirtualRequestMethod') != 'xml' && $redirectUrl)
|
if(Context::get('xeVirtualRequestMethod') === 'xml')
|
||||||
|
{
|
||||||
|
$oModule->setRedirectUrl(null);
|
||||||
|
}
|
||||||
|
elseif($redirectUrl)
|
||||||
{
|
{
|
||||||
$_SESSION['XE_VALIDATOR_RETURN_URL'] = $redirectUrl;
|
$_SESSION['XE_VALIDATOR_RETURN_URL'] = $redirectUrl;
|
||||||
|
$oModule->setRedirectUrl($redirectUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -943,37 +947,44 @@ class ModuleHandler extends Handler
|
||||||
// Handle iframe form submissions.
|
// Handle iframe form submissions.
|
||||||
if(isset($_POST['_rx_target_iframe']) && starts_with('_rx_temp_', $_POST['_rx_target_iframe']))
|
if(isset($_POST['_rx_target_iframe']) && starts_with('_rx_temp_', $_POST['_rx_target_iframe']))
|
||||||
{
|
{
|
||||||
if($this->error && $this->error !== 'success')
|
$script = '';
|
||||||
|
if(!$oModule->toBool())
|
||||||
{
|
{
|
||||||
ob_end_clean();
|
$script .= sprintf('window.parent.alert(%s);', json_encode($oModule->getMessage()));
|
||||||
echo sprintf('<html><head></head><body><script> window.parent.alert(%s); window.parent.remove_iframe(%s); </script></body></html>', json_encode($this->error), json_encode($_POST['_rx_target_iframe']));
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
if($_SESSION['XE_VALIDATOR_RETURN_URL'])
|
else
|
||||||
{
|
{
|
||||||
ob_end_clean();
|
if($oModule->getMessage() && $oModule->getMessage() !== 'success')
|
||||||
echo sprintf('<html><head></head><body><script> window.parent.redirect(%s); </script></body></html>', json_encode($_SESSION['XE_VALIDATOR_RETURN_URL']));
|
{
|
||||||
return;
|
$script .= sprintf('window.parent.rhymix_alert(%s, %s);', json_encode($oModule->getMessage()), json_encode($oModule->getRedirectUrl()));
|
||||||
|
}
|
||||||
|
if($oModule->getRedirectUrl())
|
||||||
|
{
|
||||||
|
$script .= sprintf('window.parent.redirect(%s);', json_encode($oModule->getRedirectUrl()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
ob_end_clean();
|
||||||
|
echo sprintf('<html><head></head><body><script>%s window.parent.remove_iframe(%s);</script></body></html>', $script, json_encode($_POST['_rx_target_iframe']));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle redirects.
|
// Handle redirects.
|
||||||
if($_SESSION['XE_VALIDATOR_RETURN_URL'])
|
if($oModule->getRedirectUrl())
|
||||||
{
|
{
|
||||||
if ($_SESSION['is_new_session'])
|
if ($_SESSION['is_new_session'])
|
||||||
{
|
{
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
echo sprintf('<html><head><meta charset="UTF-8" /><meta http-equiv="refresh" content="0; url=%s" /></head><body></body></html>', escape($_SESSION['XE_VALIDATOR_RETURN_URL']));
|
echo sprintf('<html><head><meta charset="UTF-8" /><meta http-equiv="refresh" content="0; url=%s" /></head><body></body></html>', escape($oModule->getRedirectUrl()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
header('location: ' . $_SESSION['XE_VALIDATOR_RETURN_URL']);
|
header('location: ' . $oModule->getRedirectUrl());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If error occurred, handle it
|
// If error occurred, handle it
|
||||||
if($this->error)
|
if($this->error)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -377,10 +377,9 @@
|
||||||
callback_success = window[callback_success];
|
callback_success = window[callback_success];
|
||||||
} else {
|
} else {
|
||||||
callback_success = function(data) {
|
callback_success = function(data) {
|
||||||
if (data.message === 'success') {
|
if (data.message && data.message !== 'success') {
|
||||||
return;
|
rhymix_alert(data.message, data.redirect_url);
|
||||||
}
|
}
|
||||||
rhymix_alert(data.message, data.redirect_url);
|
|
||||||
if (data.redirect_url) {
|
if (data.redirect_url) {
|
||||||
redirect(data.redirect_url);
|
redirect(data.redirect_url);
|
||||||
}
|
}
|
||||||
|
|
@ -392,6 +391,13 @@
|
||||||
} else {
|
} else {
|
||||||
callback_error = null;
|
callback_error = null;
|
||||||
}
|
}
|
||||||
|
// Set _rx_ajax_form flag
|
||||||
|
if (!form.find('input[name=_rx_ajax_form]').size()) {
|
||||||
|
form.append('<input type="hidden" name="_rx_ajax_form" value="true" />');
|
||||||
|
setTimeout(function() {
|
||||||
|
form.find('input[name=_rx_ajax_form]').remove();
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
// If the form has file uploads, use a hidden iframe to submit. Otherwise use exec_json.
|
// If the form has file uploads, use a hidden iframe to submit. Otherwise use exec_json.
|
||||||
var has_files = form.find('input[type=file][name!=Filedata]').size();
|
var has_files = form.find('input[type=file][name!=Filedata]').size();
|
||||||
if (has_files) {
|
if (has_files) {
|
||||||
|
|
@ -410,7 +416,7 @@
|
||||||
}, 1000);
|
}, 1000);
|
||||||
form.submit();
|
form.submit();
|
||||||
} else {
|
} else {
|
||||||
window.exec_json('raw', form.serialize() + '&_rx_ajax_form=1', callback_success, callback_error);
|
window.exec_json('raw', form.serialize(), callback_success, callback_error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue