diff --git a/common/lang/en.lang.php b/common/lang/en.lang.php
index b57662991..3479067a9 100644
--- a/common/lang/en.lang.php
+++ b/common/lang/en.lang.php
@@ -46,6 +46,7 @@
$lang->cmd_open_calendar = 'Select a Date';
$lang->cmd_send = 'Send';
$lang->cmd_print = 'Print';
+ $lang->cmd_scrap = 'Scrap';
$lang->enable = 'Enable';
$lang->disable = 'Disable';
diff --git a/common/lang/es.lang.php b/common/lang/es.lang.php
index b631ca7e8..8a8ff616e 100644
--- a/common/lang/es.lang.php
+++ b/common/lang/es.lang.php
@@ -46,6 +46,7 @@
$lang->cmd_open_calendar = 'Seleccionar la fecha';
$lang->cmd_send = 'Enviar';
$lang->cmd_print = 'Print';
+ $lang->cmd_scrap = 'Scrap';
$lang->enable = 'Enable';
$lang->disable = 'Disable';
diff --git a/common/lang/jp.lang.php b/common/lang/jp.lang.php
index bad76cb7d..f557f228b 100644
--- a/common/lang/jp.lang.php
+++ b/common/lang/jp.lang.php
@@ -46,6 +46,7 @@
$lang->cmd_open_calendar = 'カレンダを開く';
$lang->cmd_send = '送信';
$lang->cmd_print = '印刷';
+ $lang->cmd_scrap = 'Scrap';
$lang->enable = '可能';
$lang->disable = '不可';
diff --git a/common/lang/ko.lang.php b/common/lang/ko.lang.php
index 6df3c1312..ff903dfa3 100644
--- a/common/lang/ko.lang.php
+++ b/common/lang/ko.lang.php
@@ -46,6 +46,7 @@
$lang->cmd_open_calendar = '날짜 선택';
$lang->cmd_send = '발송';
$lang->cmd_print = '인쇄';
+ $lang->cmd_scrap = '스크랩';
$lang->enable = '가능';
$lang->disable = '불가능';
diff --git a/common/lang/zh-CN.lang.php b/common/lang/zh-CN.lang.php
index 258693d95..9753acd31 100644
--- a/common/lang/zh-CN.lang.php
+++ b/common/lang/zh-CN.lang.php
@@ -46,6 +46,7 @@
$lang->cmd_open_calendar = '选择日期';
$lang->cmd_send = '发送';
$lang->cmd_print = '打印';
+ $lang->cmd_scrap = 'Scrap';
$lang->enable = '可用';
$lang->disable = '禁用';
diff --git a/modules/board/skins/default/js/board.js b/modules/board/skins/default/js/board.js
index 7fd68bea6..3725923c8 100644
--- a/modules/board/skins/default/js/board.js
+++ b/modules/board/skins/default/js/board.js
@@ -129,3 +129,10 @@ function doChangeCategory(sel_obj, url) {
location.href = current_url.setQuery('category',category_srl);
}
}
+
+/* 스크랩 */
+function doScrap(document_srl) {
+ var params = new Array();
+ params["document_srl"] = document_srl;
+ exec_xml("member","procMemberScrapDocument", params, null);
+}
diff --git a/modules/board/skins/default/view_document.html b/modules/board/skins/default/view_document.html
index c3a789cbb..9d02a2803 100644
--- a/modules/board/skins/default/view_document.html
+++ b/modules/board/skins/default/view_document.html
@@ -116,6 +116,7 @@
{$lang->cmd_print}
+
{$lang->cmd_scrap}
[{$lang->cmd_list}]
[{$lang->cmd_vote}]
diff --git a/modules/board/skins/xe_gallery/js/board.js b/modules/board/skins/xe_gallery/js/board.js
index 2dc8accf5..7611a063d 100644
--- a/modules/board/skins/xe_gallery/js/board.js
+++ b/modules/board/skins/xe_gallery/js/board.js
@@ -128,3 +128,10 @@ function doChangeCategory() {
var category_srl = sel_obj.options[sel_idx].value;
location.href = current_url.setQuery('category',category_srl);
}
+
+/* 스크랩 */
+function doScrap(document_srl) {
+ var params = new Array();
+ params["document_srl"] = document_srl;
+ exec_xml("member","procMemberScrapDocument", params, null);
+}
diff --git a/modules/board/skins/xe_gallery/view_document.html b/modules/board/skins/xe_gallery/view_document.html
index 50c0e72bf..aed68a0a0 100644
--- a/modules/board/skins/xe_gallery/view_document.html
+++ b/modules/board/skins/xe_gallery/view_document.html
@@ -110,6 +110,7 @@
{$lang->cmd_print}
+ {$lang->cmd_scrap}
{$lang->cmd_list}
{$lang->cmd_vote}
diff --git a/modules/board/skins/xe_list/js/board.js b/modules/board/skins/xe_list/js/board.js
index 2dc8accf5..7611a063d 100644
--- a/modules/board/skins/xe_list/js/board.js
+++ b/modules/board/skins/xe_list/js/board.js
@@ -128,3 +128,10 @@ function doChangeCategory() {
var category_srl = sel_obj.options[sel_idx].value;
location.href = current_url.setQuery('category',category_srl);
}
+
+/* 스크랩 */
+function doScrap(document_srl) {
+ var params = new Array();
+ params["document_srl"] = document_srl;
+ exec_xml("member","procMemberScrapDocument", params, null);
+}
diff --git a/modules/board/skins/xe_list/view_document.html b/modules/board/skins/xe_list/view_document.html
index 50c0e72bf..aed68a0a0 100644
--- a/modules/board/skins/xe_list/view_document.html
+++ b/modules/board/skins/xe_list/view_document.html
@@ -110,6 +110,7 @@
{$lang->cmd_print}
+ {$lang->cmd_scrap}
{$lang->cmd_list}
{$lang->cmd_vote}
diff --git a/modules/board/skins/xe_webzine/js/board.js b/modules/board/skins/xe_webzine/js/board.js
index 2dc8accf5..7611a063d 100644
--- a/modules/board/skins/xe_webzine/js/board.js
+++ b/modules/board/skins/xe_webzine/js/board.js
@@ -128,3 +128,10 @@ function doChangeCategory() {
var category_srl = sel_obj.options[sel_idx].value;
location.href = current_url.setQuery('category',category_srl);
}
+
+/* 스크랩 */
+function doScrap(document_srl) {
+ var params = new Array();
+ params["document_srl"] = document_srl;
+ exec_xml("member","procMemberScrapDocument", params, null);
+}
diff --git a/modules/board/skins/xe_webzine/view_document.html b/modules/board/skins/xe_webzine/view_document.html
index 50c0e72bf..aed68a0a0 100644
--- a/modules/board/skins/xe_webzine/view_document.html
+++ b/modules/board/skins/xe_webzine/view_document.html
@@ -110,6 +110,7 @@
{$lang->cmd_print}
+ {$lang->cmd_scrap}
{$lang->cmd_list}
{$lang->cmd_vote}
diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml
index f409bce75..0ec2da5c3 100644
--- a/modules/member/conf/module.xml
+++ b/modules/member/conf/module.xml
@@ -8,6 +8,7 @@
+
@@ -47,6 +48,8 @@
+
+
diff --git a/modules/member/lang/en.lang.php b/modules/member/lang/en.lang.php
index 9e20cc60f..9c93b5f84 100644
--- a/modules/member/lang/en.lang.php
+++ b/modules/member/lang/en.lang.php
@@ -85,6 +85,7 @@
$lang->cmd_manage_id = 'Manage Prohibited ID';
$lang->cmd_manage_form = 'Manage Join Form';
$lang->cmd_view_own_document = 'View Written Articles';
+ $lang->cmd_view_scrapped_document = '스크랩 보기';
$lang->cmd_send_email = 'Send Mail';
$lang->cmd_send_message = 'Send Message';
$lang->cmd_reply_message = 'Reply Message';
@@ -94,6 +95,8 @@
$lang->cmd_store = "Keep";
$lang->cmd_add_friend_group = 'Add Friend Group';
+ $lang->msg_alreay_scrapped = '이미 스크랩된 게시물입니다';
+
$lang->msg_cart_is_null = 'Select Target';
$lang->msg_checked_file_is_deleted = '%d Attached files are deleted';
diff --git a/modules/member/lang/jp.lang.php b/modules/member/lang/jp.lang.php
index 78930edb2..c1d09ec55 100644
--- a/modules/member/lang/jp.lang.php
+++ b/modules/member/lang/jp.lang.php
@@ -85,6 +85,7 @@
$lang->cmd_manage_id = '禁止ID管理';
$lang->cmd_manage_form = '加入フォーム管理';
$lang->cmd_view_own_document = '書き込みのプレビュー';
+ $lang->cmd_view_scrapped_document = '스크랩 보기';
$lang->cmd_send_email = 'メール送信';
$lang->cmd_send_message = 'メッセージ送信';
$lang->cmd_reply_message = 'メッセージへの返信';
@@ -94,6 +95,8 @@
$lang->cmd_store = "保存";
$lang->cmd_add_friend_group = '友達グループ追加';
+ $lang->msg_alreay_scrapped = '이미 스크랩된 게시물입니다';
+
$lang->msg_cart_is_null = '対象を選択してください。';
$lang->msg_checked_file_is_deleted = '%d個の添付ファイルが削除されました。';
diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php
index 3eae8cb82..2a128b900 100644
--- a/modules/member/lang/ko.lang.php
+++ b/modules/member/lang/ko.lang.php
@@ -85,6 +85,7 @@
$lang->cmd_manage_id = '금지아이디관리';
$lang->cmd_manage_form = '가입폼관리';
$lang->cmd_view_own_document = '작성글 보기';
+ $lang->cmd_view_scrapped_document = '스크랩 보기';
$lang->cmd_send_email = '메일 보내기';
$lang->cmd_send_message = '쪽지 보내기';
$lang->cmd_reply_message = '쪽지 답장';
@@ -94,6 +95,8 @@
$lang->cmd_store = "보관";
$lang->cmd_add_friend_group = '친구 그룹 추가';
+ $lang->msg_alreay_scrapped = '이미 스크랩된 게시물입니다';
+
$lang->msg_cart_is_null = '대상을 선택해주세요';
$lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다';
diff --git a/modules/member/lang/zh-CN.lang.php b/modules/member/lang/zh-CN.lang.php
index 9887f4c0a..9dca8c06b 100644
--- a/modules/member/lang/zh-CN.lang.php
+++ b/modules/member/lang/zh-CN.lang.php
@@ -85,6 +85,7 @@
$lang->cmd_manage_id = '禁止 I D 管理';
$lang->cmd_manage_form = '注册样式管理';
$lang->cmd_view_own_document = '查看内容';
+ $lang->cmd_view_scrapped_document = '스크랩 보기';
$lang->cmd_send_email = '发送邮件';
$lang->cmd_send_message = '发送短信';
$lang->cmd_reply_message = '回复短信';
@@ -94,6 +95,8 @@
$lang->cmd_store = "保管";
$lang->cmd_add_friend_group = '添加好友组';
+ $lang->msg_alreay_scrapped = '이미 스크랩된 게시물입니다';
+
$lang->msg_cart_is_null = '请选择对象';
$lang->msg_checked_file_is_deleted = '已删除%d个文件。';
@@ -166,4 +169,4 @@
$lang->about_openid = '用OpenID注册时 I D 和 邮件等基本信息会保存在这个网站,但密码和认证的处理是属于提供OpenID服务的站点。';
$lang->about_member = "可以管理会员添加/修改/删除/和组管理或注册管理的会员管理模块。\n在基本生成的组以外再生成组以后可以管理会员和通过注册形式的基本信息外还可以收录其他的信息。";
-?>
\ No newline at end of file
+?>
diff --git a/modules/member/member.class.php b/modules/member/member.class.php
index 7d1b67ed3..c15df034c 100644
--- a/modules/member/member.class.php
+++ b/modules/member/member.class.php
@@ -21,6 +21,7 @@
$oModuleController->insertActionForward('member', 'view', 'dispMemberLoginForm');
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
+ $oModuleController->insertActionForward('member', 'view', 'dispMemberScrappedDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberMessages');
$oModuleController->insertActionForward('member', 'view', 'dispMemberSendMessage');
@@ -114,11 +115,16 @@
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
- // dispMemberOwnDocument act의 여부 체크 (2007. 7. 24 추가)
$oModuleModel = &getModel('module');
+
+ // dispMemberOwnDocument act의 여부 체크 (2007. 7. 24 추가)
$act = $oModuleModel->getActionForward('dispMemberOwnDocument');
if(!$act) return true;
+ // dispMemberScrappedDocument act의 여부 체크 (2007. 7. 25 추가)
+ $act = $oModuleModel->getActionForward('dispMemberScrappedDocument');
+ if(!$act) return true;
+
return false;
}
@@ -128,6 +134,7 @@
function moduleUpdate() {
$oModuleController = &getController('module');
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
+ $oModuleController->insertActionForward('member', 'view', 'dispMemberScrappedDocument');
return new Object(0, 'success_updated');
}
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 92226eb33..652e78107 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -303,6 +303,42 @@
$this->setMessage('success_deleted');
}
+ /**
+ * @brief 스크랩 기능
+ **/
+ function procMemberScrapDocument() {
+ // 로그인 정보 체크
+ if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
+ $logged_info = Context::get('logged_info');
+
+ $document_srl = (int)Context::get('document_srl');
+ if(!$document_srl) return new Object(-1,'msg_invalid_request');
+
+ // 문서 가져오기
+ $oDocumentModel = &getModel('document');
+ $oDocument = $oDocumentModel->getDocument($document_srl);
+
+ // 변수 정리
+ $args->document_srl = $document_srl;
+ $args->member_srl = $logged_info->member_srl;
+ $args->user_id = $oDocument->get('user_id');
+ $args->user_name = $oDocument->get('user_name');
+ $args->nick_name = $oDocument->get('nick_name');
+ $args->target_member_srl = $oDocument->get('member_srl');
+ $args->title = $oDocument->get('title');
+
+ // 있는지 조사
+ $output = executeQuery('member.getScrapDocument', $args);
+ if($output->data->count) return new Object(-1, 'msg_alreay_scrapped');
+
+ // 입력
+ $output = executeQuery('member.addScrapDocument', $args);
+ if(!$output->toBool()) return $output;
+
+ $this->setError(-1);
+ $this->setMessage('success_registed');
+ }
+
/**
* @brief 친구 추가
**/
diff --git a/modules/member/member.view.php b/modules/member/member.view.php
index af0b6c223..a3ce546c4 100644
--- a/modules/member/member.view.php
+++ b/modules/member/member.view.php
@@ -33,6 +33,7 @@
'dispMemberMessages' => Context::getLang('cmd_view_message_box'),
'dispMemberFriend' => Context::getLang('cmd_view_friend'),
'dispMemberOwnDocument' => Context::getLang('cmd_view_own_document'),
+ 'dispMemberScrappedDocument' => Context::getLang('cmd_view_scrapped_document'),
);
}
@@ -148,6 +149,31 @@
$this->setTemplateFile('document_list');
}
+ /**
+ * @brief 회원 스크랩 게시물 보기
+ **/
+ function dispMemberScrappedDocument() {
+ $oMemberModel = &getModel('member');
+
+ // 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
+ if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
+
+ $logged_info = Context::get('logged_info');
+ $args->member_srl = $logged_info->member_srl;
+ $args->page = (int)Context::get('page');
+
+ $output = executeQuery('member.getScrapDocumentList', $args);
+ Context::set('total_count', $output->total_count);
+ Context::set('total_page', $output->total_page);
+ Context::set('page', $output->page);
+ Context::set('document_list', $output->data);
+ Context::set('page_navigation', $output->page_navigation);
+
+ Context::set('my_menu', $this->my_menu);
+
+ $this->setTemplateFile('scrapped_list');
+ }
+
/**
* @brief 로그인 폼 출력
**/
diff --git a/modules/member/queries/addScrapDocument.xml b/modules/member/queries/addScrapDocument.xml
new file mode 100644
index 000000000..9d8045350
--- /dev/null
+++ b/modules/member/queries/addScrapDocument.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/member/queries/getScrapDocument.xml b/modules/member/queries/getScrapDocument.xml
new file mode 100644
index 000000000..8f965ec0f
--- /dev/null
+++ b/modules/member/queries/getScrapDocument.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/member/queries/getScrapDocumentList.xml b/modules/member/queries/getScrapDocumentList.xml
new file mode 100644
index 000000000..33969197d
--- /dev/null
+++ b/modules/member/queries/getScrapDocumentList.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/member/schemas/member_scrap.xml b/modules/member/schemas/member_scrap.xml
new file mode 100644
index 000000000..5ea197c20
--- /dev/null
+++ b/modules/member/schemas/member_scrap.xml
@@ -0,0 +1,11 @@
+
diff --git a/modules/member/skins/default/scrapped_list.html b/modules/member/skins/default/scrapped_list.html
new file mode 100644
index 000000000..6367a5c3e
--- /dev/null
+++ b/modules/member/skins/default/scrapped_list.html
@@ -0,0 +1,56 @@
+{@ $member_title = $lang->cmd_view_scrapped_document }
+
+
+
+
+ Total : {number_format($total_count)},
+ Page {number_format($page)}/{number_format($total_page)}
+
+
+
+
+
+
+
+
+
+
+ | {$lang->no} |
+ {$lang->title} |
+ {$lang->author} |
+ {$lang->date} |
+
+
+
+
+
+ | {$no} |
+
+ {htmlspecialchars($val->title)}
+ |
+ {$val->nick_name} |
+ {zdate($val->regdate, "Y-m-d H:i")} |
+
+
+
+
+
+
+
+
+
+
+

+
+
+
{$page_no}
+
+
{$page_no}
+
+
+

+
+
+