📄 client.php
字号:
* 0 否
*/
function uc_pm_checknew($uid, $more = 0) {
$return = call_user_func(UC_API_FUNC, 'pm', 'check_newpm', array('uid'=>$uid, 'more'=>$more));
return (!$more || UC_CONNECT == 'mysql') ? $return : uc_unserialize($return);
}
/**
* 发送短消息
*
* @param int $fromuid 发件人uid 0 为系统消息
* @param mix $msgto 收件人 uid/username 多个逗号分割
* @param mix $subject 标题
* @param mix $message 内容
* @param int $instantly 立即发送 1 立即发送(默认) 0 进入短消息发送界面
* @param int $replypid 回复的消息Id
* @param int $isusername 0 = $msgto 为 uid、1 = $msgto 为 username
* @return
* >1 发送成功的人数
* 0 收件人不存在
*/
function uc_pm_send($fromuid, $msgto, $subject, $message, $instantly = 1, $replypmid = 0, $isusername = 0) {
if($instantly) {
$replypmid = @is_numeric($replypmid) ? $replypmid : 0;
return call_user_func(UC_API_FUNC, 'pm', 'sendpm', array('fromuid'=>$fromuid, 'msgto'=>$msgto, 'subject'=>$subject, 'message'=>$message, 'replypmid'=>$replypmid, 'isusername'=>$isusername));
} else {
$fromuid = intval($fromuid);
$subject = urlencode($subject);
$msgto = urlencode($msgto);
$message = urlencode($message);
$replypmid = @is_numeric($replypmid) ? $replypmid : 0;
$replyadd = $replypmid ? "&pmid=$replypmid&do=reply" : '';
$apiurl = uc_api_url('pm_client', 'send', "uid=$fromuid", "&msgto=$msgto&subject=$subject&message=$message$replyadd");
@header("Expires: 0");
@header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE);
@header("Pragma: no-cache");
@header("location: ".$apiurl);
}
}
/**
* 删除短消息
*
* @param int $uid 用户Id
* @param string $folder 打开的目录 inbox=收件箱,outbox=发件箱
* @param array $pmids 要删除的消息ID数组
* @return
* >0 成功
* <=0 失败
*/
function uc_pm_delete($uid, $folder, $pmids) {
return call_user_func(UC_API_FUNC, 'pm', 'delete', array('uid'=>$uid, 'folder'=>$folder, 'pmids'=>$pmids));
}
/**
* 按照用户删除短消息
*
* @param int $uid 用户Id
* @param array $uids 要删除的消息用户ID数组
* @return
* >0 成功
* <=0 失败
*/
function uc_pm_deleteuser($uid, $touids) {
return call_user_func(UC_API_FUNC, 'pm', 'deleteuser', array('uid'=>$uid, 'touids'=>$touids));
}
/**
* 标记已读/未读状态
*
* @param int $uid 用户Id
* @param array $uids 要标记已读状态的用户ID数组
* @param array $pmids 要标记已读状态的消息ID数组
* @param int $status 1 已读 0 未读
*/
function uc_pm_readstatus($uid, $uids, $pmids = array(), $status = 0) {
return call_user_func(UC_API_FUNC, 'pm', 'readstatus', array('uid'=>$uid, 'uids'=>$uids, 'pmids'=>$pmids, 'status'=>$status));
}
/**
* 获取短消息列表
*
* @param int $uid 用户Id
* @param int $page 当前页
* @param int $pagesize 每页最大条目数
* @param string $folder 打开的目录 newbox=未读消息,inbox=收件箱,outbox=发件箱
* @param string $filter 过滤方式 newpm=未读消息,systempm=系统消息,announcepm=公共消息
$folder $filter
--------------------------
newbox
inbox newpm
systempm
announcepm
outbox newpm
searchbox *
* @param string $msglen 截取的消息文字长度
* @return array('count' => 消息总数, 'data' => 短消息数据)
*/
function uc_pm_list($uid, $page = 1, $pagesize = 10, $folder = 'inbox', $filter = 'newpm', $msglen = 0) {
$uid = intval($uid);
$page = intval($page);
$pagesize = intval($pagesize);
$return = call_user_func(UC_API_FUNC, 'pm', 'ls', array('uid'=>$uid, 'page'=>$page, 'pagesize'=>$pagesize, 'folder'=>$folder, 'filter'=>$filter, 'msglen'=>$msglen));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 忽略未读消息提示
*
* @param int $uid 用户Id
*/
function uc_pm_ignore($uid) {
$uid = intval($uid);
return call_user_func(UC_API_FUNC, 'pm', 'ignore', array('uid'=>$uid));
}
/**
* 获取短消息内容
*
* @param int $uid 用户Id
* @param int $pmid 消息Id
* @param int $touid 消息对方用户Id
* @param int $daterange 日期范围 1=今天,2=昨天,3=前天,4=上周,5=更早
* @return array() 短消息内容数组
*/
function uc_pm_view($uid, $pmid, $touid = 0, $daterange = 1) {
$uid = intval($uid);
$touid = intval($touid);
$pmid = @is_numeric($pmid) ? $pmid : 0;
$return = call_user_func(UC_API_FUNC, 'pm', 'view', array('uid'=>$uid, 'pmid'=>$pmid, 'touid'=>$touid, 'daterange'=>$daterange));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 获取单条短消息内容
*
* @param int $uid 用户Id
* @param int $pmid 消息Id
* @param int $type 0 = 获取指定单条消息
1 = 获取指定用户发的最后单条消息
2 = 获取指定用户收的最后单条消息
* @return array() 短消息内容数组
*/
function uc_pm_viewnode($uid, $type = 0, $pmid = 0) {
$uid = intval($uid);
$pmid = @is_numeric($pmid) ? $pmid : 0;
$return = call_user_func(UC_API_FUNC, 'pm', 'viewnode', array('uid'=>$uid, 'pmid'=>$pmid, 'type'=>$type));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 获取黑名单
*
* @param int $uid 用户Id
* @return string 黑名单内容
*/
function uc_pm_blackls_get($uid) {
$uid = intval($uid);
return call_user_func(UC_API_FUNC, 'pm', 'blackls_get', array('uid'=>$uid));
}
/**
* 设置黑名单
*
* @param int $uid 用户Id
* @param int $blackls 黑名单内容
*/
function uc_pm_blackls_set($uid, $blackls) {
$uid = intval($uid);
return call_user_func(UC_API_FUNC, 'pm', 'blackls_set', array('uid'=>$uid, 'blackls'=>$blackls));
}
/**
* 添加黑名单项目
*
* @param int $uid 用户Id
* @param int $username 用户名
*/
function uc_pm_blackls_add($uid, $username) {
$uid = intval($uid);
return call_user_func(UC_API_FUNC, 'pm', 'blackls_add', array('uid'=>$uid, 'username'=>$username));
}
/**
* 删除黑名单项目
*
* @param int $uid 用户Id
* @param int $username 用户名
*/
function uc_pm_blackls_delete($uid, $username) {
$uid = intval($uid);
return call_user_func(UC_API_FUNC, 'pm', 'blackls_delete', array('uid'=>$uid, 'username'=>$username));
}
/**
* 获取域名解析表
*
* @return array()
*/
function uc_domain_ls() {
$return = call_user_func(UC_API_FUNC, 'domain', 'ls', array('1'=>1));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 积分兑换请求
*
* @param int $uid 用户ID
* @param int $from 原积分
* @param int $to 目标积分
* @param int $toappid 目标应用ID
* @param int $amount 积分数额
* @return
* 1 : 成功
* 0 : 失败
*/
function uc_credit_exchange_request($uid, $from, $to, $toappid, $amount) {
$uid = intval($uid);
$from = intval($from);
$toappid = intval($toappid);
$to = intval($to);
$amount = intval($amount);
return uc_api_post('credit', 'request', array('uid'=>$uid, 'from'=>$from, 'to'=>$to, 'toappid'=>$toappid, 'amount'=>$amount));
}
/**
* 返回指定的相关TAG数据
*
* @param string $tagname TAG名称
* @param int $totalnum 返回数据的条目数
* @return array() 序列化过的数组,数组内容为当前或其他应用的相关TAG数据
*/
function uc_tag_get($tagname, $nums = 0) {
$return = call_user_func(UC_API_FUNC, 'tag', 'gettag', array('tagname'=>$tagname, 'nums'=>$nums));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 修改头像
*
* @param int $uid 用户ID
* @param string $type 头像类型 real OR virtual 默认为 virtual
* @return string
*/
function uc_avatar($uid, $type = 'virtual', $returnhtml = 1) {
$uid = intval($uid);
$uc_input = uc_api_input("uid=$uid");
$uc_avatarflash = UC_API.'/images/camera.swf?inajax=1&appid='.UC_APPID.'&input='.$uc_input.'&agent='.md5($_SERVER['HTTP_USER_AGENT']).'&ucapi='.urlencode(UC_API).'&avatartype='.$type;
if($returnhtml) {
return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="447" height="477" id="mycamera" align="middle">
<param name="allowScriptAccess" value="always" />
<param name="scale" value="exactfit" />
<param name="wmode" value="transparent" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="movie" value="'.$uc_avatarflash.'" />
<param name="menu" value="false" />
<embed src="'.$uc_avatarflash.'" quality="high" bgcolor="#ffffff" width="447" height="477" name="mycamera" align="middle" allowScriptAccess="always" allowFullScreen="false" scale="exactfit" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>';
} else {
return array(
'width', '447',
'height', '477',
'scale', 'exactfit',
'src', $uc_avatarflash,
'id', 'mycamera',
'name', 'mycamera',
'quality','high',
'bgcolor','#ffffff',
'wmode','transparent',
'menu', 'false',
'swLiveConnect', 'true',
'allowScriptAccess', 'always'
);
}
}
/**
* 邮件队列
*
* @param string $uids 用户名id,多个用逗号(,)隔开
* @param string $emails 邮件地址,多个用逗号隔开
* @param string $subject 邮件标题
* @param string $message 邮件内容
* @param string $charset 邮件字符集,可选参数,默认为gbk
* @param boolean $htmlon 是否按html格式发送邮件,可选参数,默认为否
* @param integer $level 邮件级别,可选参数,取值0-127,默认为1,越大发送的优先级越高,为0时不入库,直接发送,会影响当前进程速度,慎用
* @return integer
* =0 : 失败
* >0 : 成功,返回插入记录的id,如果是多条则返回最后一条记录的id,若level等于0,则返回1
*/
function uc_mail_queue($uids, $emails, $subject, $message, $frommail = '', $charset = 'gbk', $htmlon = FALSE, $level = 1) {
return call_user_func(UC_API_FUNC, 'mail', 'add', array('uids' => $uids, 'emails' => $emails, 'subject' => $subject, 'message' => $message, 'frommail' => $frommail, 'charset' => $charset, 'htmlon' => $htmlon, 'level' => $level));
}
/**
* 检测是否存在指定头像
* @param integer $uid 用户id
* @param string $size 头像尺寸,取值范围(big,middle,small),默认为 middle
* @param string $type 头像类型,取值范围(virtual,real),默认为virtual
* @return boolean
* true : 头像存在
* false: 头像不存在
*/
function uc_check_avatar($uid, $size = 'middle', $type = 'virtual') {
$url = UC_API."/avatar.php?uid=$uid&size=$size&type=$type&check_file_exists=1";
$res = @file_get_contents($url);
if($res == 1) {
return 1;
} else {
return 0;
}
}
/**
* 检测uc_server的数据库版本和程序版本
* @return mixd
* array('db' => 'xxx', 'file' => 'xxx');
* null 无法调用到接口
* string 文件版本低于1.5
*/
function uc_check_version() {
$return = uc_api_post('version', 'check', array());
$data = uc_unserialize($return);
return is_array($data) ? $data : $return;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -