mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-03 17:22:20 +09:00
Merge pull request #324 from kijin/pr/redirect-after-board-write
#323 게시판에서 글이나 댓글을 작성 또는 삭제한 후 짧은 주소로 redirect하도록 변경
This commit is contained in:
commit
f40ea2e05d
5 changed files with 72 additions and 48 deletions
|
|
@ -59,11 +59,7 @@ class ModuleObject extends Object
|
||||||
* */
|
* */
|
||||||
function setRedirectUrl($url = './', $output = NULL)
|
function setRedirectUrl($url = './', $output = NULL)
|
||||||
{
|
{
|
||||||
$ajaxRequestMethod = array_flip($this->ajaxRequestMethod);
|
$this->add('redirect_url', $url);
|
||||||
if(!isset($ajaxRequestMethod[Context::getRequestMethod()]))
|
|
||||||
{
|
|
||||||
$this->add('redirect_url', $url);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($output !== NULL && is_object($output))
|
if($output !== NULL && is_object($output))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -377,6 +377,21 @@ function sendMailTo(to) {
|
||||||
location.href="mailto:"+to;
|
location.href="mailto:"+to;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief url이동 (Rhymix 개선된 버전)
|
||||||
|
*/
|
||||||
|
function redirect(url) {
|
||||||
|
if (url === window.location.href || url.indexOf(window.location.href.replace(/#.+$/, "") + "#") === 0)
|
||||||
|
{
|
||||||
|
window.location.href = url;
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
window.location.href = url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief url이동 (open_window 값이 N 가 아니면 새창으로 띄움)
|
* @brief url이동 (open_window 값이 N 가 아니면 새창으로 띄움)
|
||||||
**/
|
**/
|
||||||
|
|
@ -394,7 +409,7 @@ function move_url(url, open_window) {
|
||||||
if(open_window) {
|
if(open_window) {
|
||||||
winopen(url);
|
winopen(url);
|
||||||
} else {
|
} else {
|
||||||
location.href=url;
|
redirect(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -102,9 +102,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the response contains a redirect URL, redirect immediately.
|
// If the response contains a redirect URL, redirect immediately.
|
||||||
if (result.redirect_url) {
|
if (data.redirect_url) {
|
||||||
window.location = result.redirect_url.replace(/&/g, "&");
|
data.redirect_url = data.redirect_url.replace(/&/g, "&");
|
||||||
return null;
|
}
|
||||||
|
if (data.redirect_url && !$.isFunction(callback_success)) {
|
||||||
|
return redirect(data.redirect_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there was a success callback, call it.
|
// If there was a success callback, call it.
|
||||||
|
|
@ -220,6 +222,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the response contains a redirect URL, redirect immediately.
|
||||||
|
if (data.redirect_url) {
|
||||||
|
data.redirect_url = data.redirect_url.replace(/&/g, "&");
|
||||||
|
}
|
||||||
|
if (data.redirect_url && !$.isFunction(callback_success)) {
|
||||||
|
return redirect(data.redirect_url);
|
||||||
|
}
|
||||||
|
|
||||||
// If there was a success callback, call it.
|
// If there was a success callback, call it.
|
||||||
if($.isFunction(callback_success)) {
|
if($.isFunction(callback_success)) {
|
||||||
callback_success(data);
|
callback_success(data);
|
||||||
|
|
|
||||||
|
|
@ -198,6 +198,7 @@ class boardController extends board
|
||||||
}
|
}
|
||||||
|
|
||||||
// return the results
|
// return the results
|
||||||
|
$this->setRedirectUrl(getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', '', 'document_srl', $output->get('document_srl')));
|
||||||
$this->add('mid', Context::get('mid'));
|
$this->add('mid', Context::get('mid'));
|
||||||
$this->add('document_srl', $output->get('document_srl'));
|
$this->add('document_srl', $output->get('document_srl'));
|
||||||
|
|
||||||
|
|
@ -406,6 +407,7 @@ class boardController extends board
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->setMessage('success_registed');
|
$this->setMessage('success_registed');
|
||||||
|
$this->setRedirectUrl(getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', '', 'document_srl', $obj->document_srl) . '#comment_' . $obj->comment_srl);
|
||||||
$this->add('mid', Context::get('mid'));
|
$this->add('mid', Context::get('mid'));
|
||||||
$this->add('document_srl', $obj->document_srl);
|
$this->add('document_srl', $obj->document_srl);
|
||||||
$this->add('comment_srl', $obj->comment_srl);
|
$this->add('comment_srl', $obj->comment_srl);
|
||||||
|
|
@ -456,6 +458,7 @@ class boardController extends board
|
||||||
$this->add('page', Context::get('page'));
|
$this->add('page', Context::get('page'));
|
||||||
$this->add('document_srl', $output->get('document_srl'));
|
$this->add('document_srl', $output->get('document_srl'));
|
||||||
$this->setMessage('success_deleted');
|
$this->setMessage('success_deleted');
|
||||||
|
$this->setRedirectUrl(getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', '', 'page', Context::get('page'), 'document_srl', $output->get('document_srl')));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -480,6 +483,7 @@ class boardController extends board
|
||||||
$this->add('page', Context::get('page'));
|
$this->add('page', Context::get('page'));
|
||||||
$this->add('document_srl', $output->get('document_srl'));
|
$this->add('document_srl', $output->get('document_srl'));
|
||||||
$this->setMessage('success_deleted');
|
$this->setMessage('success_deleted');
|
||||||
|
$this->setRedirectUrl(getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', '', 'page', Context::get('page'), 'document_srl', $output->get('document_srl')));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -13,19 +13,21 @@ function completeDocumentInserted(ret_obj)
|
||||||
var document_srl = ret_obj.document_srl;
|
var document_srl = ret_obj.document_srl;
|
||||||
var category_srl = ret_obj.category_srl;
|
var category_srl = ret_obj.category_srl;
|
||||||
|
|
||||||
//alert(message);
|
if (ret_obj.redirect_url) {
|
||||||
|
redirect(ret_obj.redirect_url);
|
||||||
var url;
|
} else {
|
||||||
if(!document_srl)
|
var url;
|
||||||
{
|
if(!document_srl)
|
||||||
url = current_url.setQuery('mid',mid).setQuery('act','');
|
{
|
||||||
|
url = current_url.setQuery('mid',mid).setQuery('act','');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
||||||
|
}
|
||||||
|
if(category_srl) url = url.setQuery('category',category_srl);
|
||||||
|
redirect(url);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
|
||||||
}
|
|
||||||
if(category_srl) url = url.setQuery('category',category_srl);
|
|
||||||
location.href = url;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* delete the document */
|
/* delete the document */
|
||||||
|
|
@ -38,10 +40,7 @@ function completeDeleteDocument(ret_obj)
|
||||||
|
|
||||||
var url = current_url.setQuery('mid',mid).setQuery('act','').setQuery('document_srl','');
|
var url = current_url.setQuery('mid',mid).setQuery('act','').setQuery('document_srl','');
|
||||||
if(page) url = url.setQuery('page',page);
|
if(page) url = url.setQuery('page',page);
|
||||||
|
redirect(url);
|
||||||
//alert(message);
|
|
||||||
|
|
||||||
location.href = url;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* document search */
|
/* document search */
|
||||||
|
|
@ -54,8 +53,7 @@ function completeVote(ret_obj)
|
||||||
{
|
{
|
||||||
var error = ret_obj.error;
|
var error = ret_obj.error;
|
||||||
var message = ret_obj.message;
|
var message = ret_obj.message;
|
||||||
alert(message);
|
redirect(window.location.href);
|
||||||
location.href = location.href;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// current page reload
|
// current page reload
|
||||||
|
|
@ -63,8 +61,7 @@ function completeReload(ret_obj)
|
||||||
{
|
{
|
||||||
var error = ret_obj.error;
|
var error = ret_obj.error;
|
||||||
var message = ret_obj.message;
|
var message = ret_obj.message;
|
||||||
|
redirect(window.location.href);
|
||||||
location.href = location.href;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* complete to insert comment*/
|
/* complete to insert comment*/
|
||||||
|
|
@ -75,13 +72,13 @@ function completeInsertComment(ret_obj)
|
||||||
var mid = ret_obj.mid;
|
var mid = ret_obj.mid;
|
||||||
var document_srl = ret_obj.document_srl;
|
var document_srl = ret_obj.document_srl;
|
||||||
var comment_srl = ret_obj.comment_srl;
|
var comment_srl = ret_obj.comment_srl;
|
||||||
|
if (ret_obj.redirect_url) {
|
||||||
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
redirect(ret_obj.redirect_url);
|
||||||
if(comment_srl) url = url.setQuery('rnd',comment_srl)+"#comment_"+comment_srl;
|
} else {
|
||||||
|
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
||||||
//alert(message);
|
if (comment_srl) url = url.setQuery('rnd',comment_srl)+"#comment_"+comment_srl;
|
||||||
|
redirect(url);
|
||||||
location.href = url;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* delete the comment */
|
/* delete the comment */
|
||||||
|
|
@ -93,12 +90,13 @@ function completeDeleteComment(ret_obj)
|
||||||
var document_srl = ret_obj.document_srl;
|
var document_srl = ret_obj.document_srl;
|
||||||
var page = ret_obj.page;
|
var page = ret_obj.page;
|
||||||
|
|
||||||
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
if (ret_obj.redirect_url) {
|
||||||
if(page) url = url.setQuery('page',page);
|
redirect(ret_obj.redirect_url);
|
||||||
|
} else {
|
||||||
//alert(message);
|
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
||||||
|
if (page) url = url.setQuery('page',page);
|
||||||
location.href = url;
|
redirect(url);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* delete the trackback */
|
/* delete the trackback */
|
||||||
|
|
@ -110,12 +108,13 @@ function completeDeleteTrackback(ret_obj)
|
||||||
var document_srl = ret_obj.document_srl;
|
var document_srl = ret_obj.document_srl;
|
||||||
var page = ret_obj.page;
|
var page = ret_obj.page;
|
||||||
|
|
||||||
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
if (ret_obj.redirect_url) {
|
||||||
if(page) url = url.setQuery('page',page);
|
redirect(ret_obj.redirect_url);
|
||||||
|
} else {
|
||||||
//alert(message);
|
var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
|
||||||
|
if (page) url = url.setQuery('page',page);
|
||||||
location.href = url;
|
redirect(url);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* change category */
|
/* change category */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue