首页 php下载 php教程 电脑软件 手机软件 手机游戏 单机游戏 资讯文章 专题下载 标签合集

代码解读--unclient/client.php_2

时间:2009-08-22

来源:sinkingboat

在手机上看
手机扫描阅读
接代码解读--unclient/client.php_1
0518./**
0519. * 用户登陆检查 0520. * 0521. * @param string $username  用户名/uid 0522. * @param string $password  密码 0523. * @param int $isuid        是否为uid 0524. * @param int $checkques    是否使用检查安全问答 0525. * @param int $questionid   安全提问 0526. * @param string $answer    安全提问答案 0527. * @return array (uid/status, username, password, email) 0528.    数组第一项 0529.    1  : 成功 0530.    -1 : 用户不存在,或者被删除 0531.    -2 : 密码错 0532.*/ 0533.function uc_user_login($username, $password, $isuid = 0, $checkques = 0, $questionid = '', $answer = '') { 0534.    $isuid = intval($isuid); 0535.    $return = call_user_func(UC_API_FUNC, 'user', 'login', array('username'=>$username, 'password'=>$password, 'isuid'=>$isuid, 'checkques'=>$checkques, 'questionid'=>$questionid, 'answer'=>$answer)); 0536.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0537.} 0538.  0539./** 0540. * 进入同步登录代码 0541. * 0542. * @param int $uid      用户ID 0543. * @return string       HTML代码 0544. */ 0545.function uc_user_synlogin($uid) { 0546.    $uid = intval($uid); 0547.    $return = uc_api_post('user', 'synlogin', array('uid'=>$uid)); 0548.    return $return; 0549.} 0550.  0551./** 0552. * 进入同步登出代码 0553. * 0554. * @return string       HTML代码 0555. */ 0556.function uc_user_synlogout() { 0557.    $return = uc_api_post('user', 'synlogout', array()); 0558.    return $return; 0559.} 0560.  0561./** 0562. * 编辑用户 0563. * 0564. * @param string $username  用户名 0565. * @param string $oldpw     旧密码 0566. * @param string $newpw     新密码 0567. * @param string $email     Email 0568. * @param int $ignoreoldpw  是否忽略旧密码, 忽略旧密码, 则不进行旧密码校验. 0569. * @param int $questionid   安全提问 0570. * @param string $answer    安全提问答案 0571. * @return int 0572.    1  : 修改成功 0573.    0  : 没有任何修改 0574.    -1 : 旧密码不正确 0575.    -4 : email 格式有误 0576.    -5 : email 不允许注册 0577.    -6 : 该 email 已经被注册 0578.    -7 : 没有做任何修改 0579.    -8 : 受保护的用户,没有权限修改 0580.*/ 0581.function uc_user_edit($username, $oldpw, $newpw, $email, $ignoreoldpw = 0, $questionid = '', $answer = '') { 0582.    return call_user_func(UC_API_FUNC, 'user', 'edit', array('username'=>$username, 'oldpw'=>$oldpw, 'newpw'=>$newpw, 'email'=>$email, 'ignoreoldpw'=>$ignoreoldpw, 'questionid'=>$questionid, 'answer'=>$answer)); 0583.} 0584.  0585./** 0586. * 删除用户 0587. * 0588. * @param string/array $uid 用户的 UID 0589. * @return int 0590.    >0 : 成功 0591.    0 : 失败 0592. */ 0593.function uc_user_delete($uid) { 0594.    return call_user_func(UC_API_FUNC, 'user', 'delete', array('uid'=>$uid)); 0595.} 0596.  0597./** 0598. * 删除用户头像 0599. * 0600. * @param string/array $uid 用户的 UID 0601. */ 0602.function uc_user_deleteavatar($uid) { 0603.    uc_api_post('user', 'deleteavatar', array('uid'=>$uid)); 0604.} 0605.  0606./** 0607. * 检查用户名是否为合法 0608. * 0609. * @param string $username  用户名 0610. * @return int 0611.     1 : 合法 0612.    -1 : 用户名不合法 0613.    -2 : 包含要允许注册的词语 0614.    -3 : 用户名已经存在 0615. */ 0616.function uc_user_checkname($username) { 0617.    return call_user_func(UC_API_FUNC, 'user', 'check_username', array('username'=>$username)); 0618.} 0619.  0620./** 0621. * 检查Email地址是否正确 0622. * 0623. * @param string $email     Email 0624. * @return 0625. *      1  : 成功 0626. *  -4 : email 格式有误 0627. *  -5 : email 不允许注册 0628. *  -6 : 该 email 已经被注册 0629. */ 0630.function uc_user_checkemail($email) { 0631.    return call_user_func(UC_API_FUNC, 'user', 'check_email', array('email'=>$email)); 0632.} 0633.  0634./** 0635. * 添加保护用户 0636. * 0637. * @param string/array $username 保护用户名 0638. * @param string $admin    操作的管理员 0639. * @return 0640. *  -1 : 失败 0641. *   1 : 成功 0642. */ 0643.function uc_user_addprotected($username, $admin='') { 0644.    return call_user_func(UC_API_FUNC, 'user', 'addprotected', array('username'=>$username, 'admin'=>$admin)); 0645.} 0646.  0647./** 0648. * 删除保护用户 0649. * 0650. * @param string/array $username 保护用户名 0651. * @return 0652. *  -1 : 失败 0653. *   1 : 成功 0654. */ 0655.function uc_user_deleteprotected($username) { 0656.    return call_user_func(UC_API_FUNC, 'user', 'deleteprotected', array('username'=>$username)); 0657.} 0658.  0659./** 0660. * 得到受保护的用户名列表 0661. * 0662. * @param empty 0663. * @return 0664. *  受到保护的用户名列表 0665. *      array() 0666. */ 0667.function uc_user_getprotected() { 0668.    $return = call_user_func(UC_API_FUNC, 'user', 'getprotected', array('1'=>1)); 0669.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0670.} 0671.  0672./** 0673. * 取得用户数据 0674. * 0675. * @param string $username  用户名 0676. * @param int $isuid    是否为UID 0677. * @return array (uid, username, email) 0678. */ 0679.function uc_get_user($username, $isuid=0) { 0680.    $return = call_user_func(UC_API_FUNC, 'user', 'get_user', array('username'=>$username, 'isuid'=>$isuid)); 0681.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0682.} 0683.  0684./** 0685. * 用户合并最后的处理 0686. * 0687. * @param string $oldusername   老用户名 0688. * @param string $newusername   新用户名 0689. * @param string $uid       老UID 0690. * @param string $password  密码 0691. * @param string $email     Email 0692. * @return int 0693.    -1 : 用户名不合法 0694.    -2 : 包含不允许注册的词语 0695.    -3 : 用户名已经存在 0696.    >1 : 表示成功,数值为 UID 0697. */ 0698.function uc_user_merge($oldusername, $newusername, $uid, $password, $email) { 0699.    return call_user_func(UC_API_FUNC, 'user', 'merge', array('oldusername'=>$oldusername, 'newusername'=>$newusername, 'uid'=>$uid, 'password'=>$password, 'email'=>$email)); 0700.} 0701.  0702./** 0703. * 移去合并用户记录 0704. * @param string $username  用户名 0705. */ 0706.function uc_user_merge_remove($username) { 0707.    return call_user_func(UC_API_FUNC, 'user', 'merge_remove', array('username'=>$username)); 0708.} 0709.  0710./** 0711. * 获取指定应用的指定用户积分值 0712. * @param int $appid    应用Id 0713. * @param int $uid  用户Id 0714. * @param int $credit   积分编号 0715. */ 0716.function uc_user_getcredit($appid, $uid, $credit) { 0717.    return call_user_func(UC_API_FUNC, 'user', 'getcredit', array('appid'=>$appid, 'uid'=>$uid, 'credit'=>$credit)); 0718.} 0719.  0720./** 0721. * 进入短消息界面 0722. * 0723. * @param int $uid  用户ID 0724. * @param int $newpm    是否直接进入newpm 0725. */ 0726.function uc_pm_location($uid, $newpm = 0) { 0727.    $apiurl = uc_api_url('pm_client', 'ls', "uid=$uid", ($newpm ? '&amp;folder=newbox' : '')); 0728.    @header("Expires: 0"); 0729.    @header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE); 0730.    @header("Pragma: no-cache"); 0731.    @header("location: $apiurl"); 0732.} 0733.  0734./** 0735. * 检查新短消息 0736. * 0737. * @param  int $uid 用户ID 0738. * @param  int $more    详细信息 0739. * @return int      是否存在新短消息 0740. *  2   详细  (短消息数、公共消息数、最后消息时间, 最后消息内容) 0741. *  1   简单  (短消息数、公共消息数、最后消息时间) 0742. *  0   否 0743. */ 0744.function uc_pm_checknew($uid, $more = 0) { 0745.    $return = call_user_func(UC_API_FUNC, 'pm', 'check_newpm', array('uid'=>$uid, 'more'=>$more)); 0746.    return (!$more || UC_CONNECT == 'mysql') ? $return : uc_unserialize($return); 0747.} 0748.  0749./** 0750. * 发送短消息 0751. * 0752. * @param int $fromuid      发件人uid 0 为系统消息 0753. * @param mix $msgto        收件人 uid/username 多个逗号分割 0754. * @param mix $subject      标题 0755. * @param mix $message      内容 0756. * @param int $instantly    立即发送 1 立即发送(默认)  0 进入短消息发送界面 0757. * @param int $replypid     回复的消息Id 0758. * @param int $isusername   0 = $msgto 为 uid、1 = $msgto 为 username 0759. * @return 0760. *  >1   发送成功的人数 0761. *  0   收件人不存在 0762. */ 0763.function uc_pm_send($fromuid, $msgto, $subject, $message, $instantly = 1, $replypmid = 0, $isusername = 0) { 0764.    if($instantly) { 0765.        $replypmid = @is_numeric($replypmid) ? $replypmid : 0; 0766.        return call_user_func(UC_API_FUNC, 'pm', 'sendpm', array('fromuid'=>$fromuid, 'msgto'=>$msgto, 'subject'=>$subject, 'message'=>$message, 'replypmid'=>$replypmid, 'isusername'=>$isusername)); 0767.    } else { 0768.        $fromuid = intval($fromuid); 0769.        $subject = urlencode($subject); 0770.        $msgto = urlencode($msgto); 0771.        $message = urlencode($message); 0772.        $replypmid = @is_numeric($replypmid) ? $replypmid : 0; 0773.        $replyadd = $replypmid ? "&amp;pmid=$replypmid&amp;do=reply" : ''; 0774.        $apiurl = uc_api_url('pm_client', 'send', "uid=$fromuid", "&amp;msgto=$msgto&amp;subject=$subject&amp;message=$message$replyadd"); 0775.        @header("Expires: 0"); 0776.        @header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE); 0777.        @header("Pragma: no-cache"); 0778.        @header("location: ".$apiurl); 0779.    } 0780.} 0781.  0782./** 0783. * 删除短消息 0784. * 0785. * @param int $uid      用户Id 0786. * @param string $folder    打开的目录 inbox=收件箱,outbox=发件箱 0787. * @param array $pmids      要删除的消息ID数组 0788. * @return 0789. *  >0 成功 0790. *  <=0 失败 0791. */ 0792.function uc_pm_delete($uid, $folder, $pmids) { 0793.    return call_user_func(UC_API_FUNC, 'pm', 'delete', array('uid'=>$uid, 'folder'=>$folder, 'pmids'=>$pmids)); 0794.} 0795.  0796./** 0797. * 按照用户删除短消息 0798. * 0799. * @param int $uid      用户Id 0800. * @param array $uids       要删除的消息用户ID数组 0801. * @return 0802. *  >0 成功 0803. *  <=0 失败 0804. */ 0805.function uc_pm_deleteuser($uid, $touids) { 0806.    return call_user_func(UC_API_FUNC, 'pm', 'deleteuser', array('uid'=>$uid, 'touids'=>$touids)); 0807.} 0808.  0809./** 0810. * 标记已读/未读状态 0811. * 0812. * @param int $uid      用户Id 0813. * @param array $uids       要标记已读状态的用户ID数组 0814. * @param array $pmids      要标记已读状态的消息ID数组 0815. * @param int $status       1 已读 0 未读 0816. */ 0817.function uc_pm_readstatus($uid, $uids, $pmids = array(), $status = 0) { 0818.    return call_user_func(UC_API_FUNC, 'pm', 'readstatus', array('uid'=>$uid, 'uids'=>$uids, 'pmids'=>$pmids, 'status'=>$status)); 0819.} 0820.  0821./** 0822. * 获取短消息列表 0823. * 0824. * @param int $uid      用户Id 0825. * @param int $page         当前页 0826. * @param int $pagesize     每页最大条目数 0827. * @param string $folder    打开的目录 newbox=未读消息,inbox=收件箱,outbox=发件箱 0828. * @param string $filter    过滤方式 newpm=未读消息,systempm=系统消息,announcepm=公共消息 0829.                $folder     $filter 0830.                -------------------------- 0831.                newbox 0832.                inbox       newpm 0833.                        systempm 0834.                        announcepm 0835.                outbox      newpm 0836.                searchbox   * 0837. * @param string $msglen    截取的消息文字长度 0838. * @return array('count' => 消息总数, 'data' => 短消息数据) 0839. */ 0840.function uc_pm_list($uid, $page = 1, $pagesize = 10, $folder = 'inbox', $filter = 'newpm', $msglen = 0) { 0841.    $uid = intval($uid); 0842.    $page = intval($page); 0843.    $pagesize = intval($pagesize); 0844.    $return = call_user_func(UC_API_FUNC, 'pm', 'ls', array('uid'=>$uid, 'page'=>$page, 'pagesize'=>$pagesize, 'folder'=>$folder, 'filter'=>$filter, 'msglen'=>$msglen)); 0845.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0846.} 0847.  0848./** 0849. * 忽略未读消息提示 0850. * 0851. * @param int $uid      用户Id 0852. */ 0853.function uc_pm_ignore($uid) { 0854.    $uid = intval($uid); 0855.    return call_user_func(UC_API_FUNC, 'pm', 'ignore', array('uid'=>$uid)); 0856.} 0857.  0858./** 0859. * 获取短消息内容 0860. * 0861. * @param int $uid      用户Id 0862. * @param int $pmid     消息Id 0863. * @param int $touid        消息对方用户Id 0864. * @param int $daterange    日期范围 1=今天,2=昨天,3=前天,4=上周,5=更早 0865. * @return array() 短消息内容数组 0866. */ 0867.function uc_pm_view($uid, $pmid, $touid = 0, $daterange = 1) { 0868.    $uid = intval($uid); 0869.    $touid = intval($touid); 0870.    $pmid = @is_numeric($pmid) ? $pmid : 0; 0871.    $return = call_user_func(UC_API_FUNC, 'pm', 'view', array('uid'=>$uid, 'pmid'=>$pmid, 'touid'=>$touid, 'daterange'=>$daterange)); 0872.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0873.} 0874.  0875./** 0876. * 获取单条短消息内容 0877. * 0878. * @param int $uid      用户Id 0879. * @param int $pmid     消息Id 0880. * @param int $type     0 = 获取指定单条消息 0881.                1 = 获取指定用户发的最后单条消息 0882.                2 = 获取指定用户收的最后单条消息 0883. * @return array() 短消息内容数组 0884. */ 0885.function uc_pm_viewnode($uid, $type = 0, $pmid = 0) { 0886.    $uid = intval($uid); 0887.    $pmid = @is_numeric($pmid) ? $pmid : 0; 0888.    $return = call_user_func(UC_API_FUNC, 'pm', 'viewnode', array('uid'=>$uid, 'pmid'=>$pmid, 'type'=>$type)); 0889.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0890.} 0891.  0892./** 0893. * 获取黑名单 0894. * 0895. * @param int $uid      用户Id 0896. * @return string 黑名单内容 0897. */ 0898.function uc_pm_blackls_get($uid) { 0899.    $uid = intval($uid); 0900.    return call_user_func(UC_API_FUNC, 'pm', 'blackls_get', array('uid'=>$uid)); 0901.} 0902.  0903./** 0904. * 设置黑名单 0905. * 0906. * @param int $uid      用户Id 0907. * @param int $blackls      黑名单内容 0908. */ 0909.function uc_pm_blackls_set($uid, $blackls) { 0910.    $uid = intval($uid); 0911.    return call_user_func(UC_API_FUNC, 'pm', 'blackls_set', array('uid'=>$uid, 'blackls'=>$blackls)); 0912.} 0913.  0914./** 0915. * 添加黑名单项目 0916. * 0917. * @param int $uid      用户Id 0918. * @param int $username     用户名 0919. */ 0920.function uc_pm_blackls_add($uid, $username) { 0921.    $uid = intval($uid); 0922.    return call_user_func(UC_API_FUNC, 'pm', 'blackls_add', array('uid'=>$uid, 'username'=>$username)); 0923.} 0924.  0925./** 0926. * 删除黑名单项目 0927. * 0928. * @param int $uid      用户Id 0929. * @param int $username     用户名 0930. */ 0931.function uc_pm_blackls_delete($uid, $username) { 0932.    $uid = intval($uid); 0933.    return call_user_func(UC_API_FUNC, 'pm', 'blackls_delete', array('uid'=>$uid, 'username'=>$username)); 0934.} 0935.  0936./** 0937. * 获取域名解析表 0938. * 0939. * @return array() 0940. */ 0941.function uc_domain_ls() { 0942.    $return = call_user_func(UC_API_FUNC, 'domain', 'ls', array('1'=>1)); 0943.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0944.} 0945.  0946./** 0947. * 积分兑换请求 0948. * 0949. * @param int $uid      用户ID 0950. * @param int $from     原积分 0951. * @param int $to       目标积分 0952. * @param int $toappid      目标应用ID 0953. * @param int $amount       积分数额 0954. * @return 0955. *      1  : 成功 0956. *  0  : 失败 0957. */ 0958.function uc_credit_exchange_request($uid, $from, $to, $toappid, $amount) { 0959.    $uid = intval($uid); 0960.    $from = intval($from); 0961.    $toappid = intval($toappid); 0962.    $to = intval($to); 0963.    $amount = intval($amount); 0964.    return uc_api_post('credit', 'request', array('uid'=>$uid, 'from'=>$from, 'to'=>$to, 'toappid'=>$toappid, 'amount'=>$amount)); 0965.} 0966.  0967./** 0968. * 返回指定的相关TAG数据 0969. * 0970. * @param string $tagname   TAG名称 0971. * @param int $totalnum     返回数据的条目数 0972. * @return array() 序列化过的数组,数组内容为当前或其他应用的相关TAG数据 0973. */ 0974.function uc_tag_get($tagname, $nums = 0) { 0975.    $return = call_user_func(UC_API_FUNC, 'tag', 'gettag', array('tagname'=>$tagname, 'nums'=>$nums)); 0976.    return UC_CONNECT == 'mysql' ? $return : uc_unserialize($return); 0977.} 0978.  0979./** 0980. * 修改头像 0981. * 0982. * @param   int     $uid    用户ID 0983. * @param   string  $type   头像类型 real OR virtual 默认为 virtual 0984. * @return  string 0985. */ 0986.function uc_avatar($uid, $type = 'virtual', $returnhtml = 1) { 0987.    $uid = intval($uid); 0988.    $uc_input = uc_api_input("uid=$uid"); 0989.    $uc_avatarflash = UC_API.'/images/camera.swf?inajax=1&amp;appid='.UC_APPID.'&amp;input='.$uc_input.'&amp;agent='.md5($_SERVER['HTTP_USER_AGENT']).'&amp;ucapi='.urlencode(UC_API).'&amp;avatartype='.$type; 0990.    if($returnhtml) { 0991.        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"> 0992.            <param name="allowScriptAccess" value="always" /> 0993.            <param name="scale" value="exactfit" /> 0994.            <param name="wmode" value="transparent" /> 0995.            <param name="quality" value="high" /> 0996.            <param name="bgcolor" value="#ffffff" /> 0997.            <param name="movie" value="'.$uc_avatarflash.'" /> 0998.            <param name="menu" value="false" /> 0999.            <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" /> 1000.        </object>'; 1001.    } else { 1002.        return array( 1003.            'width', '447', 1004.            'height', '477', 1005.            'scale', 'exactfit', 1006.            'src', $uc_avatarflash, 1007.            'id', 'mycamera', 1008.            'name', 'mycamera', 1009.            'quality','high', 1010.            'bgcolor','#ffffff', 1011.            'wmode','transparent', 1012.            'menu', 'false', 1013.            'swLiveConnect', 'true', 1014.            'allowScriptAccess', 'always' 1015.        ); 1016.    } 1017.} 1018.  1019./** 1020. * 邮件队列 1021. * 1022. * @param   string  $uids       用户名id,多个用逗号(,)隔开 1023. * @param   string  $emails     邮件地址,多个用逗号隔开 1024. * @param   string  $subject    邮件标题 1025. * @param   string  $message    邮件内容 1026. * @param   string  $charset    邮件字符集,可选参数,默认为gbk 1027. * @param   boolean $htmlon     是否按html格式发送邮件,可选参数,默认为否 1028. * @param   integer $level      邮件级别,可选参数,取值0-127,默认为1,越大发送的优先级越高,为0时不入库,直接发送,会影响当前进程速度,慎用 1029. * @return  integer 1030. *      =0 : 失败 1031. *      >0 : 成功,返回插入记录的id,如果是多条则返回最后一条记录的id,若level等于0,则返回1 1032. */ 1033.function uc_mail_queue($uids, $emails, $subject, $message, $frommail = '', $charset = 'gbk', $htmlon = FALSE, $level = 1) { 1034.    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)); 1035.} 1036.  1037./** 1038. * 检测是否存在指定头像 1039. * @param   integer     $uid    用户id 1040. * @param   string      $size   头像尺寸,取值范围(big,middle,small),默认为 middle 1041. * @param   string      $type   头像类型,取值范围(virtual,real),默认为virtual 1042. * @return  boolean 1043. *      true : 头像存在 1044. *      false: 头像不存在 1045. */ 1046.function uc_check_avatar($uid, $size = 'middle', $type = 'virtual') { 1047.    $url = UC_API."/avatar.php?uid=$uid&amp;size=$size&amp;type=$type&amp;check_file_exists=1"; 1048.    $res = @file_get_contents($url); 1049.    if($res == 1) { 1050.        return 1; 1051.    } else { 1052.        return 0; 1053.    } 1054.} 1055.  1056./** 1057. * 检测uc_server的数据库版本和程序版本 1058. * @return mixd 1059. *      array('db' => 'xxx', 'file' => 'xxx'); 1060. *      null 无法调用到接口 1061. *      string 文件版本低于1.5 1062. */ 1063.function uc_check_version() { 1064.    $return = uc_api_post('version', 'check', array()); 1065.    $data = uc_unserialize($return); 1066.    return is_array($data) ? $data : $return; 1067.} 1068.  1069.?>

热门下载

更多