From 9ad9472b85446fb62b42b8c5f0beb1166d57d46a Mon Sep 17 00:00:00 2001 From: zero Date: Mon, 9 Apr 2007 04:22:31 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@1041 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../member_extra_info.addon.php | 22 +++++++++---------- common/tpl/popup_layout.html | 1 + modules/editor/tpl/js/editor.js | 6 +++++ modules/member/lang/ko.lang.php | 8 ++++--- modules/member/member.controller.php | 11 ++++++++-- modules/member/member.model.php | 13 +++++++++++ 6 files changed, 44 insertions(+), 17 deletions(-) diff --git a/addons/member_extra_info/member_extra_info.addon.php b/addons/member_extra_info/member_extra_info.addon.php index ec6984161..11c0748b0 100644 --- a/addons/member_extra_info/member_extra_info.addon.php +++ b/addons/member_extra_info/member_extra_info.addon.php @@ -74,33 +74,31 @@ // 4. 자신의 쪽지함 보기 기능 추가 $menu_str = Context::getLang('cmd_view_message_box'); $menu_link = "location.href.setQuery('act','dispMemberMessages')"; - - // 메뉴에 새로 만든 쪽지 발송 메뉴를 추가 $menu_list .= sprintf("\n%s,move_url(%s,'sendMessage', true)", $menu_str, $menu_link); // 5. 친구 목록 보기 $menu_str = Context::getLang('cmd_view_friend'); $menu_link = "location.href.setQuery('module','member').setQuery('act','dispMemberFriend')"; - - // 메뉴에 새로 만든 쪽지 발송 메뉴를 추가 $menu_list .= sprintf("\n%s,popopen(%s,'sendMessage', true)", $menu_str, $menu_link); // 아니라면 쪽지 발송, 친구 등록 추가 } else { - // 4. 쪽지 발송 메뉴를 만듬 - $menu_str = Context::getLang('cmd_send_message'); - $menu_link = sprintf('./?module=member&act=dispMemberSendMessage&receiver_srl=%s',$member_srl); - - // 메뉴에 새로 만든 쪽지 발송 메뉴를 추가 - $menu_list .= sprintf("\n%s,popopen('%s','sendMessage')", $menu_str, $menu_link); + // 대상 회원의 정보를 가져옴 + $target_member_info = $this->getMemberInfoByMemberSrl($member_srl); + + debugPrint($target_member_info); + if( $target_member_info->allow_message =='Y' || ($target_member_info->allow_message == 'F' && $this->isFriend($member_srl))) { + // 4. 쪽지 발송 메뉴를 만듬 + $menu_str = Context::getLang('cmd_send_message'); + $menu_link = sprintf('./?module=member&act=dispMemberSendMessage&receiver_srl=%s',$member_srl); + $menu_list .= sprintf("\n%s,popopen('%s','sendMessage')", $menu_str, $menu_link); + } // 5. 친구 등록 메뉴를 만듬 (이미 등록된 친구가 아닐 경우) if(!$this->isAddedFriend($member_srl)) { $menu_str = Context::getLang('cmd_add_friend'); $menu_link = sprintf('./?module=member&act=dispMemberAddFriend&target_srl=%s',$member_srl); - - // 메뉴에 새로 만든 쪽지 발송 메뉴를 추가 $menu_list .= sprintf("\n%s,popopen('%s','addFriend')", $menu_str, $menu_link); } } diff --git a/common/tpl/popup_layout.html b/common/tpl/popup_layout.html index 447162212..23cffd058 100644 --- a/common/tpl/popup_layout.html +++ b/common/tpl/popup_layout.html @@ -3,4 +3,5 @@ diff --git a/modules/editor/tpl/js/editor.js b/modules/editor/tpl/js/editor.js index 844fa593c..6f45c6818 100755 --- a/modules/editor/tpl/js/editor.js +++ b/modules/editor/tpl/js/editor.js @@ -96,6 +96,12 @@ function editorStart(upload_target_srl) { editorSyncContent(fo_obj.content, upload_target_srl); if(typeof(fo_obj._saved_doc_title)!="undefined" ) editorEnableAutoSave(fo_obj, upload_target_srl); + + // 팝업 윈도우일 경우 드래그바 숨김 + if(typeof(_isPoped)!="undefined" && _isPoped) { + xGetElementById("editor_drag_bar_"+upload_target_srl).style.display = "none"; + setFixedPopupSize(); + } } // 여러개의 편집기를 예상하여 전역 배열 변수에 form, iframe의 정보를 넣음 diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php index f585f5f68..0270b9862 100644 --- a/modules/member/lang/ko.lang.php +++ b/modules/member/lang/ko.lang.php @@ -18,8 +18,8 @@ $lang->allow_mailing = '메일링 가입'; $lang->allow_message = '쪽지 수신 허용'; $lang->allow_message_type = array( - 'N' => '전체 수신', - 'Y' => '거부', + 'Y' => '전체 수신', + 'N' => '거부', 'F' => '친구만 허용', ); @@ -103,7 +103,9 @@ $lang->msg_already_logged = '이미 회원 가입을 하신 상태입니다'; $lang->msg_not_logged = '로그인을 하지 않으셨습니다'; $lang->msg_title_is_null = '쪽지 제목을 입력해주세요'; - $lang->msg_content_is_null = '쪽지 내용을 입력해주세요'; + $lang->msg_content_is_null = '내용을 입력해주세요'; + $lang->msg_allow_message_to_friend = '친구에게만 쪽지 수신을 허용한 사용자라서 쪽지 발송을 하지 못했습니다'; + $lang->msg_disallow_message = '쪽지 수신을 거부한 사용자라서 쪽지 발송을 하지 못했습니다'; $lang->msg_not_uploaded_image_name = '이미지 이름을 등록할 수가 없습니다'; $lang->msg_not_uploaded_image_mark = '이미지 마크를 등록할 수가 없습니다'; diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index ab82bac88..bcdd24743 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -65,6 +65,13 @@ $receiver_member_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl); if($receiver_member_info->member_srl != $receiver_srl) return new Object(-1, 'msg_not_exists_member'); + // 받을 회원의 쪽지 수신여부 검사 + if($receiver_member_info->allow_message == 'F') { + if(!$oMemberModel->isFriend($receiver_member_info->member_srl)) return new object(-1, 'msg_allow_message_to_friend'); + } elseif($receiver_member_info->allow_messge == 'N') { + return new object(-1, 'msg_disallow_message'); + } + $oDB = &DB::getInstance(); $oDB->begin(); @@ -873,7 +880,7 @@ // 필수 변수들의 조절 if($args->allow_mailing!='Y') $args->allow_mailing = 'N'; - if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_mailing = 'Y'; + if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_message= 'Y'; if($args->denied!='Y') $args->denied = 'N'; if($args->is_admin!='Y') $args->is_admin = 'N'; list($args->email_id, $args->email_host) = explode('@', $args->email_address); @@ -954,7 +961,7 @@ // 필수 변수들의 조절 if($args->allow_mailing!='Y') $args->allow_mailing = 'N'; - if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_mailing = 'Y'; + if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_message = 'Y'; if(!$args->denied) unset($args->denied); if(!$args->is_admin) unset($args->is_admin); list($args->email_id, $args->email_host) = explode('@', $args->email_address); diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 0ea48cb2b..7f38e8c33 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -621,5 +621,18 @@ if(!is_array($group_list)) $group_list = array($group_list); return $group_list; } + + /** + * @brief 특정 회원의 친구 목록에 포함되어 있는지를 확인 + **/ + function isFriend($target_srl) { + $logged_info = Context::get('logged_info'); + + $args->member_srl = $target_srl; + $args->target_srl = $logged_info->member_srl; + $output = executeQuery('member.isAddedFriend', $args); + if($output->data->count) return true; + return false; + } } ?>