From a85c3ccb012746fcfb2e89169bbb2b59fa0bbcc3 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Fri, 10 Feb 2017 22:17:29 +0900 Subject: [PATCH 1/2] Initial implementation of view comment screen --- modules/comment/comment.item.php | 2 +- modules/comment/lang/en.php | 1 + modules/comment/lang/ko.php | 1 + modules/member/conf/module.xml | 1 + modules/member/lang/en.php | 3 +- modules/member/lang/ko.php | 1 + modules/member/member.controller.php | 1 + modules/member/member.view.php | 27 ++++++++++++++ .../member/skins/default/comment_list.html | 37 +++++++++++++++++++ .../skins/simple_world/comment_list.html | 37 +++++++++++++++++++ 10 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 modules/member/skins/default/comment_list.html create mode 100644 modules/member/skins/simple_world/comment_list.html diff --git a/modules/comment/comment.item.php b/modules/comment/comment.item.php index 0796e30dc..43debb00b 100644 --- a/modules/comment/comment.item.php +++ b/modules/comment/comment.item.php @@ -340,7 +340,7 @@ class commentItem extends Object if($strlen) { - return cut_str(strip_tags($content), $strlen, '...'); + return cut_str(trim(strip_tags($content)), $strlen, '...'); } return htmlspecialchars($content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); diff --git a/modules/comment/lang/en.php b/modules/comment/lang/en.php index 16a36ed3c..4769af5c2 100644 --- a/modules/comment/lang/en.php +++ b/modules/comment/lang/en.php @@ -49,4 +49,5 @@ $lang->improper_comment_reasons['others'] = 'Others (Write your own)'; $lang->about_improper_comment_declare = 'Write here why you report this comment as an improper thing.'; $lang->msg_deleted_comment = 'This comment has been deleted.'; $lang->msg_admin_deleted_comment = 'This comment has been deleted by an administrator.'; +$lang->msg_no_text_comment = 'This comment contains no text.'; $lang->msg_comment_notify_mail = "[%s] A new comment was posted on document: \" %s \""; diff --git a/modules/comment/lang/ko.php b/modules/comment/lang/ko.php index 59e7cb8f1..e3fca75a0 100644 --- a/modules/comment/lang/ko.php +++ b/modules/comment/lang/ko.php @@ -53,4 +53,5 @@ $lang->improper_comment_reasons['others'] = '기타(직접작성)'; $lang->about_improper_comment_declare = '댓글을 신고하신 이유를 간단히 적어서 제출해주시면 관리자 검토 후 조치하겠습니다.'; $lang->msg_deleted_comment = '삭제된 댓글입니다.'; $lang->msg_admin_deleted_comment = '관리자가 삭제한 댓글입니다.'; +$lang->msg_no_text_comment = '글자가 없는 댓글입니다.'; $lang->msg_comment_notify_mail = '[%s] 새로운 댓글이 등록되었습니다 : %s'; diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 27baf50b7..8039694d7 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -14,6 +14,7 @@ + diff --git a/modules/member/lang/en.php b/modules/member/lang/en.php index a13cd0041..3cc33227e 100644 --- a/modules/member/lang/en.php +++ b/modules/member/lang/en.php @@ -106,7 +106,8 @@ $lang->cmd_manage_id = 'Prohibited IDs'; $lang->cmd_manage_email_host = 'E-mail provider check'; $lang->cmd_manage_nick_name = 'Prohibited NickNames'; $lang->cmd_manage_form = 'Signup Form'; -$lang->cmd_view_own_document = 'Written Articles'; +$lang->cmd_view_own_document = 'My Articles'; +$lang->cmd_view_own_comment = 'My Comments'; $lang->cmd_view_active_logins = 'Active Logins'; $lang->cmd_manage_member_info = 'Manage Member Info'; $lang->cmd_trace_document = 'Trace Written Articles'; diff --git a/modules/member/lang/ko.php b/modules/member/lang/ko.php index a7b604339..2d5201266 100644 --- a/modules/member/lang/ko.php +++ b/modules/member/lang/ko.php @@ -109,6 +109,7 @@ $lang->cmd_manage_email_host = '이메일 제공자 관리'; $lang->cmd_manage_nick_name = '금지 닉네임 관리'; $lang->cmd_manage_form = '가입 폼 관리'; $lang->cmd_view_own_document = '작성 글 보기'; +$lang->cmd_view_own_comment = '작성 댓글 보기'; $lang->cmd_view_active_logins = '로그인 관리'; $lang->cmd_manage_member_info = '회원 정보 관리'; $lang->cmd_trace_document = '작성글 추적'; diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index dbff06fa8..1f7767c10 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1954,6 +1954,7 @@ class memberController extends member $this->addMemberMenu( 'dispMemberScrappedDocument', 'cmd_view_scrapped_document'); $this->addMemberMenu( 'dispMemberSavedDocument', 'cmd_view_saved_document'); $this->addMemberMenu( 'dispMemberOwnDocument', 'cmd_view_own_document'); + $this->addMemberMenu( 'dispMemberOwnComment', 'cmd_view_own_comment'); $this->addMemberMenu( 'dispMemberActiveLogins', 'cmd_view_active_logins'); if($config->update_nickname_log == 'Y') { diff --git a/modules/member/member.view.php b/modules/member/member.view.php index e7a1a5427..6cb919464 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -380,6 +380,33 @@ class memberView extends member $this->setTemplateFile('document_list'); } + /** + * @brief Display comments written by the member + */ + function dispMemberOwnComment() + { + $oMemberModel = getModel('member'); + // A message appears if the user is not logged-in + if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged'); + + $logged_info = Context::get('logged_info'); + $member_srl = $logged_info->member_srl; + + $module_srl = Context::get('module_srl'); + Context::set('module_srl',Context::get('selected_module_srl')); + Context::set('search_target','member_srl'); + Context::set('search_keyword',$member_srl); + + $oCommentAdminView = getAdminView('comment'); + $oCommentAdminView->dispCommentAdminList(); + + $oSecurity = new Security(); + $oSecurity->encodeHTML('search_target', 'search_keyword'); + + Context::set('module_srl', $module_srl); + $this->setTemplateFile('comment_list'); + } + /** * @brief Display documents scrapped by the member */ diff --git a/modules/member/skins/default/comment_list.html b/modules/member/skins/default/comment_list.html new file mode 100644 index 000000000..fcdd074dc --- /dev/null +++ b/modules/member/skins/default/comment_list.html @@ -0,0 +1,37 @@ + +

{$member_title = $lang->cmd_view_own_comment }

+ + + + + + + + + + + + + + + + +
+ Total: {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)} + + {$lang->cmd_find_module} + {$lang->cmd_cancel} + +
{$lang->no}{$lang->content}{$lang->date}
{$no} + {$comment->getSummary() ?: $lang->msg_no_text_comment} + {$comment->getRegdate("Y-m-d")}
+ + diff --git a/modules/member/skins/simple_world/comment_list.html b/modules/member/skins/simple_world/comment_list.html new file mode 100644 index 000000000..ac923f484 --- /dev/null +++ b/modules/member/skins/simple_world/comment_list.html @@ -0,0 +1,37 @@ + +
+

{$member_title = lang('member.cmd_view_own_comment')}

+
+ {lang('common.total')}: {number_format($total_count)} +
+ +
+ + + From 00850bc95d9e9d7afb8446cf2bfad37b556118c7 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 11 Feb 2017 15:36:33 +0900 Subject: [PATCH 2/2] Add admin screen to choose which member menu items to display --- modules/member/conf/module.xml | 2 + modules/member/lang/en.php | 2 + modules/member/lang/ko.php | 2 + modules/member/member.admin.controller.php | 27 +++++++++++ modules/member/member.admin.view.php | 10 ++++ modules/member/member.controller.php | 31 +++++++++---- modules/member/tpl/features_config.html | 53 ++++++++++++++++++++++ modules/member/tpl/header.html | 3 +- 8 files changed, 120 insertions(+), 10 deletions(-) create mode 100644 modules/member/tpl/features_config.html diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 8039694d7..9346a2a83 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -27,6 +27,7 @@ + @@ -77,6 +78,7 @@ + diff --git a/modules/member/lang/en.php b/modules/member/lang/en.php index 3cc33227e..18a20a543 100644 --- a/modules/member/lang/en.php +++ b/modules/member/lang/en.php @@ -1,6 +1,8 @@ member = 'Member'; $lang->site = 'Site'; +$lang->member_default_config = 'Basic Settings'; +$lang->member_features_config = 'Features'; $lang->member_default_info = 'Basic Info'; $lang->member_extend_info = 'Additional Info'; $lang->default_group_1 = 'Associate Member'; diff --git a/modules/member/lang/ko.php b/modules/member/lang/ko.php index 2d5201266..9bb0f2644 100644 --- a/modules/member/lang/ko.php +++ b/modules/member/lang/ko.php @@ -1,6 +1,8 @@ member = '회원'; $lang->site = '사이트'; +$lang->member_default_config = '기본 설정'; +$lang->member_features_config = '기능 설정'; $lang->member_default_info = '기본 정보'; $lang->member_extend_info = '추가 정보'; $lang->default_group_1 = '준회원'; diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 0bccf4ddf..eabf4f340 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -205,6 +205,33 @@ class memberAdminController extends member $this->setRedirectUrl($returnUrl); } + public function procMemberAdminInsertFeaturesConfig() + { + $config = getModel('member')->getMemberConfig(); + $config->features = array(); + + $args = Context::gets( + 'scrapped_documents', + 'saved_documents', + 'my_documents', + 'my_comments', + 'active_logins' + ); + foreach ($args as $key => $value) + { + $config->features[$key] = toBool($value); + } + + $oModuleController = getController('module'); + $output = $oModuleController->updateModuleConfig('member', $config); + + // default setting end + $this->setMessage('success_updated'); + + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminFeaturesConfig'); + $this->setRedirectUrl($returnUrl); + } + public function procMemberAdminInsertSignupConfig() { $oMemberModel = getModel('member'); diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index b57be7f3a..fa07e8f48 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -135,6 +135,16 @@ class memberAdminView extends member $this->setTemplateFile('default_config'); } + /** + * Set the features config. + * + * @return void + */ + public function dispMemberAdminFeaturesConfig() + { + $this->setTemplateFile('features_config'); + } + public function dispMemberAdminSignUpConfig() { $config = $this->memberConfig; diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 6a24fb241..ce6f25cce 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1912,9 +1912,6 @@ class memberController extends member */ function setSessionInfo() { - $oMemberModel = getModel('member'); - $config = $oMemberModel->getMemberConfig(); - // If your information came through the current session information to extract information from the users if(!$this->memberInfo && Rhymix\Framework\Session::getMemberSrl()) { @@ -1950,13 +1947,29 @@ class memberController extends member Context::set('logged_info', $this->memberInfo); // Only the menu configuration of the user (such as an add-on to the menu can be changed) + $config = getModel('member')->getMemberConfig(); $this->addMemberMenu( 'dispMemberInfo', 'cmd_view_member_info'); - $this->addMemberMenu( 'dispMemberScrappedDocument', 'cmd_view_scrapped_document'); - $this->addMemberMenu( 'dispMemberSavedDocument', 'cmd_view_saved_document'); - $this->addMemberMenu( 'dispMemberOwnDocument', 'cmd_view_own_document'); - $this->addMemberMenu( 'dispMemberOwnComment', 'cmd_view_own_comment'); - $this->addMemberMenu( 'dispMemberActiveLogins', 'cmd_view_active_logins'); - if($config->update_nickname_log == 'Y') + if ($config->features['scrapped_documents'] !== false) + { + $this->addMemberMenu( 'dispMemberScrappedDocument', 'cmd_view_scrapped_document'); + } + if ($config->features['saved_documents'] !== false) + { + $this->addMemberMenu( 'dispMemberSavedDocument', 'cmd_view_saved_document'); + } + if ($config->features['my_documents'] !== false) + { + $this->addMemberMenu( 'dispMemberOwnDocument', 'cmd_view_own_document'); + } + if ($config->features['my_comments'] !== false) + { + $this->addMemberMenu( 'dispMemberOwnComment', 'cmd_view_own_comment'); + } + if ($config->features['active_logins'] !== false) + { + $this->addMemberMenu( 'dispMemberActiveLogins', 'cmd_view_active_logins'); + } + if ($config->features['nickname_log'] !== false && $config->update_nickname_log == 'Y') { $this->addMemberMenu( 'dispMemberModifyNicknameLog', 'cmd_modify_nickname_log'); } diff --git a/modules/member/tpl/features_config.html b/modules/member/tpl/features_config.html new file mode 100644 index 000000000..30ace3347 --- /dev/null +++ b/modules/member/tpl/features_config.html @@ -0,0 +1,53 @@ + + +
+ + + + +
+
{$lang->cmd_view_scrapped_document}
+
+ + +
+
+
+
{$lang->cmd_view_saved_document}
+
+ + +
+
+
+
{$lang->cmd_view_own_document}
+
+ + +
+
+
+
{$lang->cmd_view_own_comment}
+
+ + +
+
+
+
{$lang->cmd_view_active_logins}
+
+ + +
+
+
+
{$lang->cmd_modify_nickname_log}
+
+ + +
+
+
+ +
+
diff --git a/modules/member/tpl/header.html b/modules/member/tpl/header.html index cf2d0a07e..a57ffdf2a 100644 --- a/modules/member/tpl/header.html +++ b/modules/member/tpl/header.html @@ -6,7 +6,8 @@

{$XE_VALIDATOR_MESSAGE}