git-svn-id: http://xe-core.googlecode.com/svn/trunk@928 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-04-03 07:23:11 +00:00
parent 8eda8c981a
commit 97cc64a9dc
18 changed files with 334 additions and 7 deletions

View file

@ -55,7 +55,7 @@
// 4. 자신의 쪽지함 보기 기능 추가
$menu_str = Context::getLang('cmd_view_message_box');
$menu_link = sprintf('./?module=member&act=dispMemberMessage&target_member_srl=%s',$member_srl);
$menu_link = sprintf('./?module=member&act=dispMemberMessage&receiver_srl=%s',$member_srl);
// 메뉴에 새로 만든 쪽지 발송 메뉴를 추가
$menu_list .= sprintf("\n%s,move_url('%s','sendMessage', true)", $menu_str, $menu_link);
@ -65,7 +65,7 @@
} else {
// 4. 쪽지 발송 메뉴를 만듬
$menu_str = Context::getLang('cmd_send_message');
$menu_link = sprintf('./?module=member&act=dispMemberSendMessage&target_member_srl=%s',$member_srl);
$menu_link = sprintf('./?module=member&act=dispMemberSendMessage&receiver_srl=%s',$member_srl);
// 메뉴에 새로 만든 쪽지 발송 메뉴를 추가
$menu_list .= sprintf("\n%s,popopen('%s','sendMessage')", $menu_str, $menu_link);

View file

@ -153,6 +153,7 @@
$lang->success_deleted = '삭제되었습니다';
$lang->success_voted = '추천되었습니다';
$lang->success_moved = '이동되었습니다';
$lang->success_sended = '발송되었습니다';
$lang->failed_voted = '추천하실 수 없습니다';
$lang->fail_to_delete_have_children = '답글이 있어서 삭제할 수 없습니다';

View file

@ -74,6 +74,7 @@
$lang->msg_signup_disabled = '회원 가입을 하실 수 없습니다';
$lang->msg_already_logged = '이미 회원 가입을 하신 상태입니다';
$lang->msg_not_logged = '로그인을 하지 않으셨습니다';
$lang->msg_content_is_null = '내용을 입력해주세요';
$lang->msg_not_uploaded_image_name = '이미지 이름을 등록할 수가 없습니다';
$lang->msg_not_uploaded_image_mark = '이미지 마크를 등록할 수가 없습니다';

View file

@ -44,6 +44,189 @@
return new Object();
}
/**
* @brief 쪽지 발송
**/
function procMemberSendMessage() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
// 변수 검사
$receiver_srl = Context::get('receiver_srl');
if(!$receiver_srl) return new Object(-1, 'msg_not_exists_member');
$content = trim(Context::get('content'));
if(!$content) return new Object(-1, 'msg_content_is_null');
// 받을 회원이 있는지에 대한 검사
$oMemberModel = &getModel('member');
$receiver_member_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl);
if($receiver_member_info->member_srl != $receiver_srl) return new Object(-1, 'msg_not_exists_member');
// 발송하는 회원의 쪽지함에 넣을 쪽지
$sender_args->message_srl = getNextSequence();
$sender_args->related_srl = 0;
$sender_args->list_order = getNextSequence()*-1;
$sender_args->sender_srl = $logged_info->member_srl;
$sender_args->receiver_srl = $receiver_srl;
$sender_args->message_type = 'S';
$sender_args->content = $content;
$sender_args->readed = 'N';
$sender_args->regdate = date("YmdHis");
$output = executeQuery('member.sendMessage', $sender_args);
if(!$output->toBool()) return $output;
// 받는 회원의 쪽지함에 넣을 쪽지
$receiver_args->message_srl = getNextSequence();
$receiver_args->related_srl = $sender_args->message_srl;
$receiver_args->list_order = getNextSequence()*-1;
$receiver_args->sender_srl = $logged_info->member_srl;
$receiver_args->receiver_srl = $receiver_srl;
$receiver_args->message_type = 'R';
$receiver_args->content = $content;
$receiver_args->readed = 'N';
$receiver_args->regdate = date("YmdHis");
$output = executeQuery('member.sendMessage', $receiver_args);
if(!$output->toBool()) return $output;
$this->setMessage('success_sended');
}
/**
* @brief 쪽지 삭제
**/
function procMemberDeleteMessage() {
// 로그인 정보 체크
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 = Context::get('message_srl');
if(!$message_srl) return new Object(-1,'msg_invalid_request');
// 쪽지를 가져옴
$oMemberModel = &getModel('member');
$message = $oMemberModel->getMessage($message_srl);
if(!$message) return new Object(-1,'msg_invalid_request');
// 발송인+type=S or 수신인+type=R 검사
if($message->sender_srl == $member_srl && $message->message_type == 'S') {
$args->message_srl = $message_srl;
} elseif($message->receiver_srl == $member_srl && $message->message_type == 'R') {
$args->message_srl = $message_srl;
}
if(!$args->message_srl) return new Object(-1, 'msg_invalid_request');
// 삭제
$output = executeQuery('member.deleteMessage', $args);
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
}
/**
* @brief 친구 추가
**/
function procMemberAddFriend() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
// 변수 정리
$args->friends_srl = getNextSequence();
$args->list_order = $args->friends_srl * -1;
$args->friends_group_srl = Context::get('friends_group_srl');
$args->member_srl = $logged_info->member_srl;
$args->target_srl = Context::get('target_srl');
$output = executeQuery('member.addFriends', $args);
if(!$output->toBool()) return $output;
$this->setMessage('success_registed');
}
/**
* @brief 친구 삭제
**/
function procMemberDeleteFriend() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
// 변수 정리
$args->friends_srl = Context::get('friends_srl');
$args->member_srl = $logged_info->member_srl;
$output = executeQuery('member.deleteFriends', $args);
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
}
/**
* @brief 친구 그룹 추가
**/
function procMemberAddFriendGroup() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
// 변수 정리
$args->member_srl = $logged_info->member_srl;
$args->title = Context::get('title');
if(!$args->title) return new Object(-1, 'msg_invalid_request');
$output = executeQuery('member.addFriendGroup', $args);
if(!$output->toBool()) return $output;
$this->setMessage('success_registed');
}
/**
* @brief 친구 그룹 이름 변경
**/
function procMemberRenameFriendGroup() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
// 변수 정리
$args->friends_group_srl= Context::get('friends_group_srl');
$args->member_srl = $logged_info->member_srl;
$args->title = Context::get('title');
if(!$args->title) return new Object(-1, 'msg_invalid_request');
$output = executeQuery('member.renameFriendGroup', $args);
if(!$output->toBool()) return $output;
$this->setMessage('success_updated');
}
/**
* @brief 친구 그룹 삭제
**/
function procMemberDeleteFriendGroup() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
// 변수 정리
$args->friends_group_srl = Context::get('friends_group_srl');
$args->member_srl = $logged_info->member_srl;
$output = executeQuery('member.deleteFriendGroup', $args);
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
}
/**
* @brief 특정 쪽지의 상태를 읽은 상태로 변경
**/
function setMessageReaded($message_srl) {
$args->message_srl = $message_srl;
$args->related_srl = $message_srl;
return executeQuery('member.setMessageReaded', $args);
}
/**
* @brief 사용자 추가 (관리자용)
**/

View file

@ -114,6 +114,7 @@
* @brief member_srl로 사용자 정보 return
**/
function getMemberInfoByMemberSrl($member_srl) {
if(!$member_srl) return;
if(!$this->member_info[$member_srl]) {
$args->member_srl = $member_srl;
$output = executeQuery('member.getMemberInfoByMemberSrl', $args);
@ -478,5 +479,14 @@
$signature = substr($buff, 40);
return $signature;
}
/**
* @brief 쪽지 내용을 가져옴
**/
function getMessage($message_srl) {
$args->message_srl = $message_srl;
$output = executeQuery('member.getMessage',$args);
return $output->data;
}
}
?>

View file

@ -182,6 +182,36 @@
$this->setTemplateFile('logout');
}
/**
* @brief 쪽지함 출력
**/
function dispMemberMessage() {
}
/**
* @brief 쪽지 발송 출력
**/
function dispMemberSendMessage() {
}
/**
* @brief 친구 목록 보기
**/
function dispMemberFriends() {
}
/**
* @brief 친구 추가
**/
function dispMemberAddFriend() {
}
/**
* @brief 친구 그룹 추가
**/
function dispMemberFriendGroup() {
}
/**
* @brief 회원 목록 출력
**/

View file

@ -0,0 +1,11 @@
<query id="addFriendGroup" action="insert">
<tables>
<table name="member_friends_group" />
</tables>
<columns>
<column name="friends_group_srl" var="friends_group_srl" default="sequence()" notnull="notnull" />
<column name="member_srl" var="member_srl" notnull="notnull" />
<column name="title" var="title" notnull="notnull" />
<column name="regdate" default="curdate()" />
</columns>
</query>

View file

@ -0,0 +1,13 @@
<query id="addFriends" action="insert">
<tables>
<table name="member_friends" />
</tables>
<columns>
<column name="friends_srl" var="friends_srl" notnull="notnull" />
<column name="friends_group_srl" var="friends_group_srl" default="0" notnull="notnull" />
<column name="member_srl" var="member_srl" notnull="notnull" />
<column name="target_srl" var="target_srl" notnull="notnull" />
<column name="list_order" var="list_order" />
<column name="regdate" default="curdate()" />
</columns>
</query>

View file

@ -0,0 +1,9 @@
<query id="deleteFriendGroup" action="delete">
<tables>
<table name="member_friends_gruop" />
</tables>
<conditions>
<condition operation="equal" column="friends_group_srl" var="friends_group_srl" notnull="notnull" filter="number" />
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" filter="number" pipe="and" />
</conditions>
</query>

View file

@ -0,0 +1,9 @@
<query id="deleteFriends" action="delete">
<tables>
<table name="member_friends" />
</tables>
<conditions>
<condition operation="equal" column="friends_srl" var="friends_srl" notnull="notnull" filter="number" />
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" filter="number" pipe="and" />
</conditions>
</query>

View file

@ -0,0 +1,8 @@
<query id="deleteMessage" action="delete">
<tables>
<table name="member_message" />
</tables>
<conditions>
<condition operation="equal" column="message_srl" var="message_srl" notnull="notnull" filter="number" />
</conditions>
</query>

View file

@ -0,0 +1,11 @@
<query id="getMessage" action="select">
<tables>
<table name="member_message" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="message_srl" var="message_srl" notnull="notnull" />
</conditions>
</query>

View file

@ -0,0 +1,12 @@
<query id="renameFriendGroup" action="update">
<tables>
<table name="member_friends_group" />
</tables>
<columns>
<column name="title" var="title" notnull="notnull" />
</columns>
<conditions>
<condition operation="equal" column="friends_group_srl" var="friends_group_srl" notnull="notnull" filter="number" />
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" filter="number" pipe="and" />
</conditions>
</query>

View file

@ -0,0 +1,14 @@
<query id="sendMessage" action="insert">
<tables>
<table name="member_message" />
</tables>
<columns>
<column name="message_srl" var="message_srl" notnull="notnull" />
<column name="list_order" var="list_order" notnull="notnull" />
<column name="member_srl" var="member_srl" notnull="notnull" />
<column name="message_type" var="message_type" notnull="notnull" />
<column name="content" var="content" notnull="notnull" />
<column name="readed" var="readed" notnull="notnull" />
<column name="regdate" var="reded" default="curdate()" />
</columns>
</query>

View file

@ -0,0 +1,13 @@
<query id="setMessageReaded" action="update">
<tables>
<table name="member_message" />
</tables>
<columns>
<column name="readed" default="Y" />
<column name="readed_date" default="curdate()" />
</columns>
<conditions>
<condition operation="equal" column="message_srl" var="message_srl" notnull="notnull" filter="number"/>
<condition operation="equal" column="related_srl" var="related_srl" notnull="notnull" filter="number" pipe="or" />
</conditions>
</query>

View file

@ -1,7 +1,8 @@
<table name="member_friends">
<column name="friends_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="friends_group_srl" type="number" size="11" default="0" notnull="notnull" index="idx_friends_group_srl" />
<column name="owner_member_srl" type="number" size="11" notnull="notnull" index="index_owner_member_srl" />
<column name="friend_member_srl" type="number" size="11" notnull="notnull" />
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_owner_member_srl" />
<column name="target_srl" type="number" size="11" notnull="notnull" />
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
<column name="regdate" type="date" />
</table>

View file

@ -1,6 +1,6 @@
<table name="member_friends_group">
<column name="friends_group_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="owner_member_srl" type="number" size="11" notnull="notnull" index="index_owner_member_srl" />
<column name="member_srl" type="number" size="11" notnull="notnull" index="index_owner_member_srl" />
<column name="title" type="varchar" size="250" notnull="notnull" />
<column name="regdate" type="date" />
</table>

View file

@ -1,11 +1,12 @@
<table name="member_message">
<column name="message_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
<column name="related_srl" type="number" size="11" notnull="notnull" index="idx_related_srl" />
<column name="sender_srl" type="number" size="11" notnull="notnull" index="idx_sender_srl" />
<column name="receiver_srl" type="number" size="11" notnull="notnull" index="idx_receiver_srl" />
<column name="message_type" type="char" size="1" default="S" notnull="notnull" index="idx_message_type" />
<column name="message_type" type="char" size="1" default="S" notnull="notnull" />
<column name="content" type="text" notnull="notnull" />
<column name="readed" type="char" size="1" default="N" notnull="notnull" />
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
<column name="regdate" type="date" />
<column name="readed_date" type="date" />
</table>