⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.php

📁 PPExam 是一个通用的在线考试系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
/**
 * 用户注册
 *
 * @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 + -