Discuz! X 开发过程中常用函数或变量说明
本文为Discuz!x3 以上插件 模板 或 二次开发时,可能用到的系统函数 变量 说明,自用同时分享:1.系统变量:
$_G;
使用:先声明
global $_G;
适用版本:X2.5-X3.5
技巧:
当前用户UID $uid =$_G['uid'];
用户组:
$vars=$_G['cache']['plugin']['xmspace'];//插件设置的 用户组多选选项
$agent_groups = (array)unserialize($vars['agent_groups']);//可用用户组
$group_id =$_G['groupid'];//当前用户用户组
if(in_array($group_id,$agent_groups ){//判断当前用户用户组是否可以使用
}
2.获取用户积分
$credits_id =1;//对应后台系统积分编号
$user_money = DB::fetch_first("SELECT `extcredits".$credits_id."` FROM ".DB::table('common_member_count')." WHERE uid=".$_G['uid']);
$credits = $user_money['extcredits'.$credits_id]
说明:获取当前登陆用户 积分id 为1的积分值
3.获取指定积分id 名称
$credits_id =1;
$title = $_G['setting']['extcredits'][$credits_id]['title']
说明:获取积分编号1 的名称
4.获取指定用户表信息(uid)
$name = "xmspace.net";
$user_info = DB::fetch_first("SELECT * FROM " . DB::table('common_member') . " WHERE username='" . $name. '\'');
说明:获取 用户名为xmspace.net 的 用户表信息
$uid = "1";
$user_info = DB::fetch_first("SELECT * FROM " . DB::table('common_member') . " WHERE uid='" . $uid . '\'');
说明:获取 uid为1 的 用户表信息
5.获取指定板块id 板块名称
$forum_id =1;
$forum_name = DB::result_first('SELECT name FROM %t where fid =%d',array('forum_forum',$forum_id));//关联群组
说明:获取 板块为1 的 板块名称 当前登陆用户信息获取:
$_G['member']:用户名
$_G['member']:用户UID:
$_G['member']:邮箱地址
$_G['member']:经过MD5后的密码
$_G['member']:用户是否已经删除
$_G['member']:邮箱验证状态 0未验证 1验证通过
$_G['member']:头像上传状态 0未上传 1已上传
$_G['member']:视频认证 0未认证 1已认证
$_G['member']:所在管理组ID
$_G['member']:所在用户组ID
$_G['member']:所在用户组有效期
$_G['member']:扩展用户组
$_G['member']:注册时间
$_G['member']:214 现有总积分
$_G['member']:短消息声音
$_G['member']:所在时区
$_G['member']:新短消息数量
$_G['member']:新提醒数量
$_G['member']:访问权限
$_G['member']:是否拥有管理面板权限 0否 1是
$_G['member']:是否只接受好友短消息 0否 1是
$_G['member']:是否绑定QQ 0否 1是
$_G['member']:上次访问时间 获取指定uid 用户信息:
include_once 'source/function/function_core.php';
$uid = 1; // 替换为目标用户的UID
$user = getuserbyuid($uid);
if ($user) {
echo "用户名: " . $user['username'];
} else {
echo "用户不存在";
} 获取用户头像:
function avatar($uid, $size = 'small')
{
global $_G;
$uid = sprintf("%09d", $uid);
$dir1 = substr($uid, 0, 3);
$dir2 = substr($uid, 3, 2);
$dir3 = substr($uid, 5, 2);
$ucenterurl = $_G['setting']['ucenterurl'];
$file = $ucenterurl.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).'_avatar_'.$size.'.jpg';
return '<img width="48" height="48" src="'.$file.'?t='.time().'" onerror="this.onerror=null;this.src=\''.$ucenterurl.'/images/noavatar_'.$size.'.gif\'" />';
} 注册用户:
loaducenter();
$uid = uc_user_register(addslashes($newusername), $newpassword, $newemail, "", "", $_G["clientip"]);
自动登陆:function xmspace_net_login($uid)
{
global $_G;
if (!($member = getuserbyuid($uid, 1))) {
return false;
}
/*if (!( $member=DB::fetch_first("SELECT * FROM ".DB::table('common_member')." WHERE uid=".$uid))) {
return false;
}*/
if (isset($member['_inarchive'])) {
C::t('common_member_archive')->move_to_master($member['uid']);
}
require_once libfile('function/member');
$cookietime = 0;
setloginstatus($member, $cookietime);
include_once libfile('function/stat');
updatestat('register');
require_once libfile('cache/userstats', 'function');
build_cache_userstats();
return true;
} //随机email
function xmspace_net_rand_email($email)
{
$arr = explode("@",$email);
$p = $arr;
$e = $arr;
$charset = array(
"a","b","c","d","e","f","g","h","i","j","k","l","m",
"n","o","p","q","r","s","t","u","v","w","x","y","z",
"0","1","2","3","4","5","6","7","8","9"
);
$len = count($charset);
$res = "";
shuffle($charset);
for ($i=0; $i<2; ++$i) {
$rn = mt_rand(0,$len-1);
$char = $charset[$rn];
$charset[$rn] = $charset[$len-1];
--$len;
if (!is_numeric($char)) {
$seed = mt_rand(0,1);
if ($seed == 0) $char = strtoupper($char);
}
$res.= $char;
}
return "$p$res@$e";
}
页:
[1]