mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 03:01:43 +09:00
잘못 추가한 파일 제거.
This commit is contained in:
parent
932862be1f
commit
eeac13ed90
1 changed files with 0 additions and 650 deletions
650
krzip.patch
650
krzip.patch
|
|
@ -1,650 +0,0 @@
|
|||
diff --git a/common/lang/lang.xml b/common/lang/lang.xml
|
||||
index 6bba46e..fdad62d 100644
|
||||
--- a/common/lang/lang.xml
|
||||
+++ b/common/lang/lang.xml
|
||||
@@ -3272,6 +3272,10 @@
|
||||
<value xml:lang="tr"><![CDATA[Güncellemek istediğinize emin misiniz?]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Bạn chắc chắn muốn Update?]]></value>
|
||||
</item>
|
||||
+ <item name="confirm_process">
|
||||
+ <value xml:lang="ko"><![CDATA[처리하시겠습니까?]]></value>
|
||||
+ <value xml:lang="en"><![CDATA[Are you sure you want to process?]]></value>
|
||||
+ </item>
|
||||
<item name="column_type">
|
||||
<value xml:lang="ko"><![CDATA[형식]]></value>
|
||||
<value xml:lang="en"><![CDATA[Column Type]]></value>
|
||||
diff --git a/modules/comment/comment.model.php b/modules/comment/comment.model.php
|
||||
index 095085a..21c26e2 100644
|
||||
--- a/modules/comment/comment.model.php
|
||||
+++ b/modules/comment/comment.model.php
|
||||
@@ -1054,6 +1054,46 @@ class commentModel extends comment
|
||||
}
|
||||
}
|
||||
|
||||
+ /**
|
||||
+ * Get the total number of comments in corresponding with member_srl.
|
||||
+ * @param int $member_srl
|
||||
+ * @return int
|
||||
+ */
|
||||
+ function getCommentCountByMemberSrl($member_srl)
|
||||
+ {
|
||||
+ $args = new stdClass();
|
||||
+ $args->member_srl = $member_srl;
|
||||
+ $output = executeQuery('comment.getCommentCountByMemberSrl', $args);
|
||||
+ $total_count = $output->data->count;
|
||||
+
|
||||
+ return (int) $total_count;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ /**
|
||||
+ * Get comment list of the doc in corresponding woth member_srl.
|
||||
+ * @param int $member_srl
|
||||
+ * @param array $columnList
|
||||
+ * @param int $page
|
||||
+ * @param bool $is_admin
|
||||
+ * @param int $count
|
||||
+ * @return object
|
||||
+ */
|
||||
+ function getCommentListByMemberSrl($member_srl, $columnList = array(), $page = 0, $is_admin = FALSE, $count = 0)
|
||||
+ {
|
||||
+ $args = new stdClass();
|
||||
+ $args->member_srl = $member_srl;
|
||||
+ $args->list_count = $count;
|
||||
+ $output = executeQuery('comment.getCommentListByMemberSrl', $args, $columnList);
|
||||
+ $comment_list = $output->data;
|
||||
+
|
||||
+ if(!$comment_list) return;
|
||||
+ if(!is_array($comment_list)) $comment_list = array($comment_list);
|
||||
+
|
||||
+ return $comment_list;
|
||||
+
|
||||
+ }
|
||||
+
|
||||
}
|
||||
/* End of file comment.model.php */
|
||||
/* Location: ./modules/comment/comment.model.php */
|
||||
diff --git a/modules/comment/queries/getCommentCountByMemberSrl.xml b/modules/comment/queries/getCommentCountByMemberSrl.xml
|
||||
new file mode 100644
|
||||
index 0000000..f81db46
|
||||
--- /dev/null
|
||||
+++ b/modules/comment/queries/getCommentCountByMemberSrl.xml
|
||||
@@ -0,0 +1,11 @@
|
||||
+<query id="getCommentCountByMemberSrl" action="select">
|
||||
+ <tables>
|
||||
+ <table name="comments" />
|
||||
+ </tables>
|
||||
+ <columns>
|
||||
+ <column name="count(*)" alias="count" />
|
||||
+ </columns>
|
||||
+ <conditions>
|
||||
+ <condition operation="equal" column="member_srl" var="member_srl" filter="number" notnull="notnull" />
|
||||
+ </conditions>
|
||||
+</query>
|
||||
diff --git a/modules/comment/queries/getCommentListByMemberSrl.xml b/modules/comment/queries/getCommentListByMemberSrl.xml
|
||||
new file mode 100644
|
||||
index 0000000..6d8c680
|
||||
--- /dev/null
|
||||
+++ b/modules/comment/queries/getCommentListByMemberSrl.xml
|
||||
@@ -0,0 +1,19 @@
|
||||
+<query id="getCommentList" action="select">
|
||||
+ <tables>
|
||||
+ <table name="comments" />
|
||||
+ </tables>
|
||||
+ <columns>
|
||||
+ <column name="comment_srl" />
|
||||
+ <column name="parent_srl" />
|
||||
+ <column name="regdate" />
|
||||
+ </columns>
|
||||
+ <conditions>
|
||||
+ <condition operation="equal" column="member_srl" var="member_srl" filter="number" notnull="notnull" />
|
||||
+ </conditions>
|
||||
+ <navigation>
|
||||
+ <index var="list_order" default="list_order" order="asc" />
|
||||
+ <list_count var="list_count" default="20" />
|
||||
+ <page_count var="page_count" default="10" />
|
||||
+ <page var="page" default="1" />
|
||||
+ </navigation>
|
||||
+</query>
|
||||
diff --git a/modules/document/document.model.php b/modules/document/document.model.php
|
||||
index 94840fc..b8938eb 100644
|
||||
--- a/modules/document/document.model.php
|
||||
+++ b/modules/document/document.model.php
|
||||
@@ -1490,6 +1490,44 @@ class documentModel extends document
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Get the total number of Document in corresponding with member_srl.
|
||||
+ * @param int $member_srl
|
||||
+ * @return int
|
||||
+ */
|
||||
+ function getDocumentCountByMemberSrl($member_srl)
|
||||
+ {
|
||||
+ $args = new stdClass();
|
||||
+ $args->member_srl = $member_srl;
|
||||
+ $output = executeQuery('document.getDocumentCountByMemberSrl', $args);
|
||||
+ $total_count = $output->data->count;
|
||||
+
|
||||
+ return (int) $total_count;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Get document list of the doc in corresponding woth member_srl.
|
||||
+ * @param int $member_srl
|
||||
+ * @param array $columnList
|
||||
+ * @param int $page
|
||||
+ * @param bool $is_admin
|
||||
+ * @param int $count
|
||||
+ * @return object
|
||||
+ */
|
||||
+ function getDocumentListByMemberSrl($member_srl, $columnList = array(), $page = 0, $is_admin = FALSE, $count = 0 )
|
||||
+ {
|
||||
+ $args = new stdClass();
|
||||
+ $args->member_srl = $member_srl;
|
||||
+ $args->list_count = $count;
|
||||
+ $output = executeQuery('document.getDocumentListByMemberSrl', $args, $columnList);
|
||||
+ $document_list = $output->data;
|
||||
+
|
||||
+ if(!$document_list) return;
|
||||
+ if(!is_array($document_list)) $document_list = array($document_list);
|
||||
+
|
||||
+ return $document_list;
|
||||
+ }
|
||||
}
|
||||
/* End of file document.model.php */
|
||||
/* Location: ./modules/document/document.model.php */
|
||||
diff --git a/modules/document/document.view.php b/modules/document/document.view.php
|
||||
index 788708b..497050d 100644
|
||||
--- a/modules/document/document.view.php
|
||||
+++ b/modules/document/document.view.php
|
||||
@@ -176,6 +176,7 @@ class documentView extends document
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('saved_list_popup');
|
||||
}
|
||||
+
|
||||
}
|
||||
/* End of file document.view.php */
|
||||
/* Location: ./modules/document/document.view.php */
|
||||
diff --git a/modules/document/queries/getDocumentCountByMemberSrl.xml b/modules/document/queries/getDocumentCountByMemberSrl.xml
|
||||
new file mode 100644
|
||||
index 0000000..ed457fb
|
||||
--- /dev/null
|
||||
+++ b/modules/document/queries/getDocumentCountByMemberSrl.xml
|
||||
@@ -0,0 +1,11 @@
|
||||
+<query id="getDocumentCountByMemberSrl" action="select">
|
||||
+ <tables>
|
||||
+ <table name="documents" />
|
||||
+ </tables>
|
||||
+ <columns>
|
||||
+ <column name="count(*)" alias="count" />
|
||||
+ </columns>
|
||||
+ <conditions>
|
||||
+ <condition operation="equal" column="member_srl" var="member_srl" filter="number" notnull="notnull" />
|
||||
+ </conditions>
|
||||
+</query>
|
||||
diff --git a/modules/document/queries/getDocumentListByMemberSrl.xml b/modules/document/queries/getDocumentListByMemberSrl.xml
|
||||
new file mode 100644
|
||||
index 0000000..49e8035
|
||||
--- /dev/null
|
||||
+++ b/modules/document/queries/getDocumentListByMemberSrl.xml
|
||||
@@ -0,0 +1,17 @@
|
||||
+<query id="getDocumentList" action="select">
|
||||
+ <tables>
|
||||
+ <table name="documents" />
|
||||
+ </tables>
|
||||
+ <columns>
|
||||
+ <column name="*" />
|
||||
+ </columns>
|
||||
+ <conditions>
|
||||
+ <condition operation="equal" column="member_srl" var="member_srl" filter="number" notnull="notnull" />
|
||||
+ </conditions>
|
||||
+ <navigation>
|
||||
+ <index var="list_order" default="list_order" order="asc" />
|
||||
+ <list_count var="list_count" default="20" />
|
||||
+ <page_count var="page_count" default="10" />
|
||||
+ <page var="page" default="1" />
|
||||
+ </navigation>
|
||||
+</query>
|
||||
diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml
|
||||
index 5cbe433..a2f7f2b 100644
|
||||
--- a/modules/member/conf/module.xml
|
||||
+++ b/modules/member/conf/module.xml
|
||||
@@ -20,6 +20,7 @@
|
||||
<action name="dispMemberGetTempPassword" type="view" />
|
||||
<action name="dispMemberResendAuthMail" type="view" />
|
||||
<action name="dispSavedDocumentList" type="view" />
|
||||
+ <action name="dispMemberSpammer" type="view" />
|
||||
|
||||
<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" /-->
|
||||
@@ -68,6 +69,7 @@
|
||||
<action name="procMemberUpdateAuthMail" type="controller" />
|
||||
<action name="procMemberResendAuthMail" type="controller" ruleset="resendAuthMail" />
|
||||
<action name="procMemberResetAuthMail" type="controller" ruleset="resetAuthMail" />
|
||||
+ <action name="procMemberSpammerManage" type="controller" />
|
||||
|
||||
<action name="procMemberAdminInsert" type="controller" ruleset="insertAdminMember" />
|
||||
<action name="procMemberAdminDelete" type="controller" />
|
||||
diff --git a/modules/member/lang/lang.xml b/modules/member/lang/lang.xml
|
||||
index 0a9eced..d5524e7 100644
|
||||
--- a/modules/member/lang/lang.xml
|
||||
+++ b/modules/member/lang/lang.xml
|
||||
@@ -2619,5 +2619,16 @@
|
||||
<value xml:lang="en"><![CDATA[Address information does not exist.]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[加入会员后要移动的情报不存在]]></value>
|
||||
</item>
|
||||
-
|
||||
+ <item name="cmd_spammer">
|
||||
+ <value xml:lang="ko"><![CDATA[스패머 관리]]></value>
|
||||
+ <value xml:lang="en"><![CDATA[Spam User Manage]]></value>
|
||||
+ </item>
|
||||
+ <item name="spammer_description">
|
||||
+ <value xml:lang="ko"><![CDATA[<p>스팸 작성자 차단/삭제 및 회원이 남긴 글과 댓글을 모두 휴지통 이동 또는 삭제 합니다. 이 처리는 회원이 작성한 게시물의 양에 따라 오래걸릴 수 있습니다. </p>]]></value>
|
||||
+ <value xml:lang="en"><![CDATA[<p>Spam user management. This function remove all of documents, comments</p>]]></value>
|
||||
+ </item>
|
||||
+ <item name="spammer_btn">
|
||||
+ <value xml:lang="ko"><![CDATA[데이터 삭제]]></value>
|
||||
+ <value xml:lang="en"><![CDATA[DELETE DATA]]></value>
|
||||
+ </item>
|
||||
</lang>
|
||||
diff --git a/modules/member/member.class.php b/modules/member/member.class.php
|
||||
index e7bde82..86f7059 100644
|
||||
--- a/modules/member/member.class.php
|
||||
+++ b/modules/member/member.class.php
|
||||
@@ -144,6 +144,9 @@ class member extends ModuleObject {
|
||||
FileHandler::makeDir('./files/member_extra_info/profile_image');
|
||||
FileHandler::makeDir('./files/member_extra_info/signature');
|
||||
|
||||
+ // 2013. 11. 22 add menu when popup document menu called
|
||||
+ $oModuleController->insertTrigger('document.getDocumentMenu', 'member', 'controller', 'triggerGetDocumentMenu', 'after');
|
||||
+
|
||||
return new Object();
|
||||
}
|
||||
|
||||
@@ -208,6 +211,9 @@ class member extends ModuleObject {
|
||||
if(!is_readable('./files/ruleset/login.xml')) return true;
|
||||
if(!is_readable('./files/ruleset/find_member_account_by_question.xml')) return true;
|
||||
|
||||
+ // 2013. 11. 22 add menu when popup document menu called
|
||||
+ if(!$oModuleModel->getTrigger('document.getDocumentMenu', 'member', 'controller', 'triggerGetDocumentMenu', 'after')) return true;
|
||||
+
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -345,6 +351,10 @@ class member extends ModuleObject {
|
||||
if(!is_readable('./files/ruleset/find_member_account_by_question.xml'))
|
||||
$oMemberAdminController->_createFindAccountByQuestion($config->identifier);
|
||||
|
||||
+ // 2013. 11. 22 add menu when popup document menu called
|
||||
+ if(!$oModuleModel->getTrigger('document.getDocumentMenu', 'member', 'controller', 'triggerGetDocumentMenu', 'after'))
|
||||
+ $oModuleController->insertTrigger('document.getDocumentMenu', 'member', 'controller', 'triggerGetDocumentMenu', 'after');
|
||||
+
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
|
||||
index 6a4d769..af0331c 100644
|
||||
--- a/modules/member/member.controller.php
|
||||
+++ b/modules/member/member.controller.php
|
||||
@@ -2354,6 +2354,186 @@ class memberController extends member
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('msg_success_modify_email_address');
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * trigger for document.getDocumentMenu. Append to popup menu a button for procMemberSpammerManage()
|
||||
+ *
|
||||
+ * @param array &$menu_list
|
||||
+ *
|
||||
+ * @return object
|
||||
+ **/
|
||||
+ function triggerGetDocumentMenu(&$menu_list)
|
||||
+ {
|
||||
+ $is_logged = Context::get('is_logged');
|
||||
+ $logged_info = Context::get('logged_info');
|
||||
+
|
||||
+
|
||||
+ $document_srl = Context::get('target_srl');
|
||||
+
|
||||
+ $oDocumentModel = &getModel('document');
|
||||
+ $columnList = array('document_srl', 'module_srl', 'member_srl', 'ipaddress');
|
||||
+ $oDocument = $oDocumentModel->getDocument($document_srl, false, false, $columnList);
|
||||
+ $member_srl = $oDocument->get('member_srl');
|
||||
+ $module_srl = $oDocument->get('module_srl');
|
||||
+
|
||||
+ if(!$member_srl) return new Object();
|
||||
+ if(!$is_logged) return new Object();
|
||||
+ if($oDocumentModel->grant->manager != 1 || $member_srl==$logged_info->member_srl) return new Object();
|
||||
+
|
||||
+ $oDocumentController = &getController('document');
|
||||
+ $url = getUrl('','module','member','act','dispMemberSpammer','member_srl',$member_srl,'module_srl',$module_srl);
|
||||
+ $oDocumentController->addDocumentPopupMenu($url,'cmd_spammer','','popup');
|
||||
+
|
||||
+ return new Object();
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Spammer manage. Denied user login. And delete or trash all documents. Response Ajax string
|
||||
+ *
|
||||
+ * @return object
|
||||
+ **/
|
||||
+ function procMemberSpammerManage()
|
||||
+ {
|
||||
+ $logged_info = Context::get('logged_info');
|
||||
+ $member_srl = Context::get('member_srl');
|
||||
+ $module_srl = Context::get('module_srl');
|
||||
+ $cnt_loop = Context::get('cnt_loop');
|
||||
+ $proc_type = Context::get('proc_type');
|
||||
+ $isMoveToTrash = true;
|
||||
+ if($proc_type == "delete")
|
||||
+ $isMoveToTrash = false;
|
||||
+
|
||||
+ // check grant
|
||||
+ $oModuleModel = &getModel('module');
|
||||
+ $columnList = array('module_srl', 'module');
|
||||
+ $args = new stdClass();
|
||||
+ $args->module_srl = $module_srl;
|
||||
+ $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl, $columnList);
|
||||
+ $grant = $oModuleModel->getGrant($module_info, $logged_info);
|
||||
+
|
||||
+ if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted');
|
||||
+ if(!$grant->manager) return new Object(-1,'msg_not_permitted');
|
||||
+
|
||||
+ $proc_msg = "";
|
||||
+
|
||||
+ $oDocumentController = &getController('document');
|
||||
+ $oDocumentModel = &getModel('document');
|
||||
+ $oCommentController = &getController('comment');
|
||||
+ $oCommentModel = &getModel('comment');
|
||||
+
|
||||
+ // delete or trash destination
|
||||
+ // proc member
|
||||
+ if($cnt_loop == 1)
|
||||
+ {
|
||||
+ $this->_spammerMember($member_srl);
|
||||
+ }
|
||||
+ // proc document and comment
|
||||
+ elseif($cnt_loop>1)
|
||||
+ {
|
||||
+ $this->_spammerDocuments($member_srl, $isMoveToTrash);
|
||||
+ }
|
||||
+
|
||||
+ // get destination count
|
||||
+ $cnt_document = $oDocumentModel->getDocumentCountByMemberSrl($member_srl);
|
||||
+ $cnt_comment = $oCommentModel->getCommentCountByMemberSrl($member_srl);
|
||||
+
|
||||
+ $total_count = Context::get('total_count');
|
||||
+ $remain_count = $cnt_document + $cnt_comment;
|
||||
+ if($cnt_loop == 1) {
|
||||
+ $total_count = $remain_count;
|
||||
+ }
|
||||
+
|
||||
+ // get progress percent
|
||||
+ if( $total_count > 0 )
|
||||
+ $progress = intval( ( ( $total_count - $remain_count ) / $total_count ) * 100 );
|
||||
+ else
|
||||
+ $progress = 100;
|
||||
+
|
||||
+ $this->add('total_count', $total_count);
|
||||
+ $this->add('remain_count', $remain_count);
|
||||
+ $this->add('progress', $progress);
|
||||
+ $this->add('member_srl', $member_srl);
|
||||
+ $this->add('module_srl', $module_srl);
|
||||
+ $this->add('cnt_loop', ++$cnt_loop);
|
||||
+ $this->add('proc_type', $proc_type);
|
||||
+
|
||||
+ $this->add( "retdata", $arrJson);
|
||||
+ return new Object(0);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Denied user login and write description
|
||||
+ *
|
||||
+ * @param int $member_srl
|
||||
+ *
|
||||
+ * @return bool
|
||||
+ **/
|
||||
+ private function _spammerMember($member_srl) {
|
||||
+ $logged_info = Context::get('logged_info');
|
||||
+ $spam_description = Context::get('spam_description');
|
||||
+
|
||||
+ $oMemberModel = &getModel('member');
|
||||
+ $columnList = array();
|
||||
+ // get member current infomation
|
||||
+ $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList);
|
||||
+ // set change infomations
|
||||
+ $member_info->denied = "Y";
|
||||
+
|
||||
+ if( $member_info->description != "" ) $member_info->description .= "\n"; // add new line
|
||||
+ $member_info->description .= Context::getLang('cmd_spammer') . "[" . date("Y-m-d H:i:s") . " from:" . $logged_info->user_id . " info:" . $spam_description . "]";
|
||||
+
|
||||
+ $oMemberController = &getController('member');
|
||||
+ $output = executeQuery('member.updateMember', $member_info);
|
||||
+ $proc_msg .= "member info updated\t";
|
||||
+
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Delete or trash all documents
|
||||
+ *
|
||||
+ * @param int $member_srl
|
||||
+ * @param bool $isMoveToTrash
|
||||
+ *
|
||||
+ * @return bool
|
||||
+ **/
|
||||
+ private function _spammerDocuments($member_srl, $isMoveToTrash) {
|
||||
+
|
||||
+ $logged_info = Context::get('logged_info');
|
||||
+
|
||||
+ $oDocumentController = &getController('document');
|
||||
+ $oDocumentModel = &getModel('document');
|
||||
+ $oCommentController = &getController('comment');
|
||||
+ $oCommentModel = &getModel('comment');
|
||||
+
|
||||
+ // delete count by one request
|
||||
+ $getContentsCount = 10;
|
||||
+
|
||||
+ // 1. proc comment, 2. proc document
|
||||
+ $cnt_comment = $oCommentModel->getCommentCountByMemberSrl($member_srl);
|
||||
+ $cnt_document = $oDocumentModel->getDocumentCountByMemberSrl($member_srl);
|
||||
+ if($cnt_comment > 0)
|
||||
+ {
|
||||
+ $columnList = array();
|
||||
+ $commentList = $oCommentModel->getCommentListByMemberSrl($member_srl, $columnList, 0, false, $getContentsCount);
|
||||
+ if($commentList) {
|
||||
+ foreach($commentList as $v) {
|
||||
+ $oCommentController->deleteComment($v->comment_srl, true, $isMoveToTrash);
|
||||
+ }
|
||||
+ }
|
||||
+ } elseif($cnt_document > 0) {
|
||||
+ $columnList = array();
|
||||
+ $documentList = $oDocumentModel->getDocumentListByMemberSrl($member_srl, $columnList, 0, false, $getContentsCount);
|
||||
+ if($documentList) {
|
||||
+ foreach($documentList as $v) {
|
||||
+ if($isMoveToTrash) $oDocumentController->moveDocumentToTrash($v);
|
||||
+ else $oDocumentController->deleteDocument($v->document_srl);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+ }
|
||||
}
|
||||
/* End of file member.controller.php */
|
||||
/* Location: ./modules/member/member.controller.php */
|
||||
diff --git a/modules/member/member.view.php b/modules/member/member.view.php
|
||||
index 380cecf..31c49a7 100644
|
||||
--- a/modules/member/member.view.php
|
||||
+++ b/modules/member/member.view.php
|
||||
@@ -611,6 +611,43 @@ class memberView extends member
|
||||
|
||||
Context::addHtmlHeader($js_code);
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Spammer manage popup
|
||||
+ *
|
||||
+ * @return void
|
||||
+ **/
|
||||
+ function dispMemberSpammer()
|
||||
+ {
|
||||
+ $member_srl = Context::get('member_srl');
|
||||
+ $module_srl = Context::get('module_srl');
|
||||
+
|
||||
+ // check grant
|
||||
+ $oModuleModel = &getModel('module');
|
||||
+ $columnList = array('module_srl', 'module');
|
||||
+ $args = new stdClass();
|
||||
+ $args->module_srl = $module_srl;
|
||||
+ $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl, $columnList);
|
||||
+ $grant = $oModuleModel->getGrant($module_info, Context::get('logged_info'));
|
||||
+
|
||||
+ if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted');
|
||||
+ if(!$grant->manager) return new Object(-1,'msg_not_permitted');
|
||||
+
|
||||
+ $oMemberModel = &getModel('member');
|
||||
+ $spammer_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
||||
+
|
||||
+ Context::loadLang('modules/document/lang/');
|
||||
+ Context::set('spammer_info',$spammer_info);
|
||||
+ Context::set('module_srl',$module_srl);
|
||||
+
|
||||
+ // Select Pop-up layout
|
||||
+ $this->setLayoutPath('./common/tpl');
|
||||
+ $this->setLayoutFile('popup_layout');
|
||||
+
|
||||
+ $this->setTemplatePath($this->module_path.'tpl');
|
||||
+ $this->setTemplateFile('spammer');
|
||||
+ }
|
||||
+
|
||||
}
|
||||
/* End of file member.view.php */
|
||||
/* Location: ./modules/member/member.view.php */
|
||||
diff --git a/modules/member/skins/default/js/member.js b/modules/member/skins/default/js/member.js
|
||||
index 9422cfd..41c8e72 100644
|
||||
--- a/modules/member/skins/default/js/member.js
|
||||
+++ b/modules/member/skins/default/js/member.js
|
||||
@@ -160,3 +160,4 @@ function doDeleteSavedDocument(document_srl, confirm_message) {
|
||||
function insertSelectedModule(id, module_srl, mid, browser_title) {
|
||||
location.href = current_url.setQuery('selected_module_srl',module_srl);
|
||||
}
|
||||
+
|
||||
diff --git a/modules/member/tpl/spammer.html b/modules/member/tpl/spammer.html
|
||||
new file mode 100644
|
||||
index 0000000..d371f0f
|
||||
--- /dev/null
|
||||
+++ b/modules/member/tpl/spammer.html
|
||||
@@ -0,0 +1,110 @@
|
||||
+<!--%import("filter/manage_checked_document.xml")-->
|
||||
+<style type="text/css">
|
||||
+.dot-line {border-bottom:1px dotted #ddd; padding:8px 0;}
|
||||
+.progress-box {visibility:hidden;padding:10px;}
|
||||
+.progress-complete {visibility:hidden;background-color:#EAEAEA;color:#F15F5F;font-weight:bold;text-align:center;padding:3px;}
|
||||
+.progress-cancel {visibility:hidden;background-color:#EAEAEA;color:#F15F5F;font-weight:bold;text-align:center;padding:3px;}
|
||||
+.btn-proc { padding:40px 0; text-align:center;}
|
||||
+</style>
|
||||
+
|
||||
+<div class="x_modal-header">
|
||||
+ <h1>{$lang->cmd_spammer}</h1>
|
||||
+</div>
|
||||
+
|
||||
+<form action="./" method="post" id="fo_management" onsubmit="return false">
|
||||
+<input type="hidden" name="module" value="member" />
|
||||
+<input type="hidden" name="act" value="procMemberSpammerManage" />
|
||||
+<input type="hidden" name="proc_type" value="" />
|
||||
+<input type="hidden" name="member_srl" value="{$spammer_info->member_srl}" />
|
||||
+<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
+<input type="hidden" name="cnt_loop" value="1" />
|
||||
+<div class="x_modal-body x_form-horizontal" style="max-height:none">
|
||||
+ <div class="dot-line">{$lang->description} : {$lang->spammer_description}</div>
|
||||
+ <div class="dot-line">{$lang->nick_name} : <span class="nick_name">{$spammer_info->nick_name}</span></div>
|
||||
+
|
||||
+ <div class="dot-line">
|
||||
+ <p>{$lang->about_member_description}</p>
|
||||
+ <textarea name="spam_description" id="spam_description" cols="400" rows="3" style="width:400px"></textarea>
|
||||
+ </div>
|
||||
+ <div class="btn-proc" >
|
||||
+ <button type="submit" onclick="doSpammerManage( {proc_type:'trash'} )" />{$lang->cmd_trash}</button>
|
||||
+ <button type="submit" onclick="doSpammerManage( {proc_type:'delete'} )" />{$lang->cmd_delete}</button>
|
||||
+ </div>
|
||||
+
|
||||
+ <div class="progress-box">
|
||||
+ <div>Document Count : <span id="document_count"></span> <span id="document_percent"></span></div>
|
||||
+ <div class="x_progress x_progress-striped x_active">
|
||||
+ <div class="x_bar" id="progressBar" style="width: 0%"></div>
|
||||
+ </div>
|
||||
+ <div class="progress-complete">{$lang->cmd_complete}</div>
|
||||
+ <div class-"cancel"><button type="button" onclick="cancelSpammerManage();">{$lang->cmd_cancel}</button></div>
|
||||
+ </div>
|
||||
+ <div class="progress-cancel dot-line">{$lang->success_declare_canceled}</div>
|
||||
+</div>
|
||||
+</form>
|
||||
+<script type="text/javascript">
|
||||
+var bSpammerManageProc = true;
|
||||
+var f = jQuery('#fo_management').get(0);
|
||||
+function doSpammerManage( args ) {
|
||||
+ if( args.cnt_loop == undefined ) {
|
||||
+ if(!confirm('{$lang->confirm_process}')) return false;
|
||||
+
|
||||
+ // reset form
|
||||
+ f.proc_type.value = args.proc_type;
|
||||
+ f.cnt_loop.value = 1;
|
||||
+
|
||||
+ bSpammerManageProc = true;
|
||||
+ args.member_srl = f.member_srl.value;
|
||||
+ args.module_srl = f.module_srl.value;
|
||||
+ args.cnt_loop = f.cnt_loop.value;
|
||||
+ args.spam_description = f.spam_description.value;
|
||||
+ args.proc_type = f.proc_type.value;
|
||||
+
|
||||
+ jQuery('.progress-box').css('visibility','visible');
|
||||
+ jQuery('.progress-cancel').css('visibility','hidden');
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ jQuery.exec_json( f.module.value + '.' + f.act.value, args, progressSpammerManage );
|
||||
+
|
||||
+ return false; // don't page move
|
||||
+}
|
||||
+
|
||||
+function progressSpammerManage( data ) {
|
||||
+
|
||||
+
|
||||
+ setTimeout( function() {
|
||||
+ if( data.total_count != undefined && parseInt( data.total_count ) > 0 ) {
|
||||
+ var doc_count = parseInt( data.total_count ) - parseInt( data.remain_count );
|
||||
+ jQuery('#document_count').html( doc_count + "/" + data.total_count );
|
||||
+ jQuery('#document_percent').html(data.progress + "%");
|
||||
+ }
|
||||
+ jQuery('#progressBar').width(data.progress + "%");
|
||||
+ if(data.remain_count <= 0) {
|
||||
+ jQuery('.progress-complete').css('visibility','visible');
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ var args = data;
|
||||
+ f.cnt_loop.value = data.cnt_loop;
|
||||
+
|
||||
+ if( bSpammerManageProc == false ) {
|
||||
+ jQuery('.progress-box').css('visibility','hidden');
|
||||
+ jQuery('.progress-cancel').css('visibility','visible');
|
||||
+
|
||||
+ // reset progress values
|
||||
+ jQuery('#document_count').html("");
|
||||
+ jQuery('#document_percent').html("");
|
||||
+ jQuery('#progressBar').width("0%");
|
||||
+
|
||||
+ return;
|
||||
+ }
|
||||
+ doSpammerManage( args );
|
||||
+
|
||||
+ }, 500 );
|
||||
+}
|
||||
+
|
||||
+function cancelSpammerManage() {
|
||||
+ bSpammerManageProc = false;
|
||||
+}
|
||||
+</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue