mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 20:12:14 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@933 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
0665b7848c
commit
9ec9da8963
15 changed files with 134 additions and 11 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
if(!__ZBXE__) exit();
|
if(!defined("__ZBXE__")) exit();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file image_name.addon.php
|
* @file image_name.addon.php
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
**/
|
**/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1,2,3 기능 수행 : 출력되기 바로 직전일 경우에 이미지이름/이미지마크등을 변경
|
* 1,2 기능 수행 : 출력되기 바로 직전일 경우에 이미지이름/이미지마크등을 변경
|
||||||
* 조건 : called_position == 'before_display_content'
|
* 조건 : called_position == 'before_display_content'
|
||||||
**/
|
**/
|
||||||
if($called_position == "before_display_content") {
|
if($called_position == "before_display_content") {
|
||||||
|
|
@ -35,6 +35,23 @@
|
||||||
// 2. 출력문서중에 <div class="document_번호">내용</div> 를 찾아서 member_controller::transSignature()를 이용해서 서명을 추가
|
// 2. 출력문서중에 <div class="document_번호">내용</div> 를 찾아서 member_controller::transSignature()를 이용해서 서명을 추가
|
||||||
$output = preg_replace_callback('!<div([^\>]*)document_([0-9]*)([^\>]*)>(.*?)\<\/div\>!is', array($oMemberController, 'transSignature'), $output);
|
$output = preg_replace_callback('!<div([^\>]*)document_([0-9]*)([^\>]*)>(.*?)\<\/div\>!is', array($oMemberController, 'transSignature'), $output);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 3 기능 수행 : 시작할때 새쪽지가 왔는지 검사
|
||||||
|
* 조건 : called_position = 'before_module_init', act != 'dispMemberNewMessage'
|
||||||
|
**/
|
||||||
|
} elseif($called_position == 'before_module_init' && $this->act != 'dispMemberNewMessage' && Context::get('is_logged') ) {
|
||||||
|
|
||||||
|
// 로그인된 사용자 정보를 구함
|
||||||
|
$logged_info = Context::get('logged_info');
|
||||||
|
|
||||||
|
$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);
|
||||||
|
|
||||||
|
// 새로운 쪽지에 대한 플래그가 있으면 쪽지 보기 팝업 띄움
|
||||||
|
if(file_exists($flag_file)) {
|
||||||
|
Context::addHtmlHeader( sprintf('<script type="text/javascript"> popopen("%s"); </script>', './?module=member&act=dispMemberNewMessage') );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 4,5 기능 수행 : 사용자 이름을 클릭시 요청되는 MemberModel::getMemberMenu 후에 $menu_list에 쪽지 발송, 친구추가등의 링크 추가
|
* 4,5 기능 수행 : 사용자 이름을 클릭시 요청되는 MemberModel::getMemberMenu 후에 $menu_list에 쪽지 발송, 친구추가등의 링크 추가
|
||||||
* 조건 : called_position == 'after_module_proc', module = 'member', act = 'getMemberMenu'
|
* 조건 : called_position == 'after_module_proc', module = 'member', act = 'getMemberMenu'
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
if(!__ZBXE__) exit();
|
if(!defined("__ZBXE__")) exit();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file naver_search_addon.addon.php
|
* @file naver_search_addon.addon.php
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
if(!__ZBXE__) exit();
|
if(!defined("__ZBXE__")) exit();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file rainbow.addon.php
|
* @file rainbow.addon.php
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
if(!__ZBXE__) exit();
|
if(!defined("__ZBXE__")) exit();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file spamfilter.addon.php
|
* @file spamfilter.addon.php
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@
|
||||||
$buff = preg_replace_callback('!<\!--%import\(\"([^\"]*?)\"\)-->!is', array($this, '_compileImportCode'), $buff);
|
$buff = preg_replace_callback('!<\!--%import\(\"([^\"]*?)\"\)-->!is', array($this, '_compileImportCode'), $buff);
|
||||||
|
|
||||||
// 파일에 쓰기 전에 직접 호출되는 것을 방지
|
// 파일에 쓰기 전에 직접 호출되는 것을 방지
|
||||||
$buff = sprintf('%s%s%s','<?php if(!__ZBXE__) exit();?>',"\n",$buff);
|
$buff = sprintf('%s%s%s','<?php if(!defined("__ZBXE__")) exit();?>',"\n",$buff);
|
||||||
|
|
||||||
// 컴파일된 코드를 파일에 저장
|
// 컴파일된 코드를 파일에 저장
|
||||||
FileHandler::writeFile($compiled_tpl_file, $buff);
|
FileHandler::writeFile($compiled_tpl_file, $buff);
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
// 캐쉬 내용 작성
|
// 캐쉬 내용 작성
|
||||||
$buff =
|
$buff =
|
||||||
sprintf(
|
sprintf(
|
||||||
'<?php if(!__ZBXE__) exit();'."\n".
|
'<?php if(!defined("__ZBXE__")) exit();'."\n".
|
||||||
'$pass_quotes = array();'."\n".
|
'$pass_quotes = array();'."\n".
|
||||||
'$id = \'%s\';'."\n".
|
'$id = \'%s\';'."\n".
|
||||||
'$action = \'%s\';'."\n".
|
'$action = \'%s\';'."\n".
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
<action name="dispMemberMessages" type="view" standalone="true" />
|
<action name="dispMemberMessages" type="view" standalone="true" />
|
||||||
<action name="dispMemberSendMessage" 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="dispMemberFriends" type="view" standalone="true" />
|
||||||
<action name="dispMemberAddFriend" type="view" standalone="true" />
|
<action name="dispMemberAddFriend" type="view" standalone="true" />
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,8 @@
|
||||||
$lang->msg_cart_is_null = '삭제할 쪽지를 선택해주세요';
|
$lang->msg_cart_is_null = '삭제할 쪽지를 선택해주세요';
|
||||||
$lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다';
|
$lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다';
|
||||||
|
|
||||||
|
$lang->msg_no_message = '쪽지가 없습니다';
|
||||||
|
|
||||||
$lang->msg_new_member = '회원 추가';
|
$lang->msg_new_member = '회원 추가';
|
||||||
$lang->msg_update_member = '회원 정보 수정';
|
$lang->msg_update_member = '회원 정보 수정';
|
||||||
$lang->msg_group_is_null = '등록된 그룹이 없습니다';
|
$lang->msg_group_is_null = '등록된 그룹이 없습니다';
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@
|
||||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
|
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
|
||||||
|
|
||||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberMessages');
|
$oModuleController->insertActionForward('member', 'view', 'dispMemberMessages');
|
||||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberStoreMessage');
|
|
||||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberSendMessage');
|
$oModuleController->insertActionForward('member', 'view', 'dispMemberSendMessage');
|
||||||
|
$oModuleController->insertActionForward('member', 'view', 'dispMemberNewMessage');
|
||||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberFriends');
|
$oModuleController->insertActionForward('member', 'view', 'dispMemberFriends');
|
||||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberAddFriend');
|
$oModuleController->insertActionForward('member', 'view', 'dispMemberAddFriend');
|
||||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberAddFriendGroup');
|
$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_name');
|
||||||
FileHandler::makeDir('./files/member_extra_info/attach/image_mark');
|
FileHandler::makeDir('./files/member_extra_info/attach/image_mark');
|
||||||
FileHandler::makeDir('./files/member_extra_info/attach/signature');
|
FileHandler::makeDir('./files/member_extra_info/attach/signature');
|
||||||
FileHandler::makeDir('./files/session/');
|
FileHandler::makeDir('./files/member_extra_info/new_message_flags');
|
||||||
|
|
||||||
return new Object();
|
return new Object();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -93,6 +93,12 @@
|
||||||
$output = executeQuery('member.sendMessage', $receiver_args);
|
$output = executeQuery('member.sendMessage', $receiver_args);
|
||||||
if(!$output->toBool()) return $output;
|
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');
|
$this->setMessage('success_sended');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -511,6 +511,24 @@
|
||||||
return $message;
|
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 쪽지 목록 가져오기
|
* @brief 쪽지 목록 가져오기
|
||||||
* type = R : 받은 쪽지
|
* type = R : 받은 쪽지
|
||||||
|
|
|
||||||
|
|
@ -221,6 +221,31 @@
|
||||||
$this->setTemplateFile('member_messages');
|
$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 쪽지 발송 출력
|
* @brief 쪽지 발송 출력
|
||||||
**/
|
**/
|
||||||
|
|
|
||||||
20
modules/member/queries/getNewMessage.xml
Normal file
20
modules/member/queries/getNewMessage.xml
Normal 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>
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<filter name="send_message" module="member" act="procMemberSendMessage" confirm_msg_code="confirm_submit">
|
<filter name="send_message" module="member" act="procMemberSendMessage" confirm_msg_code="confirm_submit">
|
||||||
<form>
|
<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" />
|
<node target="content" required="true" minlength="1" />
|
||||||
</form>
|
</form>
|
||||||
<parameter />
|
<parameter />
|
||||||
|
|
|
||||||
34
modules/member/skins/default/member_new_message.html
Normal file
34
modules/member/skins/default/member_new_message.html
Normal 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>
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue