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..9346a2a83 100644
--- a/modules/member/conf/module.xml
+++ b/modules/member/conf/module.xml
@@ -14,6 +14,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -76,6 +78,7 @@
+
diff --git a/modules/member/lang/en.php b/modules/member/lang/en.php
index a13cd0041..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';
@@ -106,7 +108,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..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 = '준회원';
@@ -109,6 +111,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.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 31c70ea1a..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,12 +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( '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/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 }
+
+
+
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)}
+
+
+
+
+
+
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 @@
+
+
+
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}