好久没有更新博客了。最近忙成狗了。随便开源一下我写的代码啦。
项目主页:https://github.com/hmoe/typechoSignPlugin
typecho 用户个性签名插件
安装方法:
在插件目录下面建立UserSign文件夹,把Plugin.php复制进去
注意:由于typecho的问题,插件的用户配置在读取的时候会自动读取在配置表里面的插件数据。如果要让用户的设置正常运行请修改 ‘/var/Widget/Users/Profile.php’。修改下面这个函数。不修改的话用户的个人页面里面显示用户的当前签名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /** * 输出自定义设置选项 * * @access public * @param string $pluginName 插件名称 * @param string $className 类名称 * @param string $pluginFileName 插件文件名 * @param string $group 用户组 * @return Typecho_Widget_Helper_Form */ public function personalForm($pluginName, $className, $pluginFileName, &$group) { /** 构建表格 */ $form = new Typecho_Widget_Helper_Form($this->security->getIndex('/action/users-profile'), Typecho_Widget_Helper_Form::POST_METHOD); $form->setAttribute('name', $pluginName); $form->setAttribute('id', $pluginName); require_once $pluginFileName; $group = call_user_func(array($className, 'personalConfig'), $form); $group = $group ? $group : 'subscriber'; $options = $this->options->personalPlugin($pluginName); if (!empty($options)) { foreach ($options as $key => $val) { if(!isset($form->getInput($key)->value)) $form->getInput($key)->value($val); } } $form->addItem(new Typecho_Widget_Helper_Form_Element_Hidden('do', NULL, 'personal')); $form->addItem(new Typecho_Widget_Helper_Form_Element_Hidden('plugin', NULL, $pluginName)); $submit = new Typecho_Widget_Helper_Form_Element_Submit(NULL, NULL, _t('保存设置')); $submit->input->setAttribute('class', 'btn primary'); $form->addItem($submit); return $form; } |
使用方法
由于已经在users表里面插入了userSign这个字段了,这个字段会自动的被系统读取。只需要在需要的地方输出$user->userSign就可以了