📄 authtopic.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs;import biz.tbuy.common.Visitor;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b> * <a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b> * <a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class AuthTopic extends AuthForum{ private boolean _topicView; private boolean _topicMove; private boolean _topicLock; private boolean _topicUpdateContent; private boolean _topicUpdateAuth; private boolean _topicRevoke; private boolean _topicBgsound; public AuthTopic() {} public AuthTopic(TopicModel topic, Visitor visitor) { loadAuthenticator(topic, visitor); } protected void loadAuthenticator(TopicModel topic, Visitor visitor) { ForumModel forum = getBBSApplication().getForumsMap().get(topic.getByForum()); super.loadAuthenticator(forum, visitor); // 载入父forum的权限配置 _power = getBBSApplication().getPower(visitor, topic); loadAuth(topic, visitor); } private void loadAuth(TopicModel topic, Visitor visitor) { // 复盖父级权限 _reply = (_reply && (!topic.getBeLock() || _power >= BBSGroups.POWER_MASTER)); // -------------------------------------------------- topic _topicView = true; if (!_visible) { _topicView = false; } else { if (topic.getAuthType() == BBSGroups.READER_AUTH_ALL) { _topicView = true; } else if (topic.getAuthType() == BBSGroups.READER_AUTH_LOGIN) { _topicView = visitor.isLogin() ? true : false; } else if (topic.getAuthType() == BBSGroups.READER_AUTH_GROUPS) { _topicView = false; String[] groups = topic.getAuthGroups().split(","); String group = getBBSSession().getGroup(); for (int i = 0; i < groups.length; i++) { if (group.equals(groups[i])) { _topicView = true; break; } } } if (_power >= BBSGroups.POWER_AUTHOR) _topicView = true; } // 主题移动及锁定:至少需要版主权限 _topicMove = _power >= BBSGroups.POWER_MASTER; _topicLock = _power >= BBSGroups.POWER_MASTER; // 编辑文章主体内容:如果已经锁定,则最少需要版主权限,否则需要作者权限 _topicUpdateContent = topic.getBeLock() ? _power >= BBSGroups.POWER_MASTER : _power >= BBSGroups.POWER_AUTHOR; // 文章阅读权限及回收:如果已经锁定,则最少需要版主权限,否则使用作者权限 _topicUpdateAuth = topic.getBeLock() ? _power >= BBSGroups.POWER_MASTER : _power >= BBSGroups.POWER_AUTHOR; _topicRevoke = topic.getBeLock() ? _power >= BBSGroups.POWER_MASTER : _power >= BBSGroups.POWER_AUTHOR; // 如果BBS系统允许使用bgsound则使用作者权限以上可修改,否则需要admin权限 _topicBgsound = getBBSApplication().isBgsound() ? _power >= BBSGroups.POWER_AUTHOR : _power >= BBSGroups.POWER_ADMIN; } /** 获取用户是否有权限查看该贴子 */ public boolean isTopicView() { return _topicView; } /** 获取用户是否有权移动文章 */ public boolean isTopicMove() { return _topicMove; } /** 获取用户是否有权限操作已锁定的主题信息 */ public boolean isTopicLock() { return _topicLock; } /** 获取用户是否有权限更新文章内容 */ public boolean isTopicUpdateContent() { return _topicUpdateContent; } /** 获取用户是否有权限更新文章的阅读权限 */ public boolean isTopicUpdateAuth() { return _topicUpdateAuth; } /** 获取用户是否有权限回收文章 */ public boolean isTopicRevoke() { return _topicRevoke; } /** 获取是否可以操作主题的背景音乐 */ public boolean isTopicBgsound() { return _topicBgsound; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -