diff --git a/addons/member_extra_info/member_extra_info.addon.php b/addons/member_extra_info/member_extra_info.addon.php
index 580e74d7d..0a6a4e26f 100644
--- a/addons/member_extra_info/member_extra_info.addon.php
+++ b/addons/member_extra_info/member_extra_info.addon.php
@@ -1,5 +1,5 @@
내용 를 찾아서 member_controller::transSignature()를 이용해서 서명을 추가
$output = preg_replace_callback('!
]*)document_([0-9]*)([^\>]*)>(.*?)\<\/div\>!is', array($oMemberController, 'transSignature'), $output);
+ /**
+ * 3 기능 수행 : 시작할때 새쪽지가 왔는지 검사
+ * 조건 : called_position = 'before_module_init', act != 'dispMemberNewMessage'
+ **/
+ } elseif($called_position == 'before_module_init' && $this->act != 'dispMemberNewMessage' && Context::get('is_logged') ) {
+
+ // 로그인된 사용자 정보를 구함
+ $logged_info = Context::get('logged_info');
+
+ $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($logged_info->member_srl);
+ $flag_file = sprintf('%s%s', $flag_path, $logged_info->member_srl);
+
+ // 새로운 쪽지에 대한 플래그가 있으면 쪽지 보기 팝업 띄움
+ if(file_exists($flag_file)) {
+ Context::addHtmlHeader( sprintf('', './?module=member&act=dispMemberNewMessage') );
+ }
+
/**
* 4,5 기능 수행 : 사용자 이름을 클릭시 요청되는 MemberModel::getMemberMenu 후에 $menu_list에 쪽지 발송, 친구추가등의 링크 추가
* 조건 : called_position == 'after_module_proc', module = 'member', act = 'getMemberMenu'
diff --git a/addons/naver_search/naver_search.addon.php b/addons/naver_search/naver_search.addon.php
index 99208d1bd..29032ad05 100644
--- a/addons/naver_search/naver_search.addon.php
+++ b/addons/naver_search/naver_search.addon.php
@@ -1,5 +1,5 @@
!is', array($this, '_compileImportCode'), $buff);
// 파일에 쓰기 전에 직접 호출되는 것을 방지
- $buff = sprintf('%s%s%s','',"\n",$buff);
+ $buff = sprintf('%s%s%s','',"\n",$buff);
// 컴파일된 코드를 파일에 저장
FileHandler::writeFile($compiled_tpl_file, $buff);
diff --git a/classes/xml/XmlQueryParser.class.php b/classes/xml/XmlQueryParser.class.php
index 449443efb..8ec3c2577 100644
--- a/classes/xml/XmlQueryParser.class.php
+++ b/classes/xml/XmlQueryParser.class.php
@@ -58,7 +58,7 @@
// 캐쉬 내용 작성
$buff =
sprintf(
- '
+
diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php
index d8d6cbbcf..39ef8f49d 100644
--- a/modules/member/lang/ko.lang.php
+++ b/modules/member/lang/ko.lang.php
@@ -76,6 +76,8 @@
$lang->msg_cart_is_null = '삭제할 쪽지를 선택해주세요';
$lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다';
+ $lang->msg_no_message = '쪽지가 없습니다';
+
$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 13f862551..4bfb73d02 100644
--- a/modules/member/member.class.php
+++ b/modules/member/member.class.php
@@ -21,8 +21,8 @@
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
$oModuleController->insertActionForward('member', 'view', 'dispMemberMessages');
- $oModuleController->insertActionForward('member', 'view', 'dispMemberStoreMessage');
$oModuleController->insertActionForward('member', 'view', 'dispMemberSendMessage');
+ $oModuleController->insertActionForward('member', 'view', 'dispMemberNewMessage');
$oModuleController->insertActionForward('member', 'view', 'dispMemberFriends');
$oModuleController->insertActionForward('member', 'view', 'dispMemberAddFriend');
$oModuleController->insertActionForward('member', 'view', 'dispMemberAddFriendGroup');
@@ -119,7 +119,7 @@
FileHandler::makeDir('./files/member_extra_info/attach/image_name');
FileHandler::makeDir('./files/member_extra_info/attach/image_mark');
FileHandler::makeDir('./files/member_extra_info/attach/signature');
- FileHandler::makeDir('./files/session/');
+ FileHandler::makeDir('./files/member_extra_info/new_message_flags');
return new Object();
}
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 1537f5399..9a7f32d89 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -93,6 +93,12 @@
$output = executeQuery('member.sendMessage', $receiver_args);
if(!$output->toBool()) return $output;
+ // 받는 회원의 쪽지 발송 플래그 생성 (파일로 생성)
+ $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($receiver_srl);
+ FileHandler::makeDir($flag_path);
+ $flag_file = sprintf('%s%s', $flag_path, $receiver_srl);
+ FileHandler::writeFile($flag_file,'1');
+
$this->setMessage('success_sended');
}
diff --git a/modules/member/member.model.php b/modules/member/member.model.php
index fa073a08b..2cd8db02a 100644
--- a/modules/member/member.model.php
+++ b/modules/member/member.model.php
@@ -511,6 +511,24 @@
return $message;
}
+ /**
+ * @brief 새 쪽지를 가져옴
+ **/
+ function getNewMessage() {
+ $logged_info = Context::get('logged_info');
+ $args->receiver_srl = $logged_info->member_srl;
+ $args->readed = 'N';
+
+ $output = executeQuery('member.getNewMessage', $args);
+ if(!count($output->data)) return;
+ $message = array_pop($output->data);
+
+ $oMemberController = &getController('member');
+ $oMemberController->setMessageReaded($message->message_srl);
+
+ return $message;
+ }
+
/**
* @brief 쪽지 목록 가져오기
* type = R : 받은 쪽지
diff --git a/modules/member/member.view.php b/modules/member/member.view.php
index 20765b097..801e42722 100644
--- a/modules/member/member.view.php
+++ b/modules/member/member.view.php
@@ -221,6 +221,31 @@
$this->setTemplateFile('member_messages');
}
+ /**
+ * @brief 새 쪽지 보여줌
+ **/
+ function dispMemberNewMessage() {
+ $this->initNormal();
+
+ // 로그인이 되어 있지 않으면 오류 표시
+ if(!Context::get('is_logged')) $this->stop('msg_not_logged');
+ $logged_info = Context::get('logged_info');
+
+ $oMemberModel = &getModel('member');
+
+ // 새 쪽지를 가져옴
+ $message = $oMemberModel->getNewMessage();
+ if($message) Context::set('message', $message);
+
+ // 플래그 삭제
+ $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($logged_info->member_srl);
+ $flag_file = sprintf('%s%s', $flag_path, $logged_info->member_srl);
+ @unlink($flag_file);
+
+ $this->setLayoutFile('popup_layout');
+ $this->setTemplateFile('member_new_message');
+ }
+
/**
* @brief 쪽지 발송 출력
**/
diff --git a/modules/member/queries/getNewMessage.xml b/modules/member/queries/getNewMessage.xml
new file mode 100644
index 000000000..6aaf769e4
--- /dev/null
+++ b/modules/member/queries/getNewMessage.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/member/skins/default/filter/send_message.xml b/modules/member/skins/default/filter/send_message.xml
index dfab09133..2756c3398 100644
--- a/modules/member/skins/default/filter/send_message.xml
+++ b/modules/member/skins/default/filter/send_message.xml
@@ -1,6 +1,6 @@
diff --git a/modules/member/skins/default/member_new_message.html b/modules/member/skins/default/member_new_message.html
new file mode 100644
index 000000000..62507291b
--- /dev/null
+++ b/modules/member/skins/default/member_new_message.html
@@ -0,0 +1,34 @@
+
+
+
+