You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
5.8 KiB
153 lines
5.8 KiB
5 years ago
|
<?php
|
||
|
/**
|
||
|
* 评论者认证
|
||
|
*
|
||
|
* @package CommentApprove
|
||
|
* @author kuye
|
||
|
* @version 0.1.0
|
||
|
* @update: 2016.08.48
|
||
|
* @link http://www.yuzhiwei.com.cn/
|
||
|
*/
|
||
|
class CommentApprove_Plugin 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)
|
||
|
{
|
||
|
$type = new Typecho_Widget_Helper_Form_Element_Radio('type',array(
|
||
|
'1' => '使用自带样式',
|
||
|
'2' => '使用自填样式'),
|
||
|
'1', _t('角色样式选择'), _t('如选择自填样式,则在角色名称那边带入样式') );
|
||
|
$form->addInput($type);
|
||
|
//角色1
|
||
|
$name_1 = new Typecho_Widget_Helper_Form_Element_Text('name_1',
|
||
|
NULL,'博主',_t('角色1'),_t('填入角色1的名称'));
|
||
|
$form->addInput($name_1);
|
||
|
$color_1 = new Typecho_Widget_Helper_Form_Element_Text('color_1',
|
||
|
NULL,'#1ba1e2',_t('角色1样式颜色'),_t('填入颜色代码,只有使用自带样式时才生效'));
|
||
|
$form->addInput($color_1);
|
||
|
$email_1 = new Typecho_Widget_Helper_Form_Element_Textarea('email_1',
|
||
|
NULL,'',_t('邮箱地址列表1'),_t('每个邮箱地址之间以英文半角逗号隔开'));
|
||
|
$form->addInput($email_1);
|
||
|
|
||
|
//角色2
|
||
|
$name_2 = new Typecho_Widget_Helper_Form_Element_Text('name_2',
|
||
|
NULL,'好友',_t('角色2'),_t('填入角色2的名称'));
|
||
|
$form->addInput($name_2);
|
||
|
$color_2 = new Typecho_Widget_Helper_Form_Element_Text('color_2',
|
||
|
NULL,'#1ba1e2',_t('角色2样式颜色'),_t('填入颜色代码,只有使用自带样式时才生效'));
|
||
|
$form->addInput($color_2);
|
||
|
$email_2 = new Typecho_Widget_Helper_Form_Element_Textarea('email_2',
|
||
|
NULL,'',_t('邮箱地址列表2'),_t('每个邮箱地址之间以英文半角逗号隔开'));
|
||
|
$form->addInput($email_2);
|
||
|
|
||
|
//角色3
|
||
|
$name_3 = new Typecho_Widget_Helper_Form_Element_Text('name_3',
|
||
|
NULL,'',_t('角色3'),_t('填入角色3的名称'));
|
||
|
$form->addInput($name_3);
|
||
|
$color_3 = new Typecho_Widget_Helper_Form_Element_Text('color_3',
|
||
|
NULL,'#1ba1e2',_t('角色3样式颜色'),_t('填入颜色代码,只有使用自带样式时才生效'));
|
||
|
$form->addInput($color_3);
|
||
|
$email_3 = new Typecho_Widget_Helper_Form_Element_Textarea('email_3',
|
||
|
NULL,'',_t('邮箱地址列表3'),_t('每个邮箱地址之间以英文半角逗号隔开'));
|
||
|
$form->addInput($email_3);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人用户的配置面板
|
||
|
*
|
||
|
* @access public
|
||
|
* @param Typecho_Widget_Helper_Form $form
|
||
|
* @return void
|
||
|
*/
|
||
|
public static function personalConfig(Typecho_Widget_Helper_Form $form){}
|
||
|
|
||
|
/**
|
||
|
* 插件实现方法
|
||
|
*
|
||
|
* @access public
|
||
|
* @param str $email 评论者邮箱地址
|
||
|
* @return void
|
||
|
*/
|
||
|
public static function identify($email = NULL)
|
||
|
{
|
||
|
if (empty($email)){
|
||
|
return;
|
||
|
}
|
||
|
$status = 0;
|
||
|
$type = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->type;
|
||
|
//判断角色1
|
||
|
$email_1 = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->email_1;
|
||
|
if (!empty($email_1)){
|
||
|
$email_1 = explode(',',$email_1);
|
||
|
if (in_array($email, $email_1)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
}
|
||
|
//判断角色2
|
||
|
$email_2 = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->email_2;
|
||
|
if (!empty($email_2)){
|
||
|
$email_2 = explode(',',$email_2);
|
||
|
if (in_array($email, $email_2)) {
|
||
|
$status = 2;
|
||
|
}
|
||
|
}
|
||
|
//判断角色3
|
||
|
$email_3 = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->email_3;
|
||
|
if (!empty($email_3)){
|
||
|
$email_2 = explode(',',$email_3);
|
||
|
if (in_array($email, $email_3)) {
|
||
|
$status = 3;
|
||
|
}
|
||
|
}
|
||
|
//角色名
|
||
|
switch ($status){
|
||
|
case 0: $name="";break;
|
||
|
case 1: $name = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->name_1;break;
|
||
|
case 2: $name = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->name_2;break;
|
||
|
case 3: $name = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->name_3;break;
|
||
|
}
|
||
|
if (!empty($name)){
|
||
|
if ($type == 1){
|
||
|
switch ($status){
|
||
|
case 0: $color = "";break;
|
||
|
case 1: $color = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->color_1;break;
|
||
|
case 2: $color = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->color_2;break;
|
||
|
case 3: $color = Typecho_Widget::widget('Widget_Options')->plugin('CommentApprove')->color_3;break;
|
||
|
}
|
||
|
$str = '<span class="commentapprove" '.
|
||
|
'style="color: #FFF;padding: 2px 4px;font-size: 12px;border-radius: 3px;'.
|
||
|
'background-color: '.$color.';" >'.$name.'</span>';
|
||
|
echo $str;
|
||
|
}else{
|
||
|
echo $name;
|
||
|
}
|
||
|
}else{
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|