diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml
index 82e08734e..549c2bb61 100644
--- a/modules/member/conf/module.xml
+++ b/modules/member/conf/module.xml
@@ -41,6 +41,7 @@
+
diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php
index 954446ba0..d8d6cbbcf 100644
--- a/modules/member/lang/ko.lang.php
+++ b/modules/member/lang/ko.lang.php
@@ -73,6 +73,9 @@
$lang->cmd_view_message_box = '쪽지함 보기';
$lang->cmd_store = "보관";
+ $lang->msg_cart_is_null = '삭제할 쪽지를 선택해주세요';
+ $lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다';
+
$lang->msg_new_member = '회원 추가';
$lang->msg_update_member = '회원 정보 수정';
$lang->msg_group_is_null = '등록된 그룹이 없습니다';
diff --git a/modules/member/member.class.php b/modules/member/member.class.php
index b4c5df11f..13f862551 100644
--- a/modules/member/member.class.php
+++ b/modules/member/member.class.php
@@ -51,6 +51,7 @@
$oModuleController->insertActionForward('member', 'controller', 'procMemberSendMessage');
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteMessage');
+ $oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteMessages');
$oModuleController->insertActionForward('member', 'controller', 'procMemberAddFriend');
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteFriend');
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 47f1055ae..1537f5399 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -121,7 +121,6 @@
$this->setMessage('success_registed');
}
-
/**
* @brief 쪽지 삭제
**/
@@ -155,6 +154,47 @@
$this->setMessage('success_deleted');
}
+ /**
+ * @brief 선택된 다수의 쪽지 삭제
+ **/
+ function procMemberDeleteMessages() {
+ // 로그인 정보 체크
+ if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
+ $logged_info = Context::get('logged_info');
+ $member_srl = $logged_info->member_srl;
+
+ // 변수 체크
+ $message_srl_list = trim(Context::get('message_srl_list'));
+ if(!$message_srl_list) return new Object(-1, 'msg_cart_is_null');
+
+ $message_srl_list = explode('|@|', $message_srl_list);
+ if(!count($message_srl_list)) return new Object(-1, 'msg_cart_is_null');
+
+ $message_type = Context::get('message_type');
+ if(!$message_type || !in_array($message_type, array('R','S','T'))) return new Object(-1, 'msg_invalid_request');
+
+ $message_count = count($message_srl_list);
+ $target = array();
+ for($i=0;$i<$message_count;$i++) {
+ $message_srl = (int)trim($message_srl_list[$i]);
+ if(!$message_srl) continue;
+ $target[] = $message_srl;
+ }
+ if(!count($target)) return new Object(-1,'msg_cart_is_null');
+
+ // 삭제
+ $args->message_srls = implode(',',$target);
+ $args->message_type = $message_type;
+
+ if($message_type == 'S') $args->sender_srl = $member_srl;
+ else $args->receiver_srl = $member_srl;
+
+ $output = executeQuery('member.deleteMessages', $args);
+ if(!$output->toBool()) return $output;
+
+ $this->setMessage('success_deleted');
+ }
+
/**
* @brief 친구 추가
**/
diff --git a/modules/member/queries/deleteMessages.xml b/modules/member/queries/deleteMessages.xml
new file mode 100644
index 000000000..579d0c329
--- /dev/null
+++ b/modules/member/queries/deleteMessages.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/member/skins/default/filter/delete_checked_message.xml b/modules/member/skins/default/filter/delete_checked_message.xml
new file mode 100644
index 000000000..93c79a67c
--- /dev/null
+++ b/modules/member/skins/default/filter/delete_checked_message.xml
@@ -0,0 +1 @@
+
diff --git a/modules/member/skins/default/member_messages.html b/modules/member/skins/default/member_messages.html
index 7c1114b82..0a13a20fc 100644
--- a/modules/member/skins/default/member_messages.html
+++ b/modules/member/skins/default/member_messages.html
@@ -1,3 +1,4 @@
+
@@ -47,7 +48,8 @@
-