Merge branch 'develop' of https://github.com/xpressengine/xe-core (1.8.14)

Conflicts:
	classes/context/Context.class.php
	modules/point/tpl/config.html
This commit is contained in:
Kijin Sung 2015-12-02 14:38:23 +09:00
commit a22e69b7ec
59 changed files with 249 additions and 36 deletions

View file

@ -410,8 +410,8 @@ class ModuleHandler extends Handler
$logged_info = Context::get('logged_info');
// check CSRF for admin actions
if($kind === 'admin' && Context::getRequestMethod() === 'POST' && !checkCSRF()) {
// check CSRF for POST actions
if(Context::getRequestMethod() === 'POST' && Context::isInstalled() && $this->act !== 'procFileUpload' && !checkCSRF()) {
$this->error = 'msg_invalid_request';
$oMessageObject = ModuleHandler::getModuleInstance('message', $display_mode);
$oMessageObject->setError(-1);
@ -525,6 +525,34 @@ class ModuleHandler extends Handler
$tpl_path = $oModule->getTemplatePath();
$orig_module = $oModule;
$xml_info = $oModuleModel->getModuleActionXml($forward->module);
// SECISSUE also check foward act method
// check REQUEST_METHOD in controller
if($type == 'controller')
{
$allowedMethod = $xml_info->action->{$forward->act}->method;
if(!$allowedMethod)
{
$allowedMethodList[0] = 'POST';
}
else
{
$allowedMethodList = explode('|', strtoupper($allowedMethod));
}
if(!in_array(strtoupper($_SERVER['REQUEST_METHOD']), $allowedMethodList))
{
$this->error = "msg_invalid_request";
$oMessageObject = ModuleHandler::getModuleInstance('message', $display_mode);
$oMessageObject->setError(-1);
$oMessageObject->setMessage($this->error);
$oMessageObject->dispMessage();
return $oMessageObject;
}
}
if($type == "view" && Mobile::isFromMobilePhone())
{
$orig_type = "view";
@ -557,8 +585,6 @@ class ModuleHandler extends Handler
return $oMessageObject;
}
$xml_info = $oModuleModel->getModuleActionXml($forward->module);
if($this->module == "admin" && $type == "view")
{
if($logged_info->is_admin == 'Y')

View file

@ -93,11 +93,17 @@ class Purifier
{
foreach($m2[1] as $value2)
{
//SECISSUE check style attr
if($value2 == 'style')
{
continue;
}
$attributeList[] = $value2;
}
}
}
}
return array_unique($attributeList);
}
@ -121,6 +127,11 @@ class Purifier
{
foreach($m2[1] as $value2)
{
//SECISSUE check style attr
if($value2 == 'style')
{
continue;
}
$attributeList[] = $value2;
}
}

View file

@ -29,7 +29,7 @@ define('__ZBXE__', __XE__);
/**
* Display XE's full version.
*/
define('__XE_VERSION__', '1.8.11');
define('__XE_VERSION__', '1.8.14');
define('__XE_VERSION_ALPHA__', (stripos(__XE_VERSION__, 'alpha') !== false));
define('__XE_VERSION_BETA__', (stripos(__XE_VERSION__, 'beta') !== false));
define('__XE_VERSION_RC__', (stripos(__XE_VERSION__, 'rc') !== false));

View file

@ -61,3 +61,5 @@
</div>
</div>
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:애드온"></div>

View file

@ -120,3 +120,5 @@
});
})(jQuery);
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:애드온"></div>

View file

@ -63,4 +63,3 @@
<p class="more"><a href="{getUrl('', 'module', 'admin', 'act', 'dispCommentAdminList')}"><i>&rsaquo;</i> {$lang->more}</a></p>
</section>
</div>

View file

@ -1,5 +1,7 @@
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=2, user-scalable=yes" />
<load target="../../../common/xeicon/xeicon.min.css" />
<div class="x">
<p class="skipNav"><a href="#content">{$lang->skip_to_content}</a></p>
<header class="header">

View file

@ -114,3 +114,5 @@
.adminMap .parent>.side{right:30px}
.adminMap .placeholder{background:#000;border-radius:5px}
</style>
<div class="admin-forum-container" data-chak-categories="XE설정:관리자 설정"></div>

View file

@ -124,3 +124,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:FTP 설정"></div>

View file

@ -323,3 +323,4 @@ function doSubmitConfig()
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:XE 일반 설정"></div>

View file

@ -908,6 +908,9 @@ margin-bottom: 10px;
text-decoration: none;
color: #666;
}
.x>.header>.account>ul>li.forum-chak>a {
color: #FFF;
}
.x>.header>.account>ul>li>a:hover,
.x>.header>.account>ul>li>a:focus {
text-decoration: underline;
@ -2387,3 +2390,33 @@ html[lang="mn"] .x .g11n.active>[disabled],
height: 1px;
overflow: hidden;
}
.admin-forum-container {
clear: both;
margin: 10px 5px;
border: 0 solid #ddd;
}
.admin-forum-container.activated-forum {
margin-top: 30px;
padding: 15px;
background-color: #fbfbfb;
border-width: 3px 0;
}
.admin-forum-container .open-forum {
display: inline-block;
padding: 15px;
padding-left: 60px;
color: #0088cc;
font-size: 14px;
height: 20px;
line-height: 20px;
text-decoration: none;
background-image: url('../img/chak_c.png');
background-repeat: no-repeat;
background-position: center left;
}
.admin-forum-container .open-forum:hover,
.admin-forum-container .open-forum:active {
text-decoration: underline;
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -2471,3 +2471,67 @@ jQuery(function($){
}
});
});
// Forum Chak
(function($){
var chak = {
elClass: 'chak-comment',
group_id: 'xe1_official',
apikey: 'xe17935b49af5435d37f1cde130363db-forum'
};
$(function(){
var $chakContainer = $('.admin-forum-container');
if($chakContainer.length) {
var $forumOpen = $('<a href="#' + chak.elClass + '" class="open-forum">이 페이지에 대한 포럼 보기</a>');
var $headerButton = $('<li class="forum-chak"><a href="#" class="x_btn x_btn-primary">Forum</a></li>');
var $headerMenu = $('header.header .account ul');
(function(){var s=document.createElement('script');s.type='text/javascript';s.src='//chak.it/static/service.js';s.async=true;(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(s);})();
$chakContainer.each(function(idx){
var $el = $(this);
var elData = $el.data();
elData.count = 0;
var $opener = $forumOpen.clone();
var $button = $headerButton.clone();
var forumId = 'inline-forum-' + idx;
$el.append($opener);
$button.find('a')
.attr('href', '#' + forumId)
.on('click', function(){
var $target = $($.attr(this, 'href'));
$('html, body').animate({
scrollTop: $target.offset().top - 20
}, 500);
return false;
})
.one('click', function() {
var $target = $($.attr(this, 'href'));
$target.find('a').click();
});
$headerMenu.append($button);
$el.attr('id', forumId);
$el.find('a').on('click', function(){
var div = document.createElement("div");
div.setAttribute("data-chak-apikey", chak.apikey);
div.setAttribute("data-chak-categories", elData.chakCategories);
$opener.after(div);
$chakContainer.addClass('activated-forum');
manuallySetChakService(div);
$opener.remove();
});
});
}
});
})(jQuery);

File diff suppressed because one or more lines are too long

View file

@ -25,3 +25,5 @@
</form>
-->
<include target="list.html" />
<div class="admin-forum-container" data-chak-categories="XE설정:쉬운 설치"></div>

View file

@ -45,16 +45,6 @@
</div>
<div class="text">
<h3><span class="x_label x_label-info">{$item->category}</span> <a href="{$target_url}" title="{$item->title}" target="_blank">{$item->title}</a></h3>
<p>
<block cond="(int)$item->package_voter > 0">
<span class="starRating"><span style="width:{sprintf("%d",$item->package_voted/$item->package_voter*20)}%">{sprintf("%0.1f",$item->package_voted/$item->package_voter*2)}{sprintf($lang->rate, $item->package_start)}</span></span>
<span class="x_badge">{sprintf("%0.1f",$item->package_voted/$item->package_voter*2)}/{number_format($item->package_voter)}</span>
</block>
<block cond="(int)$item->package_voter <= 0">
<span class="starRating"><span style="width:0%">0</span></span>
<span class="x_badge">0/0</span>
</block>
</p>
<p class="x_btn-group" style="text-align:right">
<a cond="$item->current_version && $item->need_update != 'Y'" class="x_btn x_disabled" href="#">{$lang->installed}</a>
<a cond="!$item->current_version" class="x_btn" href="{getUrl('act','dispAutoinstallAdminInstall','package_srl',$item->package_srl)}"><i class="x_icon-download-alt"></i> {$lang->install}</a>
@ -100,14 +90,6 @@
<p><span class="x_label x_label-info">{$item->category}</span> <a href="{$target_url}" target="_blank">{$item->title}</a></p>
<p style="margin:5px 0">{cut_str($item->package_description,200)}</p>
<p style="margin:5px 0">
<block cond="(int)$item->package_voter > 0">
<span class="starRating"><span style="width:{sprintf("%d",$item->package_voted/$item->package_voter*20)}%">{sprintf("%0.1f",$item->package_voted/$item->package_voter*2)}{sprintf($lang->rate, $item->package_start)}</span></span>
<span class="x_badge">{sprintf("%0.1f",$item->package_voted/$item->package_voter*2)}/{number_format($item->package_voter)}</span>
</block>
<block cond="(int)$item->package_voter <= 0">
<span class="starRating"><span style="width:0%">0</span></span>
<span class="x_badge">0/0</span>
</block>
{$lang->package_update}: <time title="{zdate($item->item_regdate, "Y-m-d H:i")}">{zdate($item->item_regdate, "Y-m-d")}</time>
<i>|</i>
{$lang->package_downloaded_count}: {number_format($item->package_downloaded)}

View file

@ -18,6 +18,21 @@ class board extends ModuleObject
var $page_count = 10; ///< page number
var $category_list = NULL; ///< category list
/**
* constructor
*
* @return void
*/
function board()
{
if(!Context::isInstalled()) return;
if(!Context::isExistsSSLAction('dispBoardWrite') && Context::getSslStatus() == 'optional')
{
$ssl_actions = array('dispBoardWrite', 'dispBoardWriteComment', 'dispBoardReplyComment', 'dispBoardModifyComment', 'dispBoardDelete', 'dispBoardDeleteComment', 'procBoardInsertDocument', 'procBoardDeleteDocument', 'procBoardInsertComment', 'procBoardDeleteComment', 'procBoardVerificationPassword');
Context::addSSLActions($ssl_actions);
}
}
/**
* @brief install the module

View file

@ -212,8 +212,9 @@ class boardController extends board
}
// alert an message
$this->setRedirectUrl(getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', '', 'page', Context::get('page'), 'document_srl', ''));
$this->add('mid', Context::get('mid'));
$this->add('page', $output->get('page'));
$this->add('page', Context::get('page'));
$this->setMessage('success_deleted');
}

View file

@ -199,3 +199,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:댓글"></div>

View file

@ -115,4 +115,6 @@ jQuery(function($){
}
}).change();
});
</script>
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:댓글"></div>

View file

@ -16,7 +16,7 @@
<action name="procCommunicationSendMessage" type="controller" ruleset="sendMessage" standalone="true" />
<action name="procCommunicationStoreMessage" type="controller" standalone="true" />
<action name="procCommunicationDeleteMessage" type="controller" standalone="true" />
<action name="procCommunicationDeleteMessages" type="controller" standalone="true" />
<action name="procCommunicationDeleteMessages" type="controller" method="GET|POST" standalone="true" />
<action name="procCommunicationAddFriend" type="controller" ruleset="addFriend" standalone="true" />
<action name="procCommunicationMoveFriend" type="controller" ruleset="deleteCheckedFriend" standalone="true" />

View file

@ -200,4 +200,6 @@ jQuery(function($){
}
});
});
</script>
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:문서"></div>

View file

@ -216,3 +216,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:문서"></div>

File diff suppressed because one or more lines are too long

View file

@ -213,3 +213,4 @@ jQuery(function($){
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:에디터"></div>

View file

@ -13,7 +13,7 @@
<action name="procFileImageResize" type="controller" ruleset="imageResize" />
<action name="procFileDelete" type="controller" />
<action name="procFileDownload" type="controller" method="GET|POST" />
<action name="procFileOutput" type="controller" />
<action name="procFileOutput" type="controller" method="GET|POST" />
<action name="procFileAdminDeleteChecked" type="controller" ruleset="deleteChecked" />
<action name="procFileAdminInsertConfig" type="controller" ruleset="insertConfig" />
<action name="procFileAdminInsertModuleConfig" type="controller" ruleset="fileModuleConfig" />

View file

@ -56,3 +56,5 @@
</div>
</div>
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:파일 업로드"></div>

View file

@ -207,3 +207,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:파일첨부"></div>

View file

@ -105,3 +105,5 @@ jQuery('a.modalAnchor')
return false;
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:데이터 들여오기"></div>

View file

@ -52,3 +52,5 @@
</tr>
</tbody>
</table>
<div class="admin-forum-container" data-chak-categories="XE설정:레이아웃"></div>

View file

@ -43,3 +43,5 @@
<!--@end-->
</tbody>
</table>
<div class="admin-forum-container" data-chak-categories="XE설정:레이아웃 관리"></div>

View file

@ -94,3 +94,5 @@
</div>
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:레이아웃 관리"></div>

View file

@ -105,3 +105,5 @@ xe.lang.confirm_delete = '{$lang->confirm_delete}';
</div>
</form>
</section>
<div class="admin-forum-container" data-chak-categories="XE설정:레이아웃"></div>

View file

@ -1,3 +1,5 @@
<include target="header.html" />
<load target="js/layout_modify.js" />
{$content}
<div class="admin-forum-container" data-chak-categories="XE설정:레이아웃 관리"></div>

View file

@ -62,8 +62,8 @@
<action name="procMemberSaveDocument" type="controller" standalone="true" />
<action name="procMemberDeleteSavedDocument" type="controller" standalone="true" />
<action name="procMemberFindAccount" type="controller" ruleset="findAccount" standalone="true" />
<action name="procMemberFindAccountByQuestion" type="controller" standalone="true" />
<action name="procMemberFindAccount" type="controller" method="GET|POST" ruleset="findAccount" standalone="true" />
<action name="procMemberFindAccountByQuestion" type="controller" method="GET|POST" standalone="true" />
<action name="procMemberAuthAccount" type="controller" method="GET|POST" standalone="true" />
<action name="procMemberAuthEmailAddress" type="controller" method="GET|POST" standalone="true" />
<action name="procMemberResendAuthMail" type="controller" ruleset="resendAuthMail" standalone="true" />

View file

@ -88,3 +88,5 @@
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_save}" /></span>
</div>
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:회원 설정"></div>

View file

@ -50,3 +50,5 @@
<script>
jQuery(function() { doGetSkinColorset("{$config->skin}"); });
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:회원 설정"></div>

View file

@ -103,3 +103,5 @@
<p class="x_pull-right">{$lang->add_group_image_mark}: <a href="{getUrl('', 'module','admin', 'act', 'dispModuleAdminFileBox')}" target="_blank">{$lang->link_file_box}</a></p>
</div>
</section>
<div class="admin-forum-container" data-chak-categories="XE설정:회원 그룹"></div>

View file

@ -129,3 +129,5 @@
});
})(jQuery);
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:회원 정보"></div>

View file

@ -62,3 +62,5 @@ jQuery(function($){
}).change();
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:회원 설정"></div>

View file

@ -206,3 +206,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:회원 목록"></div>

View file

@ -217,3 +217,5 @@
#userDefine{max-width:60%;margin-left:-30%}
}
</style>
<div class="admin-forum-container" data-chak-categories="XE설정:회원 설정"></div>

View file

@ -352,6 +352,8 @@
</fieldset>
<button type="button" class="x_close" data-admin-hide="#imgbtn">&times;</button>
</div>
<!--@end-->
<!--@if($act == 'dispMenuAdminSiteMap')-->
@ -4122,3 +4124,6 @@ jQuery.extend({
});
//]]>
</script>
<div cond="$act === 'dispMenuAdminSiteMap'" class="admin-forum-container" data-chak-categories="XE설정:사이트 메뉴 편집"></div>
<div cond="$act === 'dispMenuAdminSiteDesign'" class="admin-forum-container" data-chak-categories="XE설정:사이트 디자인 설정"></div>

View file

@ -993,7 +993,7 @@ class moduleController extends module
}
}
$oDB->commit;
$oDB->commit();
return new Object();
}

View file

@ -116,3 +116,5 @@
</ul>
</form>
</section>
<div class="admin-forum-container" data-chak-categories="XE설정:파일 박스"></div>

View file

@ -58,3 +58,5 @@
<input type="submit" class="x_btn x_btn-primary" value="{$lang->cmd_registration}">
</div>
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:모듈"></div>

View file

@ -20,3 +20,4 @@
</section>
<!--@end-->
<div class="admin-forum-container" data-chak-categories="XE설정:모듈"></div>

View file

@ -59,4 +59,6 @@ jQuery(function($){
$('.dsTg>tbody>tr[data-type1]').prependTo('tbody');
$('.dsTg>tbody>tr[data-type2]').prependTo('tbody');
});
</script>
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:모듈"></div>

View file

@ -197,3 +197,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:포인트"></div>

View file

@ -145,3 +145,5 @@
<input type="hidden" name="success_return_url" value="{Context::getRequestUrl()}" />
<input type="hidden" name="xe_validator_id" value="modules/point/tpl/member_list/1" />
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:포인트"></div>

View file

@ -41,3 +41,5 @@
<span class="x_pull-right"><input class="x_btn x_btn-primary" type="submit" value="{$lang->cmd_registration}" /></span>
</div>
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:포인트"></div>

View file

@ -124,3 +124,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:설문"></div>

View file

@ -122,3 +122,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:RSS"></div>

View file

@ -0,0 +1 @@
<div class="admin-forum-container" data-chak-categories="XE설정:스팸필터"></div>

View file

@ -165,3 +165,5 @@ jQuery(function($){
});
});
</script>
<div class="admin-forum-container" data-chak-categories="XE설정:휴지통"></div>

View file

@ -75,3 +75,4 @@
</div>
</form>
<div class="admin-forum-container" data-chak-categories="XE설정:휴지통"></div>

View file

@ -39,3 +39,5 @@
</tr>
</tbody>
</table>
<div class="admin-forum-container" data-chak-categories="XE설정:위젯"></div>

View file

@ -17,3 +17,5 @@
<p style="margin-right:14px"><textarea id="widget_code" rows="4" cols="42" style="width:100%;cursor:text;font-family:'Courier New', Courier, monospace" readonly="readonly"></textarea>
</div>
<include target="../../module/tpl/include.filebox.html" />
<div class="admin-forum-container" data-chak-categories="XE설정:위젯"></div>