Merge branch 'develop' of https://github.com/xpressengine/xe-core into develop

This commit is contained in:
findstar 2015-01-09 11:02:12 +09:00
commit 8ed0830608
7 changed files with 52 additions and 26 deletions

View file

@ -1113,7 +1113,7 @@ class Context
{
is_a($this, 'Context') ? $self = $this : $self = self::getInstance();
$self->js_callback_func = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : $_POST['xe_js_callback'];
$self->js_callback_func = $self->getJSCallbackFunc();
($type && $self->request_method = $type) or
(strpos($_SERVER['CONTENT_TYPE'], 'json') && $self->request_method = 'JSON') or
@ -1458,7 +1458,16 @@ class Context
function getJSCallbackFunc()
{
is_a($this, 'Context') ? $self = $this : $self = self::getInstance();
return $self->js_callback_func;
$js_callback_func = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : $_POST['xe_js_callback'];
if(!preg_match('/^[a-z0-9\.]+$/i', $js_callback_func))
{
unset($js_callback_func);
unset($_GET['xe_js_callback']);
unset($_POST['xe_js_callback']);
}
return $js_callback_func;
}
/**

View file

@ -609,9 +609,20 @@ function doDocumentSelect(document_srl, module) {
// 게시글을 가져와서 등록하기
switch(module) {
case 'page' :
opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispPageAdminContentModify');
var url = opener.current_url;
url = url.setQuery('document_srl', document_srl);
if(url.getQuery('act') === 'dispPageAdminMobileContentModify')
{
url = url.setQuery('act', 'dispPageAdminMobileContentModify');
}
else
{
url = url.setQuery('act', 'dispPageAdminContentModify');
}
opener.location.href = url;
break;
default :
default :
opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispBoardWrite');
break;
}

View file

@ -1431,9 +1431,20 @@ function doDocumentSelect(document_srl, module) {
// 게시글을 가져와서 등록하기
switch(module) {
case 'page' :
opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispPageAdminContentModify');
var url = opener.current_url;
url = url.setQuery('document_srl', document_srl);
if(url.getQuery('act') === 'dispPageAdminMobileContentModify')
{
url = url.setQuery('act', 'dispPageAdminMobileContentModify');
}
else
{
url = url.setQuery('act', 'dispPageAdminContentModify');
}
opener.location.href = url;
break;
default :
default :
opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispBoardWrite');
break;
}

4
common/js/xe.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -3843,6 +3843,7 @@ jQuery(function($){
}
top.fullSetupDone = function(htData){
jQuery('#properties').show();
jQuery._xeAdminVar.oSetupWin.close();
}
$('a._openFullSetup').click(function(ev){
@ -3986,7 +3987,7 @@ top.fullSetupWinLoaded = function(){
var $target = $("<iframe>").attr('name', 'submitTarget').attr('src', 'about:_blank').attr('style', 'position:absolute; top:-10000px; left:-10000px; width:1025px;height:769px');
$form.append($target);
$form.append($("<INPUT>").attr("type", "hidden").attr("name", "xe_js_callback").attr("value", "top.opener.top.fullSetupDone();top.window.close();var dummy="));
$form.append($("<INPUT>").attr("type", "hidden").attr("name", "xe_js_callback").attr("value", "top.opener.top.fullSetupDone"));
$form.attr('target', 'submitTarget');
//console.log(oWin);

View file

@ -293,12 +293,15 @@ class pageAdminController extends page
function procPageAdminArticleDocumentInsert()
{
$oDocumentModel = getModel('document');
$oDocumentController = getController('document');
$logged_info = Context::get('logged_info');
$oModuleModel = getModel('module');
$grant = $oModuleModel->getGrant($this->module_info, $logged_info);
if (!$grant->manager)
if(!$grant->manager)
{
return new Object(-1, 'msg_not_permitted');
}
@ -312,39 +315,30 @@ class pageAdminController extends page
//그래도 없으면 Untitled
if($obj->title == '') $obj->title = 'Untitled';
// document module의 model 객체 생성
$oDocumentModel = getModel('document');
// document module의 controller 객체 생성
$oDocumentController = getController('document');
$document_srl = $obj->document_srl;
// 이미 존재하는 글인지 체크
$oDocument = $oDocumentModel->getDocument($obj->document_srl, true);
$bAnonymous = false;
$target = ($obj->ismobile == 'Y') ? 'mdocument_srl' : 'document_srl';
// 이미 존재하는 경우 수정
if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl)
{
$output = $oDocumentController->updateDocument($oDocument, $obj);
$msg_code = 'success_updated';
// 그렇지 않으면 신규 등록
}
else
{
if($obj->ismobile == 'Y')
{
$target = 'mdocument_srl';
}
else
{
$target = 'document_srl';
}
// 그렇지 않으면 신규 등록
$output = $oDocumentController->insertDocument($obj, $bAnonymous);
$msg_code = 'success_registed';
$document_srl = $output->get('document_srl');
}
if(!isset($this->module_info->{$target}) || (isset($this->module_info->{$target}) && $this->module_info->{$target} !== $document_srl))
{
$oModuleController = getController('module');
$this->module_info->{$target} = $document_srl;
$oModuleController->updateModule($this->module_info);