mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 03:01:43 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0_english@8278 201d5d3c-b55e-5fd7-737f-ddc643e51545
73 lines
4.2 KiB
PHP
73 lines
4.2 KiB
PHP
<?php
|
|
if(!defined("__ZBXE__")) exit();
|
|
|
|
/**
|
|
* @file member_communication.addon.php
|
|
* @author NHN (developers@xpressengine.com)
|
|
* @brief Promote user communication
|
|
*
|
|
* - Pop-up the message if new message comes in
|
|
* - When calling MemberModel::getMemberMenu, feature to send a message is added
|
|
* - When caliing MemberModel::getMemberMenu, feature to add a friend is added
|
|
**/
|
|
// Stop if non-logged-in user is
|
|
$logged_info = Context::get('logged_info');
|
|
if(!$logged_info) return;
|
|
|
|
/**
|
|
* Message/Friend munus are added on the pop-up window and member profile. Check if a new message is received
|
|
**/
|
|
if($called_position == 'before_module_init' && $this->module != 'member') {
|
|
// Load a language file from the communication module
|
|
Context::loadLang('./modules/communication/lang');
|
|
// Add menus on the member login information
|
|
$oMemberController = &getController('member');
|
|
$oMemberController->addMemberMenu('dispCommunicationFriend', 'cmd_view_friend');
|
|
$oMemberController->addMemberMenu('dispCommunicationMessages', 'cmd_view_message_box');
|
|
// Pop-up to display messages if a flag on new message is set
|
|
$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)) {
|
|
$new_message_count = FileHandler::readFile($flag_file);
|
|
FileHandler::removeFile($flag_file);
|
|
Context::loadLang('./addons/member_communication/lang');
|
|
|
|
$script = sprintf('<script type="text/javascript"> jQuery(function() { if(confirm("%s")) { popopen("%s"); } }); </script>', sprintf(Context::getLang('alert_new_message_arrived'), $new_message_count), Context::getRequestUri().'?module=communication&act=dispCommunicationNewMessage');
|
|
|
|
Context::addHtmlHeader( $script );
|
|
}
|
|
|
|
/**
|
|
* Links are added on the pop-up menu which appears when clicking user name
|
|
**/
|
|
} elseif($called_position == 'before_module_proc' && $this->act == 'getMemberMenu') {
|
|
|
|
$oMemberController = &getController('member');
|
|
$member_srl = Context::get('target_srl');
|
|
$mid = Context::get('cur_mid');
|
|
// Creates communication model object
|
|
$oCommunicationModel = &getModel('communication');
|
|
// Add a feature to display own message box.
|
|
if($logged_info->member_srl == $member_srl) {
|
|
// Add your own viewing Note Template
|
|
$oMemberController->addMemberPopupMenu(getUrl('','mid',$mid,'act','dispCommunicationMessages'), 'cmd_view_message_box', './modules/communication/tpl/images/icon_message_box.gif', 'self');
|
|
// Display a list of friends
|
|
$oMemberController->addMemberPopupMenu(getUrl('','mid',$mid,'act','dispCommunicationFriend'), 'cmd_view_friend', './modules/communication/tpl/images/icon_friend_box.gif', 'self');
|
|
// If not, Add menus to send message and to add friends
|
|
} else {
|
|
// Get member information
|
|
$oMemberModel = &getModel('member');
|
|
$target_member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
|
if(!$target_member_info->member_srl) return;
|
|
// Get logged-in user information
|
|
$logged_info = Context::get('logged_info');
|
|
// Add a menu for sending message
|
|
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');
|
|
// Add a menu for listing friends (if a friend is new)
|
|
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');
|
|
}
|
|
}
|
|
?>
|