mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 18:51:41 +09:00
1. 회원/게시글/댓글 팝업메뉴를 controller의 method를 이용하여 손쉽게 추가할 수 있도록 변경
2. 게시글/ 댓글 팝업메뉴에 아이콘 추가 3. 쪽지 발송/ 친구 관련 메뉴의 on/off를 member_communication 애드온으로 활성/비활성 할 수 있도록 변경 4. IE에서 페이지를 찾을 수 없다는 오류가 발생하는 window onload이전에 DOM을 건드리는 코드에 대한 보완책 적용 5. XML RPC 결과 출력시 1depth이상의 배열 또는 오브젝트 데이터를 Simple XML 형식으로 출력할 수 있도록 하고 Javascript에서 이를 다차원 배열로 parsing하도록 코드 변경 git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4230 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
bc963aa72f
commit
4cdce7e4cf
26 changed files with 422 additions and 115 deletions
47
addons/member_communication/conf/info.xml
Normal file
47
addons/member_communication/conf/info.xml
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<addon version="0.1">
|
||||
<title xml:lang="ko">커뮤니케이션</title>
|
||||
<title xml:lang="jp">커뮤니케이션</title>
|
||||
<title xml:lang="zh-CN">커뮤니케이션</title>
|
||||
<title xml:lang="en">커뮤니케이션</title>
|
||||
<title xml:lang="ge">커뮤니케이션</title>
|
||||
<title xml:lang="es">커뮤니케이션</title>
|
||||
<title xml:lang="ru">커뮤니케이션</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2008. 5. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="jp">Zero</name>
|
||||
<name xml:lang="zh-CN">zero</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<name xml:lang="ge">zero</name>
|
||||
<name xml:lang="es">zero</name>
|
||||
<name xml:lang="ru">zero</name>
|
||||
<description xml:lang="ko">
|
||||
커뮤니케이션 모듈의 기능을 활성화 시켜 쪽지나 친구기능을 사용할 수 있도록 해줍니다.
|
||||
쪽지, 친구기능등을 사용하기 위해서는 이 애드온을 사용으로 해주시면 됩니다.
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
커뮤니케이션 모듈의 기능을 활성화 시켜 쪽지나 친구기능을 사용할 수 있도록 해줍니다.
|
||||
쪽지, 친구기능등을 사용하기 위해서는 이 애드온을 사용으로 해주시면 됩니다.
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
커뮤니케이션 모듈의 기능을 활성화 시켜 쪽지나 친구기능을 사용할 수 있도록 해줍니다.
|
||||
쪽지, 친구기능등을 사용하기 위해서는 이 애드온을 사용으로 해주시면 됩니다.
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
커뮤니케이션 모듈의 기능을 활성화 시켜 쪽지나 친구기능을 사용할 수 있도록 해줍니다.
|
||||
쪽지, 친구기능등을 사용하기 위해서는 이 애드온을 사용으로 해주시면 됩니다.
|
||||
</description>
|
||||
<description xml:lang="ge">
|
||||
커뮤니케이션 모듈의 기능을 활성화 시켜 쪽지나 친구기능을 사용할 수 있도록 해줍니다.
|
||||
쪽지, 친구기능등을 사용하기 위해서는 이 애드온을 사용으로 해주시면 됩니다.
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
커뮤니케이션 모듈의 기능을 활성화 시켜 쪽지나 친구기능을 사용할 수 있도록 해줍니다.
|
||||
쪽지, 친구기능등을 사용하기 위해서는 이 애드온을 사용으로 해주시면 됩니다.
|
||||
</description>
|
||||
<description xml:lang="ru">
|
||||
커뮤니케이션 모듈의 기능을 활성화 시켜 쪽지나 친구기능을 사용할 수 있도록 해줍니다.
|
||||
쪽지, 친구기능등을 사용하기 위해서는 이 애드온을 사용으로 해주시면 됩니다.
|
||||
</description>
|
||||
</author>
|
||||
</addon>
|
||||
3
addons/member_communication/lang/en.lang.php
Normal file
3
addons/member_communication/lang/en.lang.php
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = 'You have a new message. Do you want to check now?';
|
||||
?>
|
||||
3
addons/member_communication/lang/es.lang.php
Normal file
3
addons/member_communication/lang/es.lang.php
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = 'Usted tiene un nuevo mensaje. Quiere comprobar ahora?';
|
||||
?>
|
||||
3
addons/member_communication/lang/ge.lang.php
Normal file
3
addons/member_communication/lang/ge.lang.php
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = 'Sie haben eine neue Nachricht. Wollen Sie jetzt prüfen, ob?';
|
||||
?>
|
||||
3
addons/member_communication/lang/jp.lang.php
Normal file
3
addons/member_communication/lang/jp.lang.php
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = '新しいメッセージが届きました。確認しますか。';
|
||||
?>
|
||||
3
addons/member_communication/lang/ko.lang.php
Normal file
3
addons/member_communication/lang/ko.lang.php
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = '새로운 메세지가 도착하였습니다. 확인하시겠습니까?';
|
||||
?>
|
||||
9
addons/member_communication/lang/ru.lang.php
Normal file
9
addons/member_communication/lang/ru.lang.php
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
/**
|
||||
* @file ru.lang.php
|
||||
* @author zero <zero@nzeo.com> | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
|
||||
* @brief Russian basic language pack for Zeroboard XE
|
||||
**/
|
||||
|
||||
$lang->alert_new_message_arrived = 'У Вас есть новые сообщения. Хотите проверить сейчас?';
|
||||
?>
|
||||
3
addons/member_communication/lang/zh-CN.lang.php
Normal file
3
addons/member_communication/lang/zh-CN.lang.php
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = '您有新消息。要确认吗?';
|
||||
?>
|
||||
89
addons/member_communication/member_communication.addon.php
Normal file
89
addons/member_communication/member_communication.addon.php
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
<?php
|
||||
if(!defined("__ZBXE__")) exit();
|
||||
|
||||
/**
|
||||
* @file member_communication.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief 사용자의 커뮤니케이션 기능을 활성화
|
||||
*
|
||||
* - 새로운 쪽지가 왔을 경우 팝업으로 띄움
|
||||
* - MemberModel::getMemberMenu 호출시 대상이 회원일 경우 쪽지 보내기 기능 추가합니다.
|
||||
* - MemberModel::getMemberMenu 호출시 친구 등록 메뉴를 추가합니다.
|
||||
**/
|
||||
|
||||
/**
|
||||
* 기능 수행 : 팝업 및 회원정보 보기에서 쪽지/친구 메뉴 추가. 시작할때 새쪽지가 왔는지 검사
|
||||
* 조건 : called_position = 'before_module_init', module = 'member'
|
||||
**/
|
||||
if($called_position == 'before_module_init' && $this->module != 'member' && Context::get('is_logged') ) {
|
||||
|
||||
// 로그인된 사용자 정보를 구함
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
||||
// 커뮤니케이션 모듈의 언어파일을 읽음
|
||||
Context::loadLang('./modules/communication/lang');
|
||||
|
||||
// 회원 로그인 정보중에서 쪽지등의 메뉴를 추가
|
||||
$oMemberController = &getController('member');
|
||||
$oMemberController->addMemberMenu('dispCommunicationFriend', 'cmd_view_friend');
|
||||
$oMemberController->addMemberMenu('dispCommunicationMessages', 'cmd_view_message_box');
|
||||
|
||||
// 새로운 쪽지에 대한 플래그가 있으면 쪽지 보기 팝업 띄움
|
||||
$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)) {
|
||||
@unlink($flag_file);
|
||||
Context::loadLang('./addons/member_communication/lang');
|
||||
|
||||
$script = sprintf('<script type="text/javascript"> xAddEventListener(window,"load", function() {if(confirm("%s")) { popopen("%s"); }}); </script>', Context::getLang('alert_new_message_arrived'), Context::getRequestUri().'?module=communication&act=dispCommunicationNewMessage');
|
||||
|
||||
Context::addHtmlHeader( $script );
|
||||
}
|
||||
|
||||
/**
|
||||
* 기능 수행 : 사용자 이름을 클릭시 요청되는 팝업메뉴의 메뉴에 쪽지 발송, 친구추가등의 링크 추가
|
||||
* 조건 : called_position == 'after_module_proc', module = 'member', act = 'getMemberMenu'
|
||||
**/
|
||||
} elseif($called_position == 'before_module_proc' && $this->module == 'member' && $this->act == 'getMemberMenu') {
|
||||
// 비로그인 사용자라면 패스
|
||||
if(!Context::get('is_logged')) return;
|
||||
|
||||
$oMemberController = &getController('member');
|
||||
|
||||
// 로그인된 사용자 정보를 구함
|
||||
$logged_info = Context::get('logged_info');
|
||||
$member_srl = Context::get('target_srl');
|
||||
$mid = Context::get('cur_mid');
|
||||
|
||||
// communication 모델 객체 생성
|
||||
$oCommunicationModel = &getModel('communication');
|
||||
|
||||
// 자신이라면 쪽지함 보기 기능 추가
|
||||
if($logged_info->member_srl == $member_srl) {
|
||||
|
||||
// 자신의 쪽지함 보기 기능 추가
|
||||
$oMemberController->addMemberPopupMenu(getUrl('','mid',$mid,'act','dispCommunicationMessages'), 'cmd_view_message_box', './modules/communication/tpl/images/icon_message_box.gif', 'self');
|
||||
|
||||
// 친구 목록 보기
|
||||
$oMemberController->addMemberPopupMenu(getUrl('','mid',$mid,'act','dispCommunicationFriend'), 'cmd_view_friend', './modules/communication/tpl/images/icon_friend_box.gif', 'self');
|
||||
|
||||
// 아니라면 쪽지 발송, 친구 등록 추가
|
||||
} else {
|
||||
// 대상 회원의 정보를 가져옴
|
||||
$target_member_info = $this->getMemberInfoByMemberSrl($member_srl);
|
||||
if(!$target_member_info->member_srl) return;
|
||||
|
||||
// 로그인된 사용자 정보를 구함
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
||||
// 쪽지 발송 메뉴를 만듬
|
||||
if( $logged_info->is_admin == 'Y' || $target_member_info->allow_message =='Y' || ($target_member_info->allow_message == 'F' && $oCommunicationModel->isFriend($member_srl)))
|
||||
$oMemberController->addMemberPopupMenu(getUrl('','module','communication','act','dispCommunicationSendMessage','receiver_srl',$member_srl), 'cmd_send_message', './modules/communication/tpl/images/icon_write_message.gif', 'popup');
|
||||
|
||||
// 친구 등록 메뉴를 만듬 (이미 등록된 친구가 아닐 경우)
|
||||
if(!$oCommunicationModel->isAddedFriend($member_srl))
|
||||
$oMemberController->addMemberPopupMenu(getUrl('','module','communication','act','dispCommunicationAddFriend','target_srl',$member_srl), 'cmd_add_friend', './modules/communication/tpl/images/icon_add_friend.gif', 'popup');
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue