mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 18:51:41 +09:00
member모듈에서 쪽지/친구등의 커뮤니케이션 기능을 communication 모듈로 분리. member_extra_info 애드온에서 쪽지/친구와 관련된 기능을 member_communication 애드온으로 분리
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4226 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f7968229e6
commit
08cee6952c
135 changed files with 1980 additions and 1293 deletions
|
|
@ -1,12 +1,12 @@
|
|||
<?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">Activation of Member's Additional Information and Communication Function.</title>
|
||||
<title xml:lang="ge">Die Aktivierung der Mitglied's weitere Informations-und Kommunikations-Funktion.</title>
|
||||
<title xml:lang="es">Addon para activar la función de la Información addcional del usuario y de la comunicación.</title>
|
||||
<title xml:lang="ru">Аддон для предоставления дополнительной информации о пользователях и коммуникации</title>
|
||||
<addon version="0.2">
|
||||
<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="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="jp">Zero</name>
|
||||
|
|
@ -16,74 +16,32 @@
|
|||
<name xml:lang="es">zero</name>
|
||||
<name xml:lang="ru">zero</name>
|
||||
<description xml:lang="ko">
|
||||
사용자의 정보중 이미지이름, 이미지마크, 서명등을 화면에 출력해주는 애드온입니다.
|
||||
이런 정보들을 사용하지 않을 경우를 대비하여 별도의 애드온으로 빼어서 실행시간을 줄여줍니다.
|
||||
회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다.
|
||||
이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요.
|
||||
1. 출력되기 직전 &lt;div class="member_회원번호"&gt;....&lt;/div&gt; 로 정의가 된 부분을 찾아 회원번호를 구해서 이미지이름, 이미지마크가 있는지를 확인하여 있으면 내용을 변경해버립니다.
|
||||
2. 출력되기 직전 &lt;div class="document_번호"&gt;...&lt;/div&gt;로 정의된 곳을 찾아 글의 내용이라 판단, 하단에 서명을 추가합니다.
|
||||
3. 새로운 쪽지가 왔을 경우 팝업으로 띄움
|
||||
4. MemberModel::getMemberMenu 호출시 대상이 회원일 경우 쪽지 보내기 기능 추가합니다.
|
||||
5. MemberModel::getMemberMenu 호출시 친구 등록 메뉴를 추가합니다.
|
||||
</description>
|
||||
<description xml:lang="jp">
|
||||
会員情報のイメージ名、イメージマーク、署名などを画面に表示するアドオンです。
|
||||
このような情報を使用しない場合、アドオンを「使用」に設定すれば、実行時間を少なくします。
|
||||
イメージ名、イメージマーク、署名などを表示させたい時は、このアドオンを「使用」に設定して下さい。
|
||||
1. 出力の直前 <div class="member_会員番号">....</div> に定義された部分を探し、会員番号をチェックしてイメージ名、イメージマークがあるかを確認します。あった場合は内容を変更します。
|
||||
2. 出力の直前 <div class="document_番号">...</div>に定義された部分を探し、書込みの内容だと判断して、下段に署名を追加します。
|
||||
3. 新しいメッセージが来た場合ポップアップで表示します。
|
||||
4. MemberModel::getMemberMenu を呼出す時、相手が会員の場合はメッセージ送信の機能を追加します。
|
||||
5. MemberModel::getMemberMenu を呼出す時、友達登録メニュを追加します。
|
||||
회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다.
|
||||
이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요.
|
||||
</description>
|
||||
<description xml:lang="zh-CN">
|
||||
此插件将把用户信息中的昵称图片,用户图标,签名等信息显示到页面当中。
|
||||
因部分用户不使用此项功能或为了考虑页面载入速度,以插件形式提供此项功能。
|
||||
要想使用会员扩展信息请激活此插件。
|
||||
1. 显示之前先查找定义为 &lt;div class="member_会员编号"&gt;....&lt;/div&gt; 的部分获得会员编号后,再以会员编号确认有没有昵称图片/用户图标,有的话即可更新相关内容。
|
||||
2. 显示之前先查找定义为 &lt;div class="document_编号"&gt;...&lt;/div&gt;的部分判断此处为主题内容后,在此处下方添加个人签名。
|
||||
3. 收到新消息时,用弹出窗口显示。
|
||||
4. 呼出MemberModel::getMemberMenu时,如对方是会员,就添加[发送短消息]功能。
|
||||
5. 呼出MemberModel::getMemberMenu时,添加[加为好友]菜单。
|
||||
회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다.
|
||||
이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요.
|
||||
</description>
|
||||
<description xml:lang="en">
|
||||
Among other information about users, this addon displays image name, image mark, and signature.
|
||||
This addon is normally turned off to reduce loading time.
|
||||
To display image name, image mark, and the signature, please turn on this addon.
|
||||
1. Right before displaying, this addon will seek for the unique key of the member from &lt;div class="member_{unique key of member}"&gt;....&lt;/div&gt; and will replace the content with the image name and/or image mark if they exist.
|
||||
2. Right before displaying, this addon will search for &lt;div class="document_{unique key of document}"&gt;...&lt;/div&gt; and will display the signature in the bottom of the article.
|
||||
3. When a new msessage is arrived, this will display the message in the popup window.
|
||||
4. This makes available to send a message if the target is a member when MemberModel::getMemberMenu is called.
|
||||
5. This adds a menu for registering as a friend when MemberModel::getMemberMenu is called.
|
||||
회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다.
|
||||
이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요.
|
||||
</description>
|
||||
<description xml:lang="ge">
|
||||
Unter anderem Informationen über Benutzer, dieses Addon zeigt Bild Name, Bild-Marke, und Unterschrift.
|
||||
Dieses Addon ist normalerweise ausgeschaltet zu verringern Ladezeit.
|
||||
So zeigen Sie Image-Namen-, Bild-Marke, und die Unterschrift, wenden Sie sich bitte in diesem Addon.
|
||||
1. Recht vor Anzeigen, dieses Addon wird sich für den eindeutigen Schlüssel des Mitglieds aus < div class = "member_ (eindeutigen Schlüssel zu den Mitgliedern)" > ....< / div > und ersetzen wird der Inhalt mit den Image-Namen und / oder Bild-Marke, wenn sie vorhanden sind.
|
||||
2. Recht vor Anzeigen, dieses Addon wird nach < div class = "document_ (eindeutigen Schlüssel des Dokuments)" ... > < / div > und die Anzeige der Signatur in der unteren der Artikel.
|
||||
3. Wenn eine neue msessage ist angekommen, dieser wird die Nachricht in einem Popup-Fenster.
|
||||
4. Dies stellt eine Nachricht zu senden, wenn das Ziel ist Mitglied bei MemberModel:: getMemberMenu aufgerufen.
|
||||
5. Dadurch wird ein Menü für die Eintragung als Freund, wenn MemberModel:: getMemberMenu aufgerufen.
|
||||
회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다.
|
||||
이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요.
|
||||
</description>
|
||||
<description xml:lang="es">
|
||||
Addon que permite mostrar en la pantalla las informaciones del usuario, la imagen del nombre, Imagen de marca y la firma .
|
||||
En caso de no usar estas informaciones, esta forma de usar separadamente en addon permite reducir el tiempo de ejecución.
|
||||
Deberá activar este addon si desea mostrar informaciones adicionales.
|
||||
1. Justo antes de mostrar la información del usuario, este addon buscará la definición "<div class="member_Número del usuario">....</div>", si la encuentra, reemplazará la imagen del nombre y/o la imagen de marca.
|
||||
2. Justo antes de mostrar, este addon va a localizar la definición "<div class="document_Número de documento">...</div> e insertará la firma en la parte final del documento.
|
||||
3. Si ha llegado un nuevo mensaje, aprarecerá una ventana popup.
|
||||
4. Se activa la función "Enviar Mensajes" si la persona que envió la nota es usuario al comprobar en MemberModel::getMemberMenu.
|
||||
5. Agrega el menú "Ägregar Amigo" al llamar MemberModel::getMemberMenu.
|
||||
회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다.
|
||||
이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요.
|
||||
</description>
|
||||
<description xml:lang="ru">
|
||||
Среди другой информации о пользователях, этот аддон показывает имя изображения, марку изображения и подпись.
|
||||
В случае, если Вы не используете эту информацию, это стоит в стороне от базовой информации, так что время выполнения будет снижено.
|
||||
Чтобы отображать имя изображения, марку изображения и подпись, пожалуйста, включите этот аддон.
|
||||
1. Прямо перед отображением информации пользователя, это создаст уникальный ключ члена из определения "&lt;div class="член_{уникальный ключ члена}"&gt;....&lt;/div&gt;" и заменит имя изображения и/или марку изображения, если они существуют.
|
||||
2. Прямо перед отображением, это должно найти определение "&lt;div class="документ_{уникальный ключ документа}"&gt;...&lt;/div&gt;" и вставить подпись внизу.
|
||||
3. Когда будет получено новое сообщение, оно всплывет.
|
||||
4. Это позволяет отправить сообщение, если назначение является членом, когда MemberModel::getMemberMenu вызывается.
|
||||
5. Это добавляет меню для регистрации как друга, когда MemberModel::getMemberMenu вызывается.
|
||||
회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다.
|
||||
이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요.
|
||||
</description>
|
||||
</author>
|
||||
</addon>
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = 'You have a new message. Do you want to check now?';
|
||||
?>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = 'Usted tiene un nuevo mensaje. Quiere comprobar ahora?';
|
||||
?>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = 'Sie haben eine neue Nachricht. Wollen Sie jetzt prüfen, ob?';
|
||||
?>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = '新しいメッセージが届きました。確認しますか。';
|
||||
?>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = '새로운 메세지가 도착하였습니다. 확인하시겠습니까?';
|
||||
?>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<?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 = 'У Вас есть новые сообщения. Хотите проверить сейчас?';
|
||||
?>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
$lang->alert_new_message_arrived = '您有新消息。要确认吗?';
|
||||
?>
|
||||
|
|
@ -4,22 +4,14 @@
|
|||
/**
|
||||
* @file image_name.addon.php
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief 사용자의 이미지이름/ 이미지마크나 커뮤니케이션 기능을 추가시킴
|
||||
*
|
||||
* 1. 출력되기 직전 <div class="member_회원번호">....</div> 로 정의가 된 부분을 찾아 회원번호를 구해서
|
||||
* 이미지이름, 이미지마크가 있는지를 확인하여 있으면 내용을 변경해버립니다.
|
||||
*
|
||||
* 3. 새로운 쪽지가 왔을 경우 팝업으로 띄움
|
||||
*
|
||||
* 4. MemberModel::getMemberMenu 호출시 대상이 회원일 경우 쪽지 보내기 기능 추가합니다.
|
||||
*
|
||||
* 5. MemberModel::getMemberMenu 호출시 친구 등록 메뉴를 추가합니다.
|
||||
* @brief 사용자의 이미지이름/ 이미지마크등을 출력
|
||||
*
|
||||
* <div class="member_회원번호">....</div> 로 정의가 된 부분을 찾아 회원번호를 구해서
|
||||
* 이미지이름, 이미지마크가 있는지를 확인하여 있으면 내용을 변경해버립니다.
|
||||
**/
|
||||
|
||||
/**
|
||||
* 1,2 기능 수행 : 출력되기 바로 직전일 경우에 이미지이름/이미지마크등을 변경
|
||||
* 조건 : called_position == 'before_display_content'
|
||||
* 출력되기 바로 직전일 경우에 이미지이름/이미지마크등을 변경
|
||||
**/
|
||||
if($called_position == "before_display_content") {
|
||||
|
||||
|
|
@ -29,88 +21,5 @@
|
|||
// 1. 출력문서중에서 <div class="member_번호">content</div>를 찾아 MemberController::transImageName() 를 이용하여 이미지이름/마크로 변경
|
||||
$output = preg_replace_callback('!<(div|span)([^\>]*)member_([0-9]+)([^\>]*)>(.*?)\<\/(div|span)\>!is', 'memberTransImageName', $output);
|
||||
|
||||
|
||||
/**
|
||||
* 3 기능 수행 : 시작할때 새쪽지가 왔는지 검사
|
||||
* 조건 : called_position = 'before_module_init', module != 'member'
|
||||
**/
|
||||
} elseif($called_position == 'before_module_init' && $this->module != 'member' && Context::get('is_logged') ) {
|
||||
|
||||
// 로그인된 사용자 정보를 구함
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
||||
// 회원 로그인 정보중에서 쪽지등의 메뉴를 추가
|
||||
$logged_info->menu_list['dispMemberFriend'] = 'cmd_view_friend';
|
||||
$logged_info->menu_list['dispMemberMessages'] = 'cmd_view_message_box';
|
||||
Context::set('logged_info', $logged_info);
|
||||
$_SESSION['logged_info'] = $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)) {
|
||||
@unlink($flag_file);
|
||||
Context::loadLang('./addons/member_extra_info/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=member&act=dispMemberNewMessage');
|
||||
Context::addHtmlHeader( $script );
|
||||
}
|
||||
|
||||
/**
|
||||
* 4,5 기능 수행 : 사용자 이름을 클릭시 요청되는 MemberModel::getMemberMenu 후에 $menu_list에 쪽지 발송, 친구추가등의 링크 추가
|
||||
* 조건 : called_position == 'after_module_proc', module = 'member', act = 'getMemberMenu'
|
||||
**/
|
||||
} elseif($called_position == 'after_module_proc' && $this->module == 'member' && $this->act == 'getMemberMenu') {
|
||||
// 비로그인 사용자라면 패스
|
||||
if(!Context::get('is_logged')) return;
|
||||
|
||||
// 로그인된 사용자 정보를 구함
|
||||
$logged_info = Context::get('logged_info');
|
||||
$member_srl = Context::get('target_srl');
|
||||
|
||||
// 템플릿에서 사용되기 전의 menu_list를 가져옴
|
||||
$menu_list = $this->get('menu_list');
|
||||
|
||||
// 자신이라면 쪽지함 보기 기능 추가
|
||||
if($logged_info->member_srl == $member_srl) {
|
||||
|
||||
// 4. 자신의 쪽지함 보기 기능 추가
|
||||
$menu_str = Context::getLang('cmd_view_message_box');
|
||||
$menu_link = "current_url.setQuery('act','dispMemberMessages').setQuery('message_type','')";
|
||||
$menu_list .= sprintf("\n%s,%s,move_url(%s,'Y')", Context::getRequestUri().'/modules/member/tpl/images/icon_message_box.gif', $menu_str, $menu_link);
|
||||
|
||||
// 5. 친구 목록 보기
|
||||
$menu_str = Context::getLang('cmd_view_friend');
|
||||
$menu_link = "current_url.setQuery('act','dispMemberFriend')";
|
||||
$menu_list .= sprintf("\n%s,%s,move_url(%s,'Y')", Context::getRequestUri().'/modules/member/tpl/images/icon_friend_box.gif',$menu_str, $menu_link);
|
||||
|
||||
|
||||
// 아니라면 쪽지 발송, 친구 등록 추가
|
||||
} else {
|
||||
|
||||
// 대상 회원의 정보를 가져옴
|
||||
$target_member_info = $this->getMemberInfoByMemberSrl($member_srl);
|
||||
if(!$target_member_info->member_srl) return;
|
||||
|
||||
// 로그인된 사용자 정보를 구함
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
||||
// 4. 쪽지 발송 메뉴를 만듬
|
||||
if( $logged_info->is_admin == 'Y' || $target_member_info->allow_message =='Y' || ($target_member_info->allow_message == 'F' && $this->isFriend($member_srl))) {
|
||||
$menu_str = Context::getLang('cmd_send_message');
|
||||
$menu_link = sprintf('%s?module=member&act=dispMemberSendMessage&receiver_srl=%s',Context::getRequestUri(),$member_srl);
|
||||
$menu_list .= sprintf("\n%s,%s,popopen('%s','sendMessage')", Context::getRequestUri().'/modules/member/tpl/images/icon_write_message.gif', $menu_str, $menu_link);
|
||||
}
|
||||
|
||||
// 5. 친구 등록 메뉴를 만듬 (이미 등록된 친구가 아닐 경우)
|
||||
if(!$this->isAddedFriend($member_srl)) {
|
||||
$menu_str = Context::getLang('cmd_add_friend');
|
||||
$menu_link = sprintf('%s?module=member&act=dispMemberAddFriend&target_srl=%s',Context::getRequestUri(),$member_srl);
|
||||
$menu_list .= sprintf("\n%s,%s,popopen('%s','addFriend')", Context::getRequestUri().'/modules/member/tpl/images/icon_add_friend.gif', $menu_str, $menu_link);
|
||||
}
|
||||
}
|
||||
|
||||
// 템플릿에 적용되게 하기 위해 module의 variables에 재등록
|
||||
$this->add('menu_list', $menu_list);
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue