DiscuzX/upload/source/class/helper/helper_pm.php

67 lines
1.8 KiB
PHP

<?php
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: helper_pm.php 31440 2012-08-28 07:22:57Z zhengqingpeng $
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class helper_pm {
public static function sendpm($toid, $subject, $message, $fromid = '', $replypmid = 0, $isusername = 0, $type = 0) {
global $_G;
if($fromid === '') {
$fromid = $_G['uid'];
}
$author = '';
if($fromid) {
if($fromid == $_G['uid']) {
$sendpmmaxnum = $_G['group']['allowsendpmmaxnum'];
$author = $_G['username'];
} else {
$user = getuserbyuid($fromid);
$author = $user['username'];
loadcache('usergroup_'.$user['groupid']);
$sendpmmaxnum = $_G['cache']['usergroup_'.$user['groupid']]['allowsendpmmaxnum'];
}
$currentnum = C::t('common_member_action_log')->count_day_hours(getuseraction('pmid'), $fromid);
if($sendpmmaxnum && $currentnum >= $sendpmmaxnum) {
return -16;
}
}
loaducenter();
$return = uc_pm_send($fromid, $toid, addslashes($subject), addslashes($message), 1, $replypmid, $isusername, $type);
if($return > 0 && $fromid) {
if($_G['setting']['cloud_status']) {
$msgService = Cloud::loadClass('Cloud_Service_Client_Message');
if(is_numeric($toid)) {
$msgService->add($toid, $fromid, $author, $_G['timestamp']);
} else {
$senduids = array();
foreach(C::t('common_member')->fetch_all_by_username(explode(',', $toid)) as $touser) {
$senduids[$touser['uid']] = $touser['uid'];
}
if($senduids) {
$msgService->add($senduids, $fromid, $author, $_G['timestamp']);
}
}
}
foreach(explode(',', $fromid) as $v) {
useractionlog($fromid, 'pmid');
}
}
return $return;
}
}
?>