typecho插件实现新注册用户为“贡献者”
作者:不烦恼 发布时间:April 6, 2011 分类:快乐学习
利用下班前的10分钟写了这个再简单不过的插件,实现了typecho新注册用户为“贡献者”。
详情及下载见论坛:http://forum.typecho.org/topic.php?id=1745
../plugins/RegContributor.php(最新修改加入是否允许“贡献者”管理文章及相关评论功能):
<?php /** * 新注册用户为贡献者(用户组) * * @package RegContributor * @author 不烦恼 * @version 1.0.1 * @link http://bufannao.com */ class RegContributor implements Typecho_Plugin_Interface { /** * 激活插件方法,如果激活失败,直接抛出异常 * * @access public * @return void * @throws Typecho_Plugin_Exception */ public static function activate(){ /* 实在是找不着接口的位置,只能插入到这里了 */ } /** * 禁用插件方法,如果禁用失败,直接抛出异常 * * @static * @access public * @return void * @throws Typecho_Plugin_Exception */ public static function deactivate(){} /** * 获取插件配置面板 * * @access public * @param Typecho_Widget_Helper_Form $form 配置面板 * @return void */ public static function config(Typecho_Widget_Helper_Form $form){ $manage = new Typecho_Widget_Helper_Form_Element_Radio('manage', 'false' => '否'), 'true', '允许管理','是否允许“贡献者”编辑或删除自己发布的文章及文章下的评论'); $form->addInput($manage); } /** * 个人用户的配置面板 * * @access public * @param Typecho_Widget_Helper_Form $form * @return void */ public static function personalConfig(Typecho_Widget_Helper_Form $form){} /** * 插件实现方法(注册贡献者) * * @access public * @return void */ public static function register($dataStruct){ $dataStruct['group'] = 'contributor'; return $dataStruct; } /** * 插件实现方法(禁止管理文章) * * @access public * @return void */ public static function disableManage(){ if(Helper::options()->plugin('RegContributor')->manage == 'false') { Typecho_Widget::widget('Widget_User')->to($user); if(((!empty($user->request->cid) AND $user->request->do == 'publish') OR $user->request->do == 'delete' ) AND !$user->pass('editor', true)){ throw new Typecho_Widget_Exception(_t('没有编辑权限'), 403); } } return; } }
附:写typecho的插件重点是要了解插件接口。
随着 飞天舞的脚步。。。支持一下。
呵呵,欢迎继续捧场
遵命。。。嘻嘻
不烦恼兄的插件太给力了,我最近也学着研究捣鼓一下,O(∩_∩)O~
支持啊,到时候学习一下!
站长,我爱你啊! 哈哈!XD
你要把这功能用在哪里啊?也不留个网站……
其实还可以再细分,允许删除?允许编辑?允许管理文章的评论?
暂时先用着吧,我要先把“足迹”这个插件写完。
站长,麻烦查看论坛,有新回复,谢谢!
已解决,看本文的代码(已更新)
真是速度~~顶你!看来以后需要插件就找你了,哇哈哈
尽力而为,互相帮助!