diff --git a/common/lang/en.lang.php b/common/lang/en.lang.php
index 1094e8c74..1b4b551de 100644
--- a/common/lang/en.lang.php
+++ b/common/lang/en.lang.php
@@ -93,6 +93,7 @@
$lang->path = 'Path';
$lang->cart = 'Selected Item';
$lang->friend = 'Friends';
+ $lang->notify = 'Notify';
$lang->mid = 'Module Name';
$lang->layout = 'Layout';
diff --git a/common/lang/es.lang.php b/common/lang/es.lang.php
index 86ba80d3a..c86e7a001 100644
--- a/common/lang/es.lang.php
+++ b/common/lang/es.lang.php
@@ -93,6 +93,7 @@
$lang->path = 'Paso';
$lang->cart = 'Artículo Selecciónado';
$lang->friend = 'Amigos';
+ $lang->notify = 'Notify';
$lang->mid = 'Module Name';
$lang->layout = 'Layout';
diff --git a/common/lang/jp.lang.php b/common/lang/jp.lang.php
index 55f5c9ef3..67e219eda 100644
--- a/common/lang/jp.lang.php
+++ b/common/lang/jp.lang.php
@@ -93,6 +93,7 @@
$lang->path = 'パス';
$lang->cart = '選択項目';
$lang->friend = '友達';
+ $lang->notify = 'Notify';
$lang->mid = 'モジュール名';
$lang->layout = 'レイアウト';
diff --git a/common/lang/ko.lang.php b/common/lang/ko.lang.php
index 9fdf90205..cf4ec59cc 100644
--- a/common/lang/ko.lang.php
+++ b/common/lang/ko.lang.php
@@ -93,6 +93,7 @@
$lang->path = '경로';
$lang->cart = '선택항목';
$lang->friend = '친구';
+ $lang->notify = '알림';
$lang->mid = '모듈이름';
$lang->layout = '레이아웃';
diff --git a/common/lang/zh-CN.lang.php b/common/lang/zh-CN.lang.php
index ef01c2f6b..755fef670 100644
--- a/common/lang/zh-CN.lang.php
+++ b/common/lang/zh-CN.lang.php
@@ -93,6 +93,7 @@
$lang->path = '路径';
$lang->cart = '选择项目';
$lang->friend = '好友';
+ $lang->notify = 'Notify';
$lang->mid = '模块名称';
$lang->layout = '布局';
diff --git a/modules/blog/tpl/blog_info.html b/modules/blog/tpl/blog_info.html
index 598db1048..f5938d492 100644
--- a/modules/blog/tpl/blog_info.html
+++ b/modules/blog/tpl/blog_info.html
@@ -47,7 +47,7 @@
| {$lang->admin_id} |
- {implode(",",$module_info->admin_id)} |
+ {implode(",",$module_info->admin_id)} |
diff --git a/modules/board/skins/default/write_form.html b/modules/board/skins/default/write_form.html
index 90eea3495..526ed01ad 100644
--- a/modules/board/skins/default/write_form.html
+++ b/modules/board/skins/default/write_form.html
@@ -64,6 +64,11 @@
allowTrackback())-->checked="checked" id="allow_trackback" />
+
+
+ useNotify())-->checked="checked" id="notify_message" />
+
+
diff --git a/modules/board/skins/xe_gallery/write_form.html b/modules/board/skins/xe_gallery/write_form.html
index 9a60b750c..7138f7727 100644
--- a/modules/board/skins/xe_gallery/write_form.html
+++ b/modules/board/skins/xe_gallery/write_form.html
@@ -63,6 +63,12 @@
allowTrackback())-->checked="checked" id="allow_trackback" />
+
+
+ useNotify())-->checked="checked" id="notify_message" />
+
+
+
{$editor}
diff --git a/modules/board/skins/xe_list/write_form.html b/modules/board/skins/xe_list/write_form.html
index 9a60b750c..7138f7727 100644
--- a/modules/board/skins/xe_list/write_form.html
+++ b/modules/board/skins/xe_list/write_form.html
@@ -63,6 +63,12 @@
allowTrackback())-->checked="checked" id="allow_trackback" />
+
+
+ useNotify())-->checked="checked" id="notify_message" />
+
+
+
{$editor}
diff --git a/modules/board/skins/xe_webzine/write_form.html b/modules/board/skins/xe_webzine/write_form.html
index 9a60b750c..7138f7727 100644
--- a/modules/board/skins/xe_webzine/write_form.html
+++ b/modules/board/skins/xe_webzine/write_form.html
@@ -63,6 +63,12 @@
allowTrackback())-->checked="checked" id="allow_trackback" />
+
+
+ useNotify())-->checked="checked" id="notify_message" />
+
+
+
{$editor}
diff --git a/modules/comment/comment.controller.php b/modules/comment/comment.controller.php
index 7fb595712..b50d6e7c1 100644
--- a/modules/comment/comment.controller.php
+++ b/modules/comment/comment.controller.php
@@ -35,10 +35,10 @@
// 원본글을 가져옴
if(!$manual_inserted) {
- $document = $oDocumentModel->getDocument($document_srl);
+ $oDocument = $oDocumentModel->getDocument($document_srl);
- if($document_srl != $document->document_srl) return new Object(-1,'msg_invalid_document');
- if($document->lock_comment=='Y') return new Object(-1,'msg_invalid_request');
+ if($document_srl != $oDocument->document_srl) return new Object(-1,'msg_invalid_document');
+ if($oDocument->isLocked()) return new Object(-1,'msg_invalid_request');
if($obj->password) $obj->password = md5($obj->password);
if($obj->homepage && !eregi('^http:\/\/',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
@@ -95,6 +95,9 @@
// commit
$oDB->commit();
+ // 원본글에 알림(notify_message)가 설정되어 있으면 메세지 보냄
+ if(!$manual_inserted) $oDocument->notify(Context::getLang('comment'), $obj->content);
+
$output->add('comment_srl', $obj->comment_srl);
return $output;
}
diff --git a/modules/document/document.class.php b/modules/document/document.class.php
index 40f99b4cd..eaec4297d 100644
--- a/modules/document/document.class.php
+++ b/modules/document/document.class.php
@@ -38,6 +38,11 @@
**/
if(!$oDB->isColumnExists("documents","extra_vars20")) return true;
+ /**
+ * 2007. 7. 25 : 알림 필드(notify_message) 추가
+ **/
+ if(!$oDB->isColumnExists("documents","notify_message")) return true;
+
return false;
}
@@ -45,10 +50,11 @@
* @brief 업데이트 실행
**/
function moduleUpdate() {
+ $oDB = &DB::getInstance();
+
/**
* 2007. 7. 23 : 확장변수(extra_vars1~20까지 추가)
**/
- $oDB = &DB::getInstance();
if(!$oDB->isColumnExists("documents","extra_vars20")) {
for($i=1;$i<=20;$i++) {
$column_name = "extra_vars".$i;
@@ -56,6 +62,13 @@
}
}
+ /**
+ * 2007. 7. 25 : 알림 필드(notify_message) 추가
+ **/
+ if(!$oDB->isColumnExists("documents","notify_message")) {
+ $oDB->addColumn('documents',"notify_message","char",1);
+ }
+
return new Object(0,'success_updated');
}
diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php
index 6b788be54..ab7feeecf 100644
--- a/modules/document/document.controller.php
+++ b/modules/document/document.controller.php
@@ -36,6 +36,7 @@
if($obj->lock_comment!='Y') $obj->lock_comment = 'N';
if($obj->allow_trackback!='Y') $obj->allow_trackback = 'N';
if($obj->homepage && !eregi('^http:\/\/',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
+ if($obj->notify_message != "Y") $obj->notify_message = "N";
// 자동저장용 필드 제거
unset($obj->_saved_doc_srl);
@@ -127,6 +128,7 @@
if($obj->lock_comment!='Y') $obj->lock_comment = 'N';
if($obj->allow_trackback!='Y') $obj->allow_trackback = 'N';
if($obj->homepage && !eregi('^http:\/\/',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
+ if($obj->notify_message != "Y") $obj->notify_message = "N";
// 자동저장용 필드 제거
unset($obj->_saved_doc_srl);
diff --git a/modules/document/document.item.php b/modules/document/document.item.php
index 59e43a1d1..9213ed207 100644
--- a/modules/document/document.item.php
+++ b/modules/document/document.item.php
@@ -95,6 +95,32 @@
function isNotice() {
return $this->get('is_notice') == 'Y' ? true : false;
}
+
+ function useNotify() {
+ return $this->get('notify_message')=='Y' ? true : false;
+ }
+
+ function notify($type, $content) {
+ // useNotify가 아니면 return
+ if(!$this->useNotify()) return;
+
+ // 글쓴이가 로그인 유저가 아니면 패스~
+ if(!$this->get('member_srl')) return;
+
+ // 현재 로그인한 사용자와 글을 쓴 사용자를 비교하여 동일하면 return
+ $logged_info = Context::get('logged_info');
+ if($logged_info->member_srl == $this->get('member_srl')) return;
+
+ // 변수 정리
+ $title = sprintf("[%s] %s", $type, cut_str(strip_tags($content), 10, '...') );
+ $content = sprintf('%s
from : %s',$content, $this->getPermanentUrl(), $this->getPermanentUrl());
+ $receiver_srl = $this->get('member_srl');
+ $sender_member_srl = $logged_info->member_srl;
+
+ // 쪽지 발송
+ $oMemberController = &getController('member');
+ $oMemberController->sendMessage($sender_member_srl, $receiver_srl, $title, $content, false);
+ }
function getUserID() {
return htmlspecialchars($this->get('user_id'));
diff --git a/modules/document/queries/insertDocument.xml b/modules/document/queries/insertDocument.xml
index e6a3039de..21b09a6c4 100644
--- a/modules/document/queries/insertDocument.xml
+++ b/modules/document/queries/insertDocument.xml
@@ -31,6 +31,7 @@
+
diff --git a/modules/document/queries/updateDocument.xml b/modules/document/queries/updateDocument.xml
index e80f98ab3..7f6e8a46c 100644
--- a/modules/document/queries/updateDocument.xml
+++ b/modules/document/queries/updateDocument.xml
@@ -24,6 +24,7 @@
+
diff --git a/modules/document/schemas/documents.xml b/modules/document/schemas/documents.xml
index 1a3a8d5d5..ec6eaf273 100644
--- a/modules/document/schemas/documents.xml
+++ b/modules/document/schemas/documents.xml
@@ -31,6 +31,7 @@
+
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 652e78107..19f60f80a 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -139,8 +139,10 @@
// 변수 검사
$receiver_srl = Context::get('receiver_srl');
if(!$receiver_srl) return new Object(-1, 'msg_not_exists_member');
+
$title = trim(Context::get('title'));
if(!$title) return new Object(-1, 'msg_title_is_null');
+
$content = trim(Context::get('content'));
if(!$content) return new Object(-1, 'msg_content_is_null');
@@ -156,37 +158,49 @@
return new object(-1, 'msg_disallow_message');
}
- $oDB = &DB::getInstance();
- $oDB->begin();
+ // 쪽지 발송
+ return $this->sendMessage($logged_info->member_srl, $receiver_srl, $title, $content);
+ }
- // 발송하는 회원의 쪽지함에 넣을 쪽지
- $sender_args->message_srl = getNextSequence();
- $sender_args->related_srl = getNextSequence();
- $sender_args->list_order = getNextSequence()*-1;
- $sender_args->sender_srl = $logged_info->member_srl;
+ function sendMessage($sender_srl, $receiver_srl, $title, $content, $sender_log = true) {
+ // 보내는 사용자의 쪽지함에 넣을 쪽지
+ $sender_args->sender_srl = $sender_srl;
$sender_args->receiver_srl = $receiver_srl;
$sender_args->message_type = 'S';
$sender_args->title = $title;
$sender_args->content = $content;
$sender_args->readed = 'N';
$sender_args->regdate = date("YmdHis");
- $output = executeQuery('member.sendMessage', $sender_args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
+ $sender_args->related_srl = getNextSequence();
+ $sender_args->message_srl = getNextSequence();
+ $sender_args->list_order = getNextSequence()*-1;
// 받는 회원의 쪽지함에 넣을 쪽지
$receiver_args->message_srl = $sender_args->related_srl;
$receiver_args->related_srl = 0;
$receiver_args->list_order = $sender_args->related_srl*-1;
- $receiver_args->sender_srl = $logged_info->member_srl;
+ $receiver_args->sender_srl = $sender_srl;
+ if(!$receiver_args->sender_srl) $receiver_args->sender_srl = $receiver_srl;
$receiver_args->receiver_srl = $receiver_srl;
$receiver_args->message_type = 'R';
$receiver_args->title = $title;
$receiver_args->content = $content;
$receiver_args->readed = 'N';
$receiver_args->regdate = date("YmdHis");
+
+ $oDB = &DB::getInstance();
+ $oDB->begin();
+
+ // 발송하는 회원의 쪽지함에 넣을 쪽지
+ if($sender_srl && $sender_log) {
+ $output = executeQuery('member.sendMessage', $sender_args);
+ if(!$output->toBool()) {
+ $oDB->rollback();
+ return $output;
+ }
+ }
+
+ // 받을 회원의 쪽지함에 넣을 쪽지
$output = executeQuery('member.sendMessage', $receiver_args);
if(!$output->toBool()) {
$oDB->rollback();
@@ -201,7 +215,7 @@
$oDB->commit();
- $this->setMessage('success_sended');
+ return new Object(0,'success_sended');
}
/**
diff --git a/modules/member/skins/default/css/normal.css b/modules/member/skins/default/css/normal.css
index 2808507d7..50cc7991f 100644
--- a/modules/member/skins/default/css/normal.css
+++ b/modules/member/skins/default/css/normal.css
@@ -37,7 +37,7 @@
.list td.registDate { font:.8em Tahoma; color:#999999; text-align:center;}
.list td.num { font:.8em Tahoma; color:#999999; text-align:center;}
.list td.check { text-align:center;}
-.list td.user { color:#333333; font-size:.9em;}
+.list td.user { color:#333333; font-size:.9em; text-align:left;}
.list td.user a { color:#333333;}
.list td.userId { font:.9em Tahoma;}
.list td.userNick { font-size:.9em; color:#999999;}
diff --git a/modules/member/skins/default/member_messages.html b/modules/member/skins/default/member_messages.html
index 822500ded..b3576371e 100644
--- a/modules/member/skins/default/member_messages.html
+++ b/modules/member/skins/default/member_messages.html
@@ -11,14 +11,21 @@
{$message->content}
-
+
{$lang->cmd_reply}
@@ -70,7 +77,13 @@
|
- {$val->nick_name} ({$val->user_id}) |
+
+
+
+
+ {$val->nick_name} ({$val->user_id}) |
+
+
{$val->title}
diff --git a/modules/member/skins/default/member_new_message.html b/modules/member/skins/default/member_new_message.html
index 6e45cdeaa..3873ff509 100644
--- a/modules/member/skins/default/member_new_message.html
+++ b/modules/member/skins/default/member_new_message.html
@@ -12,10 +12,12 @@
|