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

This commit is contained in:
zero 2007-04-03 10:39:34 +00:00
parent 0665b7848c
commit 9ec9da8963
15 changed files with 134 additions and 11 deletions

View file

@ -10,6 +10,7 @@
<action name="dispMemberMessages" type="view" standalone="true" />
<action name="dispMemberSendMessage" type="view" standalone="true" />
<action name="dispMemberNewMessage" type="view" standalone="true" />
<action name="dispMemberFriends" type="view" standalone="true" />
<action name="dispMemberAddFriend" type="view" standalone="true" />

View file

@ -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 = '등록된 그룹이 없습니다';

View file

@ -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();
}

View file

@ -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');
}

View file

@ -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 : 받은 쪽지

View file

@ -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 쪽지 발송 출력
**/

View file

@ -0,0 +1,20 @@
<query id="getNewMessage" action="select">
<tables>
<table name="member_message" alias="member_message" />
<table name="member" alias="member"/>
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="member_message.receiver_srl" var="receiver_srl" notnull="notnull" />
<condition operation="equal" column="member_message.readed" var="readed" default="N" notnull="notnull" pipe="and" />
<condition operation="equal" column="member_message.sender_srl" var="member.member_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="member_message.list_order" order="desc" />
<list_count var="list_count" default="1" />
<page_count var="page_count" default="1" />
<page var="page" default="1" />
</navigation>
</query>

View file

@ -1,6 +1,6 @@
<filter name="send_message" module="member" act="procMemberSendMessage" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" minlength="1" maxlength="20" />
<node target="title" required="true" minlength="1" maxlength="240" />
<node target="content" required="true" minlength="1" />
</form>
<parameter />

View file

@ -0,0 +1,34 @@
<!--%import("js/member.js")-->
<div style="width:400px;">
<!--@if($message)-->
<table border="1">
<tr>
<th>
{$lang->sender}
</th>
<td><div class="member_{$message->member_srl}">{$message->nick_name} ({$message->user_id})</div></td>
</tr>
<tr>
<th>{$lang->title}</th>
<td>{htmlspecialchars($message->title)}</td>
</tr>
<tr>
<td colspan="2">{$message->content}</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_delete}" onclick="doDeleteMessage('{$message->message_srl}');return false;" />
<input type="button" value="{$lang->cmd_store}" onclick="doStoreMessage('{$message->message_srl}');return false;" />
<input type="button" value="{$lang->cmd_next}" onclick="location.href=location.href;return false;" />
</td>
</tr>
</table>
<!--@else-->
<script type="text/javascript">
alert("{$lang->msg_no_message}");
window.close();
</script>
<!--@end-->
</div>