爱好者 > Typecho > Typecho教程 > Typecho用户组判断与输出等文档

Typecho用户组判断与输出等文档

作者:佚名 来源:爱好者 时间:2020-09-12

Typecho的用户组有6种,去除游客(指未登陆的人),还有五种,每种对应着不同的权限,详细权限划分可访问官方文档:http://docs.typecho.org/develop/acl


站长建立完网站自己的账号会被划分管理员(administrator)用户组,用户默认注册会被划分至关注者(subscriber)用户组,其中管理员(administrator),编辑(editor),贡献者(contributor),关注者(subscriber)这四种用户组站长可以在后台用户管理处为用户分配用户组。

而访问者(visitor)用户组在Typecho的默认中是一个没有被用到的用户组,估计是为了插件准备的用户组,比如给某个用户关小黑屋限制权限的功能,因为这个用户组的权限只有阅读功能,连修改个人资料的权限都没有哈哈哈!

推荐个权限狗插件,该插件可以设置用户注册时候的默认用户组等便利的功能!

输出当前用户的用户组
<?php 
switch ($this->user->group) {
case 'administrator':_e('管理员');break;
case 'editor': _e('编辑');break; 
case 'contributor': _e('贡献者'); break;
case 'subscriber': _e('关注者'); break; 
case 'visitor':_e('访问者'); break; 
default:_e('游客'); break;

?>
判断当前用户是否属于某个用户组
if($this->user->group=='administrator'){echo '是管理员'; }
if($this->user->group=='editor'){echo '是编辑'; }
if($this->user->group=='contributor'){echo '是贡献者'; }
if($this->user->group=='subscriber'){echo '是关注者'; }
if($this->user->group=='visitor'){echo '是访问者'; }
if(!$this->user->hasLogin()){echo '是游客';}//没登陆的就是游客哈!
判断文章作者的用户组
<?php 
switch ($this->author->group) {
case 'administrator':_e('管理员');break;
case 'editor': _e('编辑');break; 
case 'contributor': _e('贡献者'); break;
case 'subscriber': _e('关注者'); break; 
case 'visitor':_e('访问者'); break; 
default:_e('游客'); break;

?>
其实就是把user改成author,其他的都一样!

查询用户组的方便函数
function yonghuzu($uid=0)
{
    $db   = Typecho_Db::get();
    $prow = $db->fetchRow($db->select('group')->from('table.users')
                                 ->where('uid = ?', $uid));
    $group = $prow['group'];
if(empty($group)){$group="游客";}
return $group;
}
echo yonghuzu(这里填写用户的uid);