Merge branch 'develop' into pr/multidomain

This commit is contained in:
Kijin Sung 2017-03-07 15:43:25 +09:00
commit fc77980c39
37 changed files with 474 additions and 300 deletions

View file

@ -1,5 +1,13 @@
<?php
/**
* Skip if Rhymix is already loaded.
*/
if (defined('RX_VERSION'))
{
return;
}
/**
* Set error reporting rules.
*/

View file

@ -3,7 +3,7 @@
/**
* RX_VERSION is the version number of the Rhymix CMS.
*/
define('RX_VERSION', '1.8.32');
define('RX_VERSION', '1.8.33');
/**
* RX_MICROTIME is the startup time of the current script, in microseconds since the Unix epoch.

View file

@ -608,3 +608,18 @@ function utf8_trim($str)
{
return preg_replace('/^[\s\pZ\pC]+|[\s\pZ\pC]+$/u', '', $str);
}
/**
* Check if HTML content is empty.
* This function checks whether any printable characters remain
* after removing all tags except images, videos, iframes, etc.
*
* @param string $str The input string
* @return bool
*/
function is_empty_html_content($str)
{
$str = strip_tags($str, '<img><audio><video><iframe><object><embed>');
$str = utf8_trim(utf8_clean(html_entity_decode($str, ENT_QUOTES, 'UTF-8')));
return $str === '';
}

View file

@ -241,6 +241,7 @@ $lang->msg_module_is_not_exists = 'Cannot find the page you requested. Ask your
$lang->msg_module_is_not_standalone = 'Requested page cannot be executed independently.';
$lang->msg_empty_search_target = 'Cannot find the Search target.';
$lang->msg_empty_search_keyword = 'Cannot find the Keyword.';
$lang->msg_empty_content = 'The content is empty.';
$lang->msg_server_error = 'Server Error';
$lang->msg_server_error_see_log = 'Your server is configured to hide error messages. Please see your server\'s error log for details.';
$lang->comment_to_be_approved = 'Your comment must be approved by admin before being published.';

View file

@ -241,6 +241,7 @@ $lang->msg_module_is_not_exists = '요청한 페이지를 찾을 수 없습니
$lang->msg_module_is_not_standalone = '요청한 페이지는 독립적으로 동작할 수 없습니다.';
$lang->msg_empty_search_target = '검색대상이 없습니다.';
$lang->msg_empty_search_keyword = '검색어가 없습니다.';
$lang->msg_empty_content = '내용이 없습니다.';
$lang->msg_server_error = '서버 오류';
$lang->msg_server_error_see_log = '오류 메시지를 표시하지 않도록 설정되어 있습니다. 서버의 에러 로그에서 자세한 내용을 확인해 주십시오.';
$lang->comment_to_be_approved = '관리자의 확인이 필요한 댓글입니다.';

View file

@ -96,10 +96,8 @@
<action name="procBoardDeleteComment" type="controller" standalone="false" />
<action name="procBoardDeleteTrackback" type="controller" standalone="false" />
<action name="procBoardVerificationPassword" type="controller" />
<action name="procBoardDeleteFile" type="controller" standalone="false" />
<action name="procBoardUploadFile" type="controller" standalone="false" />
<action name="procBoardDownloadFile" type="controller" standalone="false" />
<!-- admin -->
<action name="dispBoardAdminContent" type="view" admin_index="true" menu_name="board" menu_index="true" />
<action name="dispBoardAdminBoardInfo" type="view" menu_name="board" />
<action name="dispBoardAdminExtraVars" type="view" menu_name="board" />

View file

@ -425,6 +425,11 @@ class commentController extends comment
// remove Rhymix's own tags from the contents
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
// Return error if content is empty.
if (!$manual_inserted && is_empty_html_content($obj->content))
{
return new Object(-1, 'msg_empty_content');
}
// if use editor of nohtml, Remove HTML tags from the contents.
if(!$manual_inserted)
@ -851,6 +856,11 @@ class commentController extends comment
// remove Rhymix's wn tags from contents
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
// Return error if content is empty.
if (!$manual_inserted && is_empty_html_content($obj->content))
{
return new Object(-1, 'msg_empty_content');
}
// if use editor of nohtml, Remove HTML tags from the contents.
if(!$manual_updated)

View file

@ -2,37 +2,41 @@
<module>
<grants />
<permissions>
<permission action="procCommentAdminAddCart" target="manager" />
<permission action="procCommentVoteUp" target="member" />
<permission action="procCommentVoteDown" target="member" />
<permission action="procCommentDeclare" target="member" />
<permission action="procCommentGetList" target="manager" />
<permission action="procCommentAdminAddCart" target="manager" />
<permission action="procCommentAdminMoveToTrash" target="manager" />
<permission action="procCommentAdminDeleteChecked" target="manager" />
<permission action="procCommentInsertModuleConfig" target="manager" />
</permissions>
<actions>
<action name="getCommentMenu" type="model" />
<action name="dispCommentAdminList" type="view" admin_index="true" menu_name="comment" menu_index="true" />
<action name="dispCommentAdminDeclared" type="view" menu_name="comment" />
<action name="dispCommentAdminDeclaredLogByCommentSrl" type="view" menu_name="comment" />
<action name="dispCommentDeclare" type="view" />
<action name="procCommentVoteUp" type="controller" />
<action name="procCommentVoteUpCancel" type="controller" />
<action name="procCommentVoteDown" type="controller" />
<action name="procCommentVoteDownCancel" type="controller" />
<action name="procCommentDeclare" type="controller" />
<action name="getCommentVotedMemberList" type="model" />
<action name="procCommentInsertModuleConfig" type="controller" ruleset="insertCommentModuleConfig" />
<action name="procCommentAdminDeleteChecked" type="controller" ruleset="deleteChecked" />
<action name="procCommentAdminChangeStatus" type="controller"/>
<action name="procCommentAdminChangePublishedStatusChecked" type="controller" />
<action name="isModuleUsingPublishValidation" type="controller" />
<action name="procCommentAdminCancelDeclare" type="controller" />
<action name="procCommentAdminAddCart" type="controller" />
<!-- admin -->
<action name="procCommentGetList" type="controller" />
<action name="procCommentInsertModuleConfig" type="controller" ruleset="insertCommentModuleConfig" />
<action name="dispCommentAdminList" type="view" admin_index="true" menu_name="comment" menu_index="true" />
<action name="procCommentAdminChangeStatus" type="controller"/>
<action name="procCommentAdminChangePublishedStatusChecked" type="controller" />
<action name="dispCommentAdminDeclared" type="view" menu_name="comment" />
<action name="procCommentAdminCancelDeclare" type="controller" />
<action name="dispCommentAdminDeclaredLogByCommentSrl" type="view" menu_name="comment" />
<action name="procCommentAdminAddCart" type="controller" />
<action name="procCommentAdminDeleteChecked" type="controller" ruleset="deleteChecked" />
<action name="procCommentAdminMoveToTrash" type="controller" />
<action name="procCommentVoteUpCancel" type="controller" />
<action name="procCommentVoteDownCancel" type="controller" />
</actions>
<menus>
<menu name="comment">

View file

@ -1,7 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions />
<permissions>
<permission action="dispCommunicationMessages" target="member" />
<permission action="dispCommunicationSendMessage" target="member" />
<permission action="dispCommunicationNewMessage" target="member" />
<permission action="dispCommunicationFriend" target="member" />
<permission action="dispCommunicationAddFriend" target="member" />
<permission action="dispCommunicationAddFriendGroup" target="member" />
<permission action="dispCommunicationMessageBoxList" target="member" />
<permission action="procCommunicationUpdateAllowMessage" target="member" />
<permission action="procCommunicationSendMessage" target="member" />
<permission action="procCommunicationStoreMessage" target="member" />
<permission action="procCommunicationDeleteMessage" target="member" />
<permission action="procCommunicationDeleteMessages" target="member" />
<permission action="procCommunicationAddFriend" target="member" />
<permission action="procCommunicationMoveFriend" target="member" />
<permission action="procCommunicationDeleteFriend" target="member" />
<permission action="procCommunicationAddFriendGroup" target="member" />
<permission action="procCommunicationRenameFriendGroup" target="member" />
<permission action="procCommunicationDeleteFriendGroup" target="member" />
</permissions>
<actions>
<action name="dispCommunicationMessages" type="view" standalone="true" />
<action name="dispCommunicationSendMessage" type="view" standalone="true" />
@ -26,6 +49,7 @@
<action name="procCommunicationRenameFriendGroup" type="controller" standalone="true" />
<action name="procCommunicationDeleteFriendGroup" type="controller" standalone="true" />
<!-- admin -->
<action name="getCommunicationAdminColorset" type="model" />
<action name="procCommunicationAdminInsertConfig" type="controller" ruleset="insertConfig" />
<action name="dispCommunicationAdminConfig" type="view" admin_index="true" />

View file

@ -2,27 +2,31 @@
<module>
<grants />
<permissions>
<permission action="dispDocumentAdminList" target="manager" />
<permission action="dispDocumentManageDocument" target="member" />
<!-- member -->
<permission action="getDocumentCategories" target="member" />
<permission action="getDocumentCategoryTplInfo" target="member" />
<permission action="procDocumentAddCart" target="member" />
<permission action="procDocumentTempSave" target="member" />
<permission action="procDocumentInsertCategory" target="member" />
<permission action="procDocumentManageCheckedDocument" target="member" />
<permission action="procDocumentMoveCategory" target="member" />
<permission action="procDocumentDeleteCategory" target="member" />
<permission action="procDocumentMakeXmlFile" target="member" />
<permission action="procDocumentAdminMoveToTrash" target="member" />
<!-- manager -->
<permission action="getDocumentCategoryTplInfo" target="manager" />
<permission action="procDocumentInsertCategory" target="manager" />
<permission action="procDocumentDeleteCategory" target="manager" />
<permission action="procDocumentMoveCategory" target="manager" />
<permission action="procDocumentMakeXmlFile" target="manager" />
<permission action="procDocumentAddCart" target="manager" />
<permission action="procDocumentGetList" target="manager" />
<permission action="dispDocumentManageDocument" target="manager" />
<permission action="procDocumentManageCheckedDocument" target="manager" />
<permission action="procDocumentAdminMoveToTrash" target="manager" />
<permission action="dispDocumentAdminList" target="manager" />
<permission action="procDocumentInsertModuleConfig" target="manager" />
<permission action="procDocumentAdminInsertExtraVar" target="manager" />
<permission action="procDocumentAdminDeleteExtraVar" target="manager" />
</permissions>
<actions>
<action name="dispDocumentPrint" type="view" />
<action name="dispDocumentPreview" type="view" />
<action name="dispDocumentManageDocument" type="view" />
<action name="dispTempSavedList" type="view" />
<action name="dispDocumentDeclare" type="view" />
@ -35,6 +39,7 @@
<action name="procDocumentVoteDownCancel" type="controller" />
<action name="procDocumentDeclare" type="controller" />
<action name="procDocumentAddCart" type="controller" />
<action name="dispDocumentManageDocument" type="view" />
<action name="procDocumentManageCheckedDocument" type="controller" />
<action name="procDocumentInsertModuleConfig" type="controller" />

View file

@ -435,6 +435,11 @@ class documentController extends document
if($obj->title == '') $obj->title = 'Untitled';
// Remove XE's own tags from the contents.
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
// Return error if content is empty.
if (!$manual_inserted && is_empty_html_content($obj->content))
{
return new Object(-1, 'msg_empty_content');
}
// if use editor of nohtml, Remove HTML tags from the contents.
if(!$manual_inserted)
{
@ -670,6 +675,11 @@ class documentController extends document
if($obj->title == '') $obj->title = 'Untitled';
// Remove XE's own tags from the contents.
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
// Return error if content is empty.
if (!$manual_inserted && is_empty_html_content($obj->content))
{
return new Object(-1, 'msg_empty_content');
}
// if use editor of nohtml, Remove HTML tags from the contents.
if(!$manual_updated)
{

View file

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions />
<permissions>
<permission action="procEditorInsertModuleConfig" target="manager" />
</permissions>
<actions>
<action name="dispEditorPopup" type="view" />
<action name="dispEditorComponentInfo" type="view" />

View file

@ -17,7 +17,7 @@ class installController extends install
// Stop if already installed.
if (Context::isInstalled())
{
return new Object(-1, 'msg_already_installed');
$this->stop('msg_already_installed');
}
// Increase time limit.

View file

@ -1,13 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions />
<actions>
<action name="dispLayoutInfo" type="view" />
<action name="dispLayoutAdminContent" type="view" />
<action name="dispLayoutAdminInfo" type="view" />
<action name="dispLayoutAdminLayoutModify" type="view" />
<action name="dispLayoutAdminLayoutImageList" type="view" />
<grants />
<permissions>
<permission action="dispLayoutPreview" target="manager" />
<permission action="dispLayoutPreviewWithModule" target="manager" />
<permission action="getLayoutInstanceListForJSONP" target="manager" />
</permissions>
<actions>
<action name="dispLayoutInfo" type="view" />
<action name="dispLayoutPreview" type="view" />
<action name="dispLayoutPreviewWithModule" type="view" />
<action name="getLayoutInstanceListForJSONP" type="model" />
<!-- admin -->
<action name="dispLayoutAdminContent" type="view" />
<action name="dispLayoutAdminInfo" type="view" />
<action name="dispLayoutAdminLayoutModify" type="view" />
<action name="dispLayoutAdminLayoutImageList" type="view" />
<action name="dispLayoutAdminMobileContent" type="view" />
<action name="dispLayoutAdminInstalledList" type="view" admin_index="true" menu_name="installedLayout" menu_index="true" />
@ -22,9 +31,6 @@
<action name="getLayoutAdminSetHTMLCSS" type="model" />
<action name="getLayoutAdminSiteDefaultLayout" type="model" />
<action name="dispLayoutPreview" type="view" />
<action name="dispLayoutPreviewWithModule" type="view" />
<action name="procLayoutAdminUpdate" type="controller" ruleset="updateLayout" />
<action name="procLayoutAdminCodeUpdate" type="controller" ruleset="codeUpdate" />
<action name="procLayoutAdminUserImageUpload" type="controller" ruleset="imageUpload" />
@ -33,18 +39,15 @@
<action name="procLayoutAdminConfigImageDelete" type="controller" />
<action name="procLayoutAdminDelete" type="controller" ruleset="deleteLayout" />
<action name="procLayoutAdminInsert" type="controller" ruleset="insertLayout" />
<action name="procLayoutAdminInsert" type="controller" ruleset="insertLayout" />
<action name="procLayoutAdminCodeReset" type="controller" />
<action name="procLayoutAdminCodeReset" type="controller" />
<action name="procLayoutAdminUserValueInsert" type="controller" />
<action name="procLayoutAdminUserLayoutExport" type="controller" />
<action name="procLayoutAdminUserLayoutImport" type="controller" ruleset="userLayoutImport" />
<action name="procLayoutAdminCopyLayout" type="controller" />
<action name="getLayoutInstanceListForJSONP" type="model" />
</actions>
<action name="procLayoutAdminUserValueInsert" type="controller" />
<action name="procLayoutAdminUserLayoutExport" type="controller" />
<action name="procLayoutAdminUserLayoutImport" type="controller" ruleset="userLayoutImport" />
<action name="procLayoutAdminCopyLayout" type="controller" />
</actions>
<menus>
<menu name="installedLayout">
<title xml:lang="en">Layouts</title>

View file

@ -2,6 +2,36 @@
<module>
<grants />
<permissions>
<permission action="dispMemberModifyEmailAddress" target="member" />
<permission action="dispMemberModifyInfo" target="member" />
<permission action="dispMemberModifyPassword" target="member" />
<permission action="dispMemberLeave" target="member" />
<permission action="dispMemberOwnDocument" target="member" />
<permission action="dispMemberScrappedDocument" target="member" />
<permission action="dispMemberSavedDocument" target="member" />
<permission action="procMemberModifyEmailAddress" target="member" />
<permission action="procMemberModifyInfoBefore" target="member" />
<permission action="procMemberModifyInfo" target="member" />
<permission action="procMemberModifyPassword" target="member" />
<permission action="procMemberLeave" target="member" />
<permission action="procMemberInsertProfileImage" target="member" />
<permission action="procMemberInsertImageName" target="member" />
<permission action="procMemberInsertImageMark" target="member" />
<permission action="procMemberDeleteProfileImage" target="member" />
<permission action="procMemberDeleteImageName" target="member" />
<permission action="procMemberDeleteImageMark" target="member" />
<permission action="procMemberSiteSignUp" target="member" />
<permission action="procMemberSiteLeave" target="member" />
<permission action="procMemberScrapDocument" target="member" />
<permission action="procMemberDeleteScrap" target="member" />
<permission action="procMemberSaveDocument" target="member" />
<permission action="procMemberDeleteSavedDocument" target="member" />
<permission action="dispMemberSpammer" target="manager" />
<permission action="procMemberSpammerManage" target="manager" />
<permission action="getApiGroups" target="manager" />
</permissions>
<actions>
@ -22,7 +52,6 @@
<action name="dispMemberGetTempPassword" type="view" standalone="true" />
<action name="dispMemberResendAuthMail" type="view" standalone="true" />
<action name="dispSavedDocumentList" type="view" standalone="true" />
<action name="dispMemberSpammer" type="view" standalone="true" />
<action name="dispMemberModifyNicknameLog" type="view" standalone="true" />
<action name="dispMemberAdminList" type="view" index="true" admin_index="true" menu_name="userList" menu_index="true"/>
@ -36,12 +65,8 @@
<action name="dispMemberAdminInfo" type="view" menu_name="userList" />
<action name="dispMemberAdminInsertJoinForm" type="view" />
<action name="dispMemberAdminNickNameLog" type="view" menu_name="userSetting" />
<action name="getMemberMenu" type="model" standalone="true" />
<action name="getMemberAdminColorset" type="model" />
<action name="getMemberAdminInsertJoinForm" type="model" />
<action name="getMemberAdminIPCheck" type="model" />
<action name="getApiGroups" type="model" standalone="true" />
<action name="procMemberLogin" type="controller" ruleset="@login" standalone="true" />
<action name="procMemberLogout" type="controller" standalone="true" />
@ -73,7 +98,26 @@
<action name="procMemberAuthEmailAddress" type="controller" method="GET|POST" standalone="true" />
<action name="procMemberResendAuthMail" type="controller" ruleset="resendAuthMail" standalone="true" />
<action name="procMemberResetAuthMail" type="controller" ruleset="resetAuthMail" standalone="true" />
<!-- manager -->
<action name="dispMemberSpammer" type="view" standalone="true" />
<action name="procMemberSpammerManage" type="controller" standalone="true" />
<action name="getApiGroups" type="model" standalone="true" />
<!-- admin -->
<action name="dispMemberAdminList" type="view" index="true" admin_index="true" menu_name="userList" menu_index="true"/>
<action name="dispMemberAdminConfig" type="view" menu_name="userSetting" menu_index="true" />
<action name="dispMemberAdminSignUpConfig" type="view" menu_name="userSetting" />
<action name="dispMemberAdminLoginConfig" type="view" menu_name="userSetting" />
<action name="dispMemberAdminDesignConfig" type="view" menu_name="userSetting" />
<action name="dispMemberAdminInsert" type="view" menu_name="userList" />
<action name="dispMemberAdminGroupList" type="view" menu_name="userGroup" menu_index="true" />
<action name="dispMemberAdminInfo" type="view" menu_name="userList" />
<action name="dispMemberAdminInsertJoinForm" type="view" />
<action name="getMemberAdminColorset" type="model" />
<action name="getMemberAdminInsertJoinForm" type="model" />
<action name="getMemberAdminIPCheck" type="model" />
<action name="procMemberAdminInsert" type="controller" ruleset="insertAdminMember" />
<action name="procMemberAdminDelete" type="controller" />

View file

@ -114,12 +114,19 @@ class memberAdminController extends member
}
if(!$output->toBool()) return $output;
// Invalidate sessions if denied or limited
if ($args->denied === 'Y' || $args->limited >= date('Ymd'))
{
$validity_info = Rhymix\Framework\Session::getValidityInfo($args->member_srl);
$validity_info->invalid_before = time();
Rhymix\Framework\Session::setValidityInfo($args->member_srl, $validity_info);
executeQuery('member.deleteAutologin', (object)array('member_srl' => $args->member_srl));
}
// Save Signature
$signature = Context::get('signature');
$oMemberController->putSignature($args->member_srl, $signature);
// Return result
$this->add('member_srl', $args->member_srl);
$this->setMessage($msg_code);
$profile_image = $_FILES['profile_image'];
if(is_uploaded_file($profile_image['tmp_name']))
@ -139,6 +146,12 @@ class memberAdminController extends member
$oMemberController->insertImageName($args->member_srl, $image_name['tmp_name']);
}
// Clear cache
$oMemberController->_clearMemberCache($args->member_srl);
// Return result
$this->add('member_srl', $args->member_srl);
$this->setMessage($msg_code);
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminList');
$this->setRedirectUrl($returnUrl);
}

View file

@ -91,6 +91,7 @@ class memberAdminView extends member
foreach($output->data as $key => $member)
{
$output->data[$key]->group_list = $oMemberModel->getMemberGroups($member->member_srl,0);
$output->data[$key]->profile_image = $oMemberModel->getProfileImage($member->member_srl);
}
}
$config = $this->memberConfig;
@ -115,6 +116,7 @@ class memberAdminView extends member
Context::set('member_list', $output->data);
Context::set('usedIdentifiers', $usedIdentifiers);
Context::set('page_navigation', $output->page_navigation);
Context::set('profileImageConfig', $config->profile_image);
$security = new Security();
$security->encodeHTML('member_list..user_name', 'member_list..nick_name', 'member_list..group_list..');

View file

@ -2987,7 +2987,7 @@ class memberController extends member
function _clearMemberCache($member_srl, $site_srl = 0)
{
$member_srl = getNumberingPath($member_srl) . $member_srl;
$member_srl = intval($member_srl);
Rhymix\Framework\Cache::delete("member:member_info:$member_srl");
Rhymix\Framework\Cache::delete("member:member_groups:$member_srl:site:$site_srl");
if ($site_srl != 0)

View file

@ -428,6 +428,9 @@ class memberView extends member
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$security = new Security($output->data);
$security->encodeHTML('..nick_name');
$this->setTemplateFile('scrapped_list');
}
@ -488,9 +491,7 @@ class memberView extends member
{
if(Context::get('is_logged'))
{
Context::set('redirect_url', getNotEncodedUrl('act',''));
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('redirect.html');
$this->setRedirectUrl(getNotEncodedUrl('act',''));
return;
}

View file

@ -0,0 +1,2 @@
.profile_img {border-radius: 50%;border:1px solid #e0e0e0;padding:1px;width:40px;height:40px}
.no_profile {display:block;font-style:normal;border:1px solid #ddd;width:40px;height:40px;line-height:40px;font-size:16px;font-weight:bold;background:#fff;color:#666;border-radius:50%;text-align:center;}

View file

@ -99,7 +99,7 @@
<label class="x_control-label" for="until">{$lang->limit_date}</label>
<div class="x_controls">
<input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" />
<input type="date" readonly placeholder="YYYY-MM-DD" class="inputDate" id="until" min="' . date('Y-m-d',strtotime('-10 years')) . '" max="' . date('Y-m-d',strtotime('+100 years')) . '" onchange="jQuery('#date_limit_date').val(this.value.replace(/-/g,''));" value="{zdate($member_info->limit_date,'Y-m-d',false)}" />
<input type="date" readonly placeholder="YYYY-MM-DD" class="inputDate" id="until" min="{date('Y-m-d',strtotime('-10 years'))}" max="{date('Y-m-d',strtotime('+100 years'))}" onchange="jQuery('#date_limit_date').val(this.value.replace(/-/g,''));" value="{zdate($member_info->limit_date,'Y-m-d',false)}" />
<input type="button" value="{$lang->cmd_delete}" class="x_btn dateRemover" />
<span class="x_help-inline">{$lang->about_limit_date}</span>
</div>

View file

@ -1,3 +1,4 @@
<load target="css/member.css" />
<load target="js/member_admin_list.js" type="body" />
<script>
xe.lang.msg_select_user = '{$lang->msg_select_user}';
@ -28,6 +29,7 @@
</caption>
<thead>
<tr>
<th scope="col" class="nowr" cond="$profileImageConfig == 'Y'">{$lang->profile_image}</th>
<th scope="col" class="nowr">{$lang->email}</th>
<th scope="col" class="nowr" loop="$usedIdentifiers=>$name,$title">{$title}</th>
<th scope="col" class="nowr">{$lang->status}</th>
@ -43,6 +45,13 @@
<tbody>
<tr loop="$member_list=>$no,$member_info">
{@$member_info = get_object_vars($member_info)}
<td class="nowr" cond="$profileImageConfig == 'Y'">
<!--@if($member_info['profile_image'])-->
<img src="{$member_info['profile_image']->src}" class="profile_img" />
<!--@else-->
<i class="no_profile">?</i>
<!--@end-->
</td>
<td class="nowr">
<a href="#popup_menu_area" class="member_{$member_info['member_srl']}" title="Info">{getEncodeEmailAddress($member_info['email_address'])}</a>
</td>

View file

@ -1,3 +0,0 @@
<script>
location.href = "{$redirect_url}";
</script>

View file

@ -1,40 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<grants />
<permissions>
<permission action="getMenuAdminSiteMap" target="manager" />
<permission action="procMenuAdminUpdateAuth" target="manager" />
<permissions />
<actions>
<action name="dispMenuAdminMidList" type="view" />
<action name="dispMenuAdminSiteMap" type="view" admin_index="true" menu_name="siteMap" menu_index="true" />
<action name="dispMenuAdminSiteDesign" type="view" menu_name="siteDesign" menu_index="true" />
<action name="getMenuAdminTplInfo" type="model" />
<action name="getMenuAdminItemInfo" type="model" />
<action name="getMenuAdminSiteMap" type="model" />
<action name="getMenuAdminInstalledMenuType" type="model" />
<action name="getMenuAdminDetailSetup" type="model" />
<action name="procMenuAdminInsert" type="controller" ruleset="insertMenu" />
<action name="procMenuAdminUpdate" type="controller" ruleset="updateMenuTitle" />
<action name="procMenuAdminDelete" type="controller" />
<action name="procMenuAdminInsertItem" type="controller" ruleset="insertMenuItem" />
<action name="procMenuAdminUpdateItem" type="controller" ruleset="updateMenuItem" />
<action name="procMenuAdminButtonUpload" type="controller" />
<action name="procMenuAdminInsertItemForAdminMenu" type="controller" />
<action name="procMenuAdminDeleteItem" type="controller" />
<action name="procMenuAdminMakeXmlFile" type="controller" />
<action name="procMenuAdminMoveItem" type="controller" />
<action name="procMenuAdminCopyItem" type="controller" />
<action name="procMenuAdminArrangeItem" type="controller" />
<action name="procMenuAdminUploadButton" type="controller" />
<action name="procMenuAdminDeleteButton" type="controller" />
<action name="procMenuAdminAllActList" type="controller" />
<action name="procMenuAdminUpdateAuth" type="controller" />
</permissions>
<actions>
<action name="dispMenuMenu" type="mobile" />
</actions>
<!-- admin -->
<action name="dispMenuAdminMidList" type="view" />
<action name="dispMenuAdminSiteMap" type="view" admin_index="true" menu_name="siteMap" menu_index="true" />
<action name="dispMenuAdminSiteDesign" type="view" menu_name="siteDesign" menu_index="true" />
<action name="getMenuAdminTplInfo" type="model" />
<action name="getMenuAdminItemInfo" type="model" />
<action name="getMenuAdminSiteMap" type="model" />
<action name="getMenuAdminInstalledMenuType" type="model" />
<action name="getMenuAdminDetailSetup" type="model" />
<action name="procMenuAdminInsert" type="controller" ruleset="insertMenu" />
<action name="procMenuAdminUpdate" type="controller" ruleset="updateMenuTitle" />
<action name="procMenuAdminDelete" type="controller" />
<action name="procMenuAdminInsertItem" type="controller" ruleset="insertMenuItem" />
<action name="procMenuAdminUpdateItem" type="controller" ruleset="updateMenuItem" />
<action name="procMenuAdminButtonUpload" type="controller" />
<action name="procMenuAdminInsertItemForAdminMenu" type="controller" />
<action name="procMenuAdminDeleteItem" type="controller" />
<action name="procMenuAdminMakeXmlFile" type="controller" />
<action name="procMenuAdminMoveItem" type="controller" />
<action name="procMenuAdminCopyItem" type="controller" />
<action name="procMenuAdminArrangeItem" type="controller" />
<action name="procMenuAdminUploadButton" type="controller" />
<action name="procMenuAdminDeleteButton" type="controller" />
<action name="procMenuAdminAllActList" type="controller" />
<action name="procMenuAdminUpdateAuth" type="controller" />
</actions>
<menus>
<menu name="siteMap">
<title xml:lang="en">Menu Editor</title>

View file

@ -4,6 +4,8 @@
<permissions />
<actions>
<action name="dispMessage" type="view" index="true" />
<!-- admin -->
<action name="dispMessageAdminConfig" type="view" admin_index="true" />
<action name="procMessageAdminInsertConfig" type="controller" />
<action name="getMessageAdminColorset" type="model" />

View file

@ -1,73 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions>
<permission action="dispModuleSelectList" target="member" />
<permission action="getModuleAdminGrant" target="manager" />
<permission action="getModuleAdminLangCode" target="manager" />
<permission action="getModuleAdminLangListByName" target="manager" />
<permission action="getModuleAdminLangListByValue" target="manager" />
<grants />
<permissions>
<permission action="dispModuleSelectList" target="member" />
<permission action="getLangListByLangcodeForAutoComplete" target="manager" />
<permission action="getLangByLangcode" target="manager" />
<permission action="getModuleAdminMultilingualHtml" target="manager" />
<permission action="getModuleAdminLangListHtml" target="manager" />
<permission action="procModuleAdminInsertLang" target="manager" />
<permission action="getModuleAdminGrant" target="manager" />
<permission action="procModuleAdminInsertGrant" target="manager" />
<permission action="getModuleAdminLangCode" target="manager" />
<permission action="getModuleAdminLangListHtml" target="manager" />
<permission action="getModuleAdminLangListByName" target="manager" />
<permission action="getModuleAdminLangListByValue" target="manager" />
<permission action="procModuleAdminInsertLang" target="manager" />
<permission action="procModuleAdminUpdateSkinInfo" target="manager" />
</permissions>
<actions>
<action name="dispModuleSelectList" type="view" />
<action name="dispModuleSkinInfo" type="view" />
</permissions>
<actions>
<action name="dispModuleSelectList" type="view" />
<action name="dispModuleSkinInfo" type="view" />
<action name="dispModuleAdminContent" type="view" menu_name="installedModule" menu_index="true" admin_index="true" />
<action name="dispModuleAdminList" type="view" />
<action name="dispModuleAdminCategory" type="view" menu_name="installedModule" />
<action name="dispModuleAdminInfo" type="view" />
<action name="dispModuleAdminModuleSetup" type="view" />
<action name="dispModuleAdminModuleAdditionSetup" type="view" />
<action name="dispModuleAdminModuleGrantSetup" type="view" />
<action name="dispModuleAdminCopyModule" type="view" />
<action name="dispModuleAdminLangcode" type="view" menu_name="multilingual" menu_index="true" />
<action name="dispModuleAdminFileBox" type="view" menu_name="filebox" menu_index="true" />
<action name="dispModuleFileBox" type="view" />
<action name="dispModuleFileBoxAdd" type="view" />
<action name="dispModuleFileBox" type="view" />
<action name="dispModuleFileBoxAdd" type="view" />
<action name="procModuleFileBoxAdd" type="controller" />
<action name="procModuleFileBoxAdd" type="controller" />
<action name="procModuleFileBoxDelete" type="controller" />
<action name="procModuleFileBoxAdd" type="controller" />
<action name="procModuleFileBoxAdd" type="controller" />
<action name="procModuleFileBoxDelete" type="controller" />
<action name="getModuleSkinInfoList" type="model" />
<action name="getModuleAdminModuleList" type="model" />
<action name="getModuleAdminLangCode" type="model" />
<action name="getModuleAdminLangListByName" type="model" />
<action name="getModuleAdminLangListByValue" type="model" />
<action name="getLangListByLangcodeForAutoComplete" type="model" />
<action name="getModuleAdminModuleList" type="model" />
<action name="getModuleAdminLangCode" type="model" />
<action name="getModuleAdminLangListByName" type="model" />
<action name="getModuleAdminLangListByValue" type="model" />
<action name="getLangListByLangcodeForAutoComplete" type="model" />
<action name="getFileBoxListHtml" type="model" />
<action name="getLangByLangcode" type="model" />
<action name="getModuleInfoByMenuItemSrl" type="model" />
<action name="dispModuleChangeLang" type="mobile" />
<!-- admin -->
<action name="dispModuleAdminContent" type="view" menu_name="installedModule" menu_index="true" admin_index="true" />
<action name="dispModuleAdminList" type="view" />
<action name="dispModuleAdminCategory" type="view" menu_name="installedModule" />
<action name="dispModuleAdminInfo" type="view" />
<action name="dispModuleAdminModuleSetup" type="view" />
<action name="dispModuleAdminModuleAdditionSetup" type="view" />
<action name="dispModuleAdminModuleGrantSetup" type="view" />
<action name="dispModuleAdminCopyModule" type="view" />
<action name="dispModuleAdminLangcode" type="view" menu_name="multilingual" menu_index="true" />
<action name="dispModuleAdminFileBox" type="view" menu_name="filebox" menu_index="true" />
<action name="getModuleAdminGrant" type="model" />
<action name="getModuleAdminMultilingualHtml" type="model" />
<action name="getModuleAdminLangListHtml" type="model" />
<action name="getModuleInfoByMenuItemSrl" type="model" />
<action name="getModuleAdminModuleSearcherHtml" type="model" />
<action name="getModuleAdminModuleInfo" type="model" />
<action name="procModuleAdminInsertCategory" type="controller" ruleset="insertCategory" />
<action name="procModuleAdminUpdateCategory" type="controller" ruleset="updateCategory" />
<action name="procModuleAdminDeleteCategory" type="controller" ruleset="deleteCategory" />
<action name="procModuleAdminCopyModule" type="controller" ruleset="copyModule" />
<action name="procModuleAdminInsertGrant" type="controller" />
<action name="procModuleAdminUpdateSkinInfo" type="controller" />
<action name="procModuleAdminModuleSetup" type="controller" ruleset="insertModuleSetup" />
<action name="procModuleAdminModuleGrantSetup" type="controller" ruleset="insertModulesGrant" />
<action name="procModuleAdminInsertLang" type="controller" />
<action name="procModuleAdminDeleteLang" type="controller" />
<action name="procModuleAdminGetList" type="controller" />
<action name="procModuleAdminSetDesignInfo" type="controller" />
<action name="procModuleAdminUpdateUseMobile" type="controller" />
<action name="dispModuleChangeLang" type="mobile" />
</actions>
<action name="procModuleAdminInsertCategory" type="controller" ruleset="insertCategory" />
<action name="procModuleAdminUpdateCategory" type="controller" ruleset="updateCategory" />
<action name="procModuleAdminDeleteCategory" type="controller" ruleset="deleteCategory" />
<action name="procModuleAdminCopyModule" type="controller" ruleset="copyModule" />
<action name="procModuleAdminInsertGrant" type="controller" />
<action name="procModuleAdminUpdateSkinInfo" type="controller" />
<action name="procModuleAdminModuleSetup" type="controller" ruleset="insertModuleSetup" />
<action name="procModuleAdminModuleGrantSetup" type="controller" ruleset="insertModulesGrant" />
<action name="procModuleAdminInsertLang" type="controller" />
<action name="procModuleAdminDeleteLang" type="controller" />
<action name="procModuleAdminGetList" type="controller" />
<action name="procModuleAdminSetDesignInfo" type="controller" />
<action name="procModuleAdminUpdateUseMobile" type="controller" />
</actions>
<menus>
<menu name="installedModule">
<title xml:lang="en">Modules</title>

View file

@ -2,36 +2,33 @@
class ncenterliteAdminModel extends ncenterlite
{
function getAdminNotifyList($member_srl=null, $page=1, $readed='N')
function getAdminNotifyList()
{
$oNcenterliteModel = getModel('ncenterlite');
$config = $oNcenterliteModel->getConfig();
global $lang;
$act = Context::get('act');
$output = $oNcenterliteModel->getNcenterliteAdminList();
$oMemberModel = getModel('member');
$list = $output->data;
foreach($list as $k => $v)
foreach($list as $key => $value)
{
$v->text = $oNcenterliteModel->getNotificationText($v);
$v->ago = $oNcenterliteModel->getAgo($v->regdate);
$v->url = getUrl('','act','procNcenterliteRedirect', 'notify', $v->notify, 'url', $v->target_url);
if($v->target_member_srl)
$value->text = $oNcenterliteModel->getNotificationText($value);
$value->ago = $oNcenterliteModel->getAgo($value->regdate);
$value->url = getUrl('','act','procNcenterliteRedirect', 'notify', $value->notify, 'url', $value->target_url);
if($value->target_member_srl)
{
$profileImage = $oMemberModel->getProfileImage($v->target_member_srl);
$v->profileImage = $profileImage->src;
$profileImage = $oMemberModel->getProfileImage($value->target_member_srl);
$value->profileImage = $profileImage->src;
}
$list[$k] = $v;
$list[$key] = $value;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($value->member_srl);
$list[$key]->nick_name = $member_info->nick_name;
}
$output->data = $list;
return $output;
}
}

View file

@ -105,8 +105,6 @@ class ncenterliteAdminView extends ncenterlite
Context::set('page', $output->page);
Context::set('ncenterlite_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('ncenter_list');
}
function dispNcenterliteAdminTest()

View file

@ -31,13 +31,9 @@
</thead>
<tbody>
<!--@foreach($ncenterlite_list as $no => $val)-->
{@
$oMemberModel = getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($val->member_srl);
}
<tr>
<td>{$val->target_nick_name}</td>
<td cond="$member_info->member_srl">{$member_info->nick_name}</td> <td cond="!$member_info->member_srl">타겟없음</td>
<td cond="$val->member_srl">{$val->nick_name}</td>
<td><a href="{$val->target_url}">{$val->text}</a></td>
<td>
<span cond="$val->readed == 'Y'" style="color:#8582E6">{$lang->ncenterlite_read_y}</span>

View file

@ -1,35 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<module>
<grants />
<permissions>
<permission action="procPageAdminRemoveWidgetCache" target="manager" />
<permission action="dispPageAdminContentModify" target="manager" />
<permission action="procPageAdminInsert" target="manager" />
<permission action="procPageAdminInsertContent" target="manager" />
</permissions>
<actions>
<action name="dispPageIndex" type="view" index="true" />
<action name="dispPageAdminContent" type="view" admin_index="true" menu_name="page" menu_index="true" />
<action name="dispPageAdminGrantInfo" type="view" menu_name="page" />
<action name="dispPageAdminInfo" type="view" setup_index="true" menu_name="page" />
<action name="dispPageAdminPageAdditionSetup" type="view" menu_name="page" />
<action name="dispPageAdminDelete" type="view" />
<action name="dispPageAdminContentModify" type="view" />
<action name="dispPageAdminAddContent" type="view" />
<action name="dispPageAdminMobileContentModify" type="view" />
<grants />
<permissions>
<permission action="procPageAdminRemoveWidgetCache" target="manager" />
<permission action="dispPageAdminContentModify" target="manager" />
<permission action="procPageAdminInsert" target="manager" />
<permission action="procPageAdminInsertContent" target="manager" />
</permissions>
<actions>
<action name="dispPageIndex" type="view" index="true" />
<!-- admin -->
<action name="dispPageAdminContent" type="view" admin_index="true" menu_name="page" menu_index="true" />
<action name="dispPageAdminGrantInfo" type="view" menu_name="page" />
<action name="dispPageAdminInfo" type="view" setup_index="true" menu_name="page" />
<action name="dispPageAdminPageAdditionSetup" type="view" menu_name="page" />
<action name="dispPageAdminDelete" type="view" />
<action name="dispPageAdminContentModify" type="view" />
<action name="dispPageAdminAddContent" type="view" />
<action name="dispPageAdminMobileContentModify" type="view" />
<action name="dispPageAdminMobileContent" type="view" />
<action name="dispPageAdminSkinInfo" type="view" />
<action name="dispPageAdminMobileSkinInfo" type="view" />
<action name="procPageAdminRemoveWidgetCache" type="controller" />
<action name="procPageAdminInsert" type="controller" ruleset="insertPage" />
<action name="procPageAdminUpdate" type="controller" ruleset="updatePage" />
<action name="procPageAdminInsertContent" type="controller" />
<action name="procPageAdminDelete" type="controller" ruleset="deletePage" />
<action name="procPageAdminInsertConfig" type="controller" />
<action name="procPageAdminAddContent" type="controller" />
<action name="procPageAdminArticleDocumentInsert" type="controller" />
</actions>
<action name="procPageAdminRemoveWidgetCache" type="controller" />
<action name="procPageAdminInsert" type="controller" ruleset="insertPage" />
<action name="procPageAdminUpdate" type="controller" ruleset="updatePage" />
<action name="procPageAdminInsertContent" type="controller" />
<action name="procPageAdminDelete" type="controller" ruleset="deletePage" />
<action name="procPageAdminInsertConfig" type="controller" />
<action name="procPageAdminAddContent" type="controller" />
<action name="procPageAdminArticleDocumentInsert" type="controller" />
</actions>
<menus>
<menu name="page" type="all">
<title xml:lang="en">Page</title>

View file

@ -1,24 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions>
<permission action="procPointAdminInsertPointModuleConfig" target="manager" />
</permissions>
<actions>
<action name="dispPointAdminConfig" type="view" admin_index="true" menu_name="point" menu_index="true" />
<action name="dispPointAdminModuleConfig" type="view" menu_name="point" />
<action name="dispPointAdminPointList" type="view" menu_name="point" />
<grants />
<permissions>
<permission action="procPointAdminInsertPointModuleConfig" target="manager" />
</permissions>
<actions>
<action name="getMembersPointInfo" type="model" />
<action name="procPointAdminInsertConfig" type="controller" ruleset="insertConfig" />
<action name="procPointAdminInsertModuleConfig" type="controller" />
<action name="procPointAdminUpdatePoint" type="controller" ruleset="updatePoint" />
<action name="procPointAdminInsertPointModuleConfig" type="controller" />
<action name="procPointAdminApplyPoint" type="controller" />
<action name="procPointAdminReset" type="controller" />
<action name="procPointAdminReCal" type="controller" />
<action name="getMembersPointInfo" type="model" />
</actions>
<!-- admin -->
<action name="dispPointAdminConfig" type="view" admin_index="true" menu_name="point" menu_index="true" />
<action name="dispPointAdminModuleConfig" type="view" menu_name="point" />
<action name="dispPointAdminPointList" type="view" menu_name="point" />
<action name="procPointAdminInsertConfig" type="controller" ruleset="insertConfig" />
<action name="procPointAdminInsertModuleConfig" type="controller" />
<action name="procPointAdminUpdatePoint" type="controller" ruleset="updatePoint" />
<action name="procPointAdminInsertPointModuleConfig" type="controller" />
<action name="procPointAdminApplyPoint" type="controller" />
<action name="procPointAdminReset" type="controller" />
<action name="procPointAdminReCal" type="controller" />
</actions>
<menus>
<menu name="point">
<title xml:lang="en">Point</title>

View file

@ -1,14 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions />
<actions>
<action name="dispPollAdminList" type="view" admin_index="true" menu_name="poll" menu_index="true" />
<action name="dispPollAdminResult" type="view" />
<action name="dispPollAdminConfig" type="view" />
<action name="getPollGetColorsetList" type="model" />
<action name="getPollAdminTarget" type="model" />
<grants />
<permissions />
<actions>
<action name="getPollGetColorsetList" type="model" />
<action name="getPollstatus" type="model" />
<action name="getPollinfo" type="model" />
<action name="getPollitemInfo" type="model" />
@ -18,10 +14,16 @@
<action name="procPoll" type="controller" ruleset="poll" />
<action name="procPollViewResult" type="controller" />
<action name="procPollGetList" type="controller" />
<action name="procPollAdminDeleteChecked" type="controller" ruleset="deleteChecked" />
<action name="procPollAdminInsertConfig" type="controller" ruleset="insertConfig" />
<action name="procPollAdminAddCart" type="controller" />
</actions>
<!-- admin -->
<action name="dispPollAdminList" type="view" admin_index="true" menu_name="poll" menu_index="true" />
<action name="dispPollAdminResult" type="view" />
<action name="dispPollAdminConfig" type="view" />
<action name="getPollAdminTarget" type="model" />
<action name="procPollAdminDeleteChecked" type="controller" ruleset="deleteChecked" />
<action name="procPollAdminInsertConfig" type="controller" ruleset="insertConfig" />
<action name="procPollAdminAddCart" type="controller" />
</actions>
<menus>
<menu name="poll">
<title xml:lang="en">Poll</title>

View file

@ -1,17 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<module>
<grants />
<permissions>
<permission action="procRssAdminInsertModuleConfig" target="manager" />
</permissions>
<actions>
<action name="dispRssAdminIndex" type="view" index="true" admin_index="true" menu_name="rss" menu_index="true" />
<action name="rss" type="view" />
<action name="atom" type="view" />
<action name="procRssAdminInsertConfig" type="controller" ruleset="insertRssConfig" />
<action name="procRssAdminDeleteFeedImage" type="controller" />
<action name="procRssAdminInsertModuleConfig" type="controller" />
</actions>
<grants />
<permissions>
<permission action="procRssAdminInsertModuleConfig" target="manager" />
</permissions>
<actions>
<action name="dispRssAdminIndex" type="view" index="true" admin_index="true" menu_name="rss" menu_index="true" />
<action name="rss" type="view" />
<action name="atom" type="view" />
<!-- admin -->
<action name="procRssAdminInsertConfig" type="controller" ruleset="insertRssConfig" />
<action name="procRssAdminDeleteFeedImage" type="controller" />
<action name="procRssAdminInsertModuleConfig" type="controller" />
</actions>
<menus>
<menu name="rss">
<title xml:lang="en">RSS</title>

View file

@ -1,7 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions />
<grants />
<permissions />
<actions>
<action name="dispSpamfilterAdminDeniedIPList" type="view" admin_index="true" menu_name="spamFilter" menu_index="true" />
<action name="dispSpamfilterAdminDeniedWordList" type="view" menu_name="spamFilter" />
<action name="dispSpamfilterAdminConfigBlock" type="view" menu_name="spamFilter" />
<action name="procSpamfilterAdminInsertDeniedIP" type="controller" />
<action name="procSpamfilterAdminInsertDeniedWord" type="controller" />
<action name="procSpamfilterAdminDeleteDeniedIP" type="controller" />
<action name="procSpamfilterAdminDeleteDeniedWord" type="controller" />
<action name="procSpamfilterAdminInsertConfig" type="controller" ruleset="insertConfig" />
</actions>
<menus>
<menu name="spamFilter" tyle="super">
<title xml:lang="en">Spam Filter</title>
@ -17,17 +29,4 @@
<title xml:lang="tr">Spam Filter</title>
</menu>
</menus>
<actions>
<action name="dispSpamfilterAdminDeniedIPList" type="view" admin_index="true" menu_name="spamFilter" menu_index="true" />
<action name="dispSpamfilterAdminDeniedWordList" type="view" menu_name="spamFilter" />
<action name="dispSpamfilterAdminConfigBlock" type="view" menu_name="spamFilter" />
<action name="procSpamfilterAdminInsertDeniedIP" type="controller" />
<action name="procSpamfilterAdminInsertDeniedWord" type="controller" />
<action name="procSpamfilterAdminDeleteDeniedIP" type="controller" />
<action name="procSpamfilterAdminDeleteDeniedWord" type="controller" />
<action name="procSpamfilterAdminInsertConfig" type="controller" ruleset="insertConfig" />
</actions>
</module>

View file

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions>
<permission action="dispTrashAdminList" target="manager" />
<permission action="procTrashAdminRestore" target="manager" />
</permissions>
<actions>
<action name="dispTrashAdminList" type="view" admin_index="true" menu_name="trash" menu_index="true" />
<grants />
<permissions>
<permission action="dispTrashAdminList" target="manager" />
<permission action="procTrashAdminRestore" target="manager" />
</permissions>
<actions>
<action name="dispTrashAdminList" type="view" admin_index="true" menu_name="trash" menu_index="true" />
<action name="procTrashAdminEmptyTrash" type="controller" ruleset="emptyTrash" />
<action name="procTrashAdminRestore" type="controller" />
<action name="procTrashAdminGetList" type="controller" />
<action name="dispTrashAdminView" type="view" />
</actions>
<action name="procTrashAdminEmptyTrash" type="controller" ruleset="emptyTrash" />
<action name="procTrashAdminRestore" type="controller" />
<action name="procTrashAdminGetList" type="controller" />
<action name="dispTrashAdminView" type="view" />
</actions>
<menus>
<menu name="trash">
<title xml:lang="en">Trash</title>

View file

@ -1,30 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<module>
<grants />
<permissions />
<actions>
<action name="dispWidgetInfo" type="view" />
<action name="dispWidgetGenerateCode" type="view" />
<action name="dispWidgetGenerateCodeInPage" type="view" />
<action name="dispWidgetStyleGenerateCodeInPage" type="view" />
<action name="dispWidgetAdminDownloadedList" type="view" admin_index="true" menu_name="installedWidget" menu_index="true" />
<action name="dispWidgetAdminAddContent" type="view" />
<action name="dispWidgetAdminGenerateCode" type="view" menu_name="installedWidget" />
<grants />
<permissions>
<permission action="dispWidgetGenerateCode" target="manager" />
<permission action="dispWidgetGenerateCodeInPage" target="manager" />
<permission action="dispWidgetStyleGenerateCodeInPage" target="manager" />
<permission action="procWidgetGenerateCode" target="manager" />
<permission action="procWidgetStyleGenerateCodeInPage" target="manager" />
<permission action="procWidgetInsertDocument" target="manager" />
<permission action="procWidgetCopyDocument" target="manager" />
<permission action="procWidgetDeleteDocument" target="manager" />
<permission action="procWidgetGenerateCodeInPage" target="manager" />
<permission action="procWidgetGetColorsetList" target="manager" />
<permission action="procWidgetStyleExtraImageUpload" target="manager" />
</permissions>
<actions>
<action name="dispWidgetInfo" type="view" />
<action name="dispWidgetGenerateCode" type="view" />
<action name="dispWidgetGenerateCodeInPage" type="view" />
<action name="dispWidgetStyleGenerateCodeInPage" type="view" />
<action name="procWidgetGenerateCode" type="controller" />
<action name="procWidgetStyleExtraImageUpload" type="controller" />
<action name="procWidgetStyleGenerateCodeInPage" type="controller" />
<action name="procWidgetAddContent" type="controller" />
<action name="procWidgetInsertDocument" type="controller" />
<action name="procWidgetCopyDocument" type="controller" />
<action name="procWidgetDeleteDocument" type="controller" />
<action name="procWidgetGenerateCodeInPage" type="controller" ruleset="generateCodeInPage" />
<action name="procWidgetGetColorsetList" type="controller" />
<action name="procWidgetStyleGenerateCodeInPage" type="controller" />
<action name="procWidgetInsertDocument" type="controller" />
<action name="procWidgetCopyDocument" type="controller" />
<action name="procWidgetDeleteDocument" type="controller" />
<action name="procWidgetGenerateCodeInPage" type="controller" ruleset="generateCodeInPage" />
<action name="procWidgetGetColorsetList" type="controller" />
<action name="procWidgetStyleExtraImageUpload" type="controller" />
<action name="procWidgetStyleExtraImageUpload" type="controller" />
<action name="procWidgetStyleGenerateCodeInPage" type="controller" />
</actions>
<!-- admin -->
<action name="dispWidgetAdminDownloadedList" type="view" admin_index="true" menu_name="installedWidget" menu_index="true" />
<action name="dispWidgetAdminAddContent" type="view" />
<action name="dispWidgetAdminGenerateCode" type="view" menu_name="installedWidget" />
</actions>
<menus>
<menu name="installedWidget">
<title xml:lang="en">Widgets</title>

View file

@ -159,4 +159,16 @@ class FunctionsTest extends \Codeception\TestCase\Test
$this->assertEquals("Trimmed", utf8_trim("\x20\xe2\x80\x80Trimmed\xe2\x80\x84\xe2\x80\x86\xe2\x80\x8b"));
$this->assertEquals("Trimmed", utf8_trim("\x20\xe2\x80\x80Trimmed\x0a\x0c\x07\x09"));
}
public function testIsEmptyHTMLContent()
{
$this->assertTrue(is_empty_html_content('<p>&nbsp;<br><br></p>'));
$this->assertTrue(is_empty_html_content('<p>&nbsp;</p>' . "\n\n" . '<p><span> </span></p>'));
$this->assertTrue(is_empty_html_content('<p>&#8194; &#8203; &#8205;</p>'));
$this->assertFalse(is_empty_html_content('<p>&nbsp;</p>' . "\n\n" . '<p>Hello world</p>'));
$this->assertFalse(is_empty_html_content('<p><img src="foobar.jpg"></p>'));
$this->assertFalse(is_empty_html_content('<p><iframe src="http://www.youtube.com/" /></p>'));
$this->assertFalse(is_empty_html_content('<p><video src="rickroll.webm" /></p>'));
$this->assertFalse(is_empty_html_content('<p><object></object></p>'));
}
}