分类: 系统运维
2009-08-22 15:23:12
0519. * 用户登陆检查0520. *0521. * @param string $username 用户名/uid0522. * @param string $password 密码0523. * @param int $isuid 是否为uid0524. * @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 用户ID0543. * @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 Email0568. * @param int $ignoreoldpw 是否忽略旧密码, 忽略旧密码, 则不进行旧密码校验.0569. * @param int $questionid 安全提问0570. * @param string $answer 安全提问答案0571. * @return int0572. 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 用户的 UID0589. * @return int0590. >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 用户的 UID0601. */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 int0611. 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 Email0624. * @return0625. * 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. * @return0640. * -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. * @return0652. * -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 empty0663. * @return0664. * 受到保护的用户名列表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 是否为UID0677. * @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 老UID0690. * @param string $password 密码0691. * @param string $email Email0692. * @return int0693. -1 : 用户名不合法0694. -2 : 包含不允许注册的词语0695. -3 : 用户名已经存在0696. >1 : 表示成功,数值为 UID0697. */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 应用Id0713. * @param int $uid 用户Id0714. * @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 用户ID0724. * @param int $newpm 是否直接进入newpm0725. */0726.function uc_pm_location($uid, $newpm = 0) {0727. $apiurl = uc_api_url('pm_client', 'ls', "uid=$uid", ($newpm ? '&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 用户ID0738. * @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 回复的消息Id0758. * @param int $isusername 0 = $msgto 为 uid、1 = $msgto 为 username0759. * @return0760. * >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 ? "&pmid=$replypmid&do=reply" : '';0774. $apiurl = uc_api_url('pm_client', 'send', "uid=$fromuid", "&msgto=$msgto&subject=$subject&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 用户Id0786. * @param string $folder 打开的目录 inbox=收件箱,outbox=发件箱0787. * @param array $pmids 要删除的消息ID数组0788. * @return0789. * >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 用户Id0800. * @param array $uids 要删除的消息用户ID数组0801. * @return0802. * >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 用户Id0813. * @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 用户Id0825. * @param int $page 当前页0826. * @param int $pagesize 每页最大条目数0827. * @param string $folder 打开的目录 newbox=未读消息,inbox=收件箱,outbox=发件箱0828. * @param string $filter 过滤方式 newpm=未读消息,systempm=系统消息,announcepm=公共消息0829. $folder $filter0830. --------------------------0831. newbox0832. inbox newpm0833. systempm0834. announcepm0835. outbox newpm0836. 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 用户Id0852. */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 用户Id0862. * @param int $pmid 消息Id0863. * @param int $touid 消息对方用户Id0864. * @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 用户Id0879. * @param int $pmid 消息Id0880. * @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 用户Id0896. * @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 用户Id0907. * @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 用户Id0918. * @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 用户Id0929. * @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 用户ID0950. * @param int $from 原积分0951. * @param int $to 目标积分0952. * @param int $toappid 目标应用ID0953. * @param int $amount 积分数额0954. * @return0955. * 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 用户ID0983. * @param string $type 头像类型 real OR virtual 默认为 virtual0984. * @return string0985. */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&appid='.UC_APPID.'&input='.$uc_input.'&agent='.md5($_SERVER['HTTP_USER_AGENT']).'&ucapi='.urlencode(UC_API).'&avatartype='.$type;0990. if($returnhtml) {0991. return '0992. "allowScriptAccess" value="always" />0993. "scale" value="exactfit" />0994. "wmode" value="transparent" />0995. "quality" value="high" />0996. "bgcolor" value="#ffffff" />0997. "movie" value="'.$uc_avatarflash.'" />0998. "menu" value="false" />0999. 1000. ';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 邮件字符集,可选参数,默认为gbk1027. * @param boolean $htmlon 是否按html格式发送邮件,可选参数,默认为否1028. * @param integer $level 邮件级别,可选参数,取值0-127,默认为1,越大发送的优先级越高,为0时不入库,直接发送,会影响当前进程速度,慎用1029. * @return integer1030. * =0 : 失败1031. * >0 : 成功,返回插入记录的id,如果是多条则返回最后一条记录的id,若level等于0,则返回11032. */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 用户id1040. * @param string $size 头像尺寸,取值范围(big,middle,small),默认为 middle1041. * @param string $type 头像类型,取值范围(virtual,real),默认为virtual1042. * @return boolean1043. * true : 头像存在1044. * false: 头像不存在1045. */1046.function uc_check_avatar($uid, $size = 'middle', $type = 'virtual') {1047. $url = UC_API."/avatar.php?uid=$uid&size=$size&type=$type&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 mixd1059. * array('db' => 'xxx', 'file' => 'xxx');1060. * null 无法调用到接口1061. * string 文件版本低于1.51062. */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.?>chinaunix网友2009-12-11 10:50:06
/** 0673. * 取得用户数据 0674. * 0675. * @param string $username 用户名 0676. * @param int $isuid 是否为UID 0677. * @return array (uid, username, email) 0678. */ 怎样修改它的 return值呢??