📄 client.php
字号:
/**
* 用户注册
*
* @param string $username 用户名
* @param string $password 密码
* @param string $email Email
* @return int
-1 : 用户名不合法
-2 : 包含不允许注册的词语
-3 : 用户名已经存在
-4 : email 格式有误
-5 : email 不允许注册
-6 : 该 email 已经被注册
>1 : 表示成功,数值为 UID
*/
function uc_user_register($username, $password, $email) {
return call_user_func(UC_API_FUNC, 'user', 'register', array('username'=>$username, 'password'=>$password, 'email'=>$email));
}
/**
* 用户登陆检查
*
* @param string $username 用户名/uid
* @param string $password 密码
* @param int $isuid 是否为uid
* @return array (uid/status, username, password, email)
数组第一项
1 : 成功
-1 : 用户不存在,或者被删除
-2 : 密码错
*/
function uc_user_login($username, $password, $isuid=0) {
$isuid = intval($isuid);
$return = call_user_func(UC_API_FUNC, 'user', 'login', array('username'=>$username, 'password'=>$password, 'isuid'=>$isuid));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 进入同步登录代码
*
* @param int $uid 用户ID
* @return string HTML代码
*/
function uc_user_synlogin($uid) {
return uc_api_post('user', 'synlogin', array('uid'=>$uid));
}
/**
* 进入同步登出代码
*
* @return string HTML代码
*/
function uc_user_synlogout() {
return uc_api_post('user', 'synlogout', array('uid'=>$uid));
}
/**
* 编辑用户
*
* @param string $username 用户名
* @param string $oldpw 旧密码
* @param string $newpw 新密码
* @param string $email Email
* @param int $ignoreoldpw 是否忽略旧密码, 忽略旧密码, 则不进行旧密码校验.
* @return int
1 : 修改成功
0 : 没有任何修改
-1 : 旧密码不正确
-4 : email 格式有误
-5 : email 不允许注册
-6 : 该 email 已经被注册
-7 : 没有做任何修改
-8 : 受保护的用户,没有权限修改
*/
function uc_user_edit($username, $oldpw, $newpw, $email, $ignoreoldpw = 0) {
return call_user_func(UC_API_FUNC, 'user', 'edit', array('username'=>$username, 'oldpw'=>$oldpw, 'newpw'=>$newpw, 'email'=>$email, 'ignoreoldpw'=>$ignoreoldpw));
}
/**
* 删除用户
*
* @param string/array $uid 用户的 UID
* @return int
>0 : 成功
0 : 失败
*/
function uc_user_delete($uid) {
return call_user_func(UC_API_FUNC, 'user', 'delete', array('uid'=>$uid));
}
/**
* 检查用户名是否为合法
*
* @param string $username 用户名
* @return int
1 : 合法
-1 : 用户名不合法
-2 : 包含要允许注册的词语
-3 : 用户名已经存在
*/
function uc_user_checkname($username) {
return call_user_func(UC_API_FUNC, 'user', 'check_username', array('username'=>$username));
}
/**
* 检查Email地址是否正确
*
* @param string $email Email
* @return
* 1 : 成功
* -4 : email 格式有误
* -5 : email 不允许注册
* -6 : 该 email 已经被注册
*/
function uc_user_checkemail($email) {
return call_user_func(UC_API_FUNC, 'user', 'check_email', array('email'=>$email));
}
/**
* 添加保护用户
*
* @param string/array $username 保护用户名
* @param string $admin 操作的管理员
* @return
* -1 : 失败
* 1 : 成功
*/
function uc_user_addprotected($username, $admin='') {
return call_user_func(UC_API_FUNC, 'user', 'addprotected', array('username'=>$username, 'admin'=>$admin));
}
/**
* 删除保护用户
*
* @param string/array $username 保护用户名
* @return
* -1 : 失败
* 1 : 成功
*/
function uc_user_deleteprotected($username) {
return call_user_func(UC_API_FUNC, 'user', 'deleteprotected', array('username'=>$username));
}
/**
* 得到受保护的用户名列表
*
* @param empty
* @return
* 受到保护的用户名列表
* array()
*/
function uc_user_getprotected() {
$return = call_user_func(UC_API_FUNC, 'user', 'getprotected', array('1'=>1));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 取得用户数据
*
* @param string $username 用户名
* @param int $isuid 是否为UID
* @return array (uid, username, email)
*/
function uc_get_user($username, $isuid=0) {
$return = call_user_func(UC_API_FUNC, 'user', 'get_user', array('username'=>$username, 'isuid'=>$isuid));
return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return);
}
/**
* 用户合并最后的处理
*
* @param string $oldusername 老用户名
* @param string $newusername 新用户名
* @param string $uid 老UID
* @param string $password 密码
* @param string $email Email
* @return int
-1 : 用户名不合法
-2 : 包含不允许注册的词语
-3 : 用户名已经存在
>1 : 表示成功,数值为 UID
*/
function uc_user_merge($oldusername, $newusername, $uid, $password, $email) {
return call_user_func(UC_API_FUNC, 'user', 'merge', array('oldusername'=>$oldusername, 'newusername'=>$newusername, 'uid'=>$uid, 'password'=>$password, 'email'=>$email));
}
/**
* 进入短消息界面
*
* @param int $uid 用户ID
* @param int $newpm 是否直接进入newpm
*/
function uc_pm_location($uid, $newpm = 0) {
$apiurl = uc_api_url('pm_client', 'ls', "uid=$uid", ($newpm ? '&folder=newbox' : ''));
@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
* @return int 是否存在新短消息
* 1 是
* 0 否
*/
function uc_pm_checknew($uid) {
return call_user_func(UC_API_FUNC, 'pm', 'check_newpm', array('uid'=>$uid));
}
/**
* 发送短消息
*
* @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 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
* @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
* @return array() 短消息内容数组
*/
function uc_pm_view($uid, $pmid) {
$uid = intval($uid);
$pmid = @is_numeric($pmid) ? $pmid : 0;
$return = call_user_func(UC_API_FUNC, 'pm', 'view', array('uid'=>$uid, 'pmid'=>$pmid));
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));
}
/**
* 获取域名解析表
*
* @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
* @return string
*/
function uc_avatar($uid) {
$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);
return '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9" width=447 height=477 id="mycamera"><param name="movie" value="'.$uc_avatarflash.'"><param name="quality" value="high"><param name="menu" value="false"><embed src="'.$uc_avatarflash.'" quality="high" menu="false" width="447" height="477" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" name="mycamera" swLiveConnect="true"></embed></object>';
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -