1
1
<?php
2
+
2
3
/**
3
- * Typecho 微信助手插件
4
- * 在冰剑 (https://github.com/binjoo/WeChatHelper)的基础上精简了一些内容 。
4
+ * Typecho 微信助手
5
+ * 对冰剑 (https://github.com/binjoo/WeChatHelper)进行精简的版本 。
5
6
*
6
7
* @package WeChatHelper
7
8
* @author Holmesian
8
- * @version 2.0
9
+ * @version 2.2.2
9
10
* @link https://holmesian.org
10
11
*/
11
12
class WeChatHelper_Plugin implements Typecho_Plugin_Interface
12
13
{
13
14
/**
14
15
* 激活插件方法,如果激活失败,直接抛出异常
15
- *
16
+ *
16
17
* @access public
17
18
* @return void
18
19
* @throws Typecho_Plugin_Exception
@@ -21,8 +22,8 @@ public static function activate()
21
22
{
22
23
Helper::addAction ('wechatHelper ' , 'WeChatHelper_Action ' );
23
24
Helper::addRoute ('wechat ' , '/wechat ' , 'WeChatHelper_Action ' , 'link ' );
24
- $ db = Typecho_Db::get ();
25
- if ("Pdo_Mysql " === $ db ->getAdapterName () || "Mysql " === $ db ->getAdapterName ()){
25
+ $ db = Typecho_Db::get ();
26
+ if ("Pdo_Mysql " === $ db ->getAdapterName () || "Mysql " === $ db ->getAdapterName ()) {
26
27
/**
27
28
* 创建自定义菜单表
28
29
*/
@@ -38,21 +39,27 @@ public static function activate()
38
39
`created` int(10) DEFAULT '0',
39
40
PRIMARY KEY (`mid`)
40
41
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 " );
41
- $ db ->query ("INSERT INTO ` " . $ db ->getPrefix () . 'wch_menus ' ."` (`mid`, `level`, `name`, `type`, `value`, `sort`, `order`, `parent`, `created`) VALUES
42
+ $ db ->query ("INSERT INTO ` " . $ db ->getPrefix () . 'wch_menus ' . "` (`mid`, `level`, `name`, `type`, `value`, `sort`, `order`, `parent`, `created`) VALUES
42
43
(1, 'button', '首页', 'view', 'https://holmesian.org/', 10, 1, 0, 1503804104),
43
44
(3, 'button', '搜索', 'view', 'https://m.holmesian.org/', 20, 2, 0, 1503804141),
44
45
(4, 'button', '其他', 'click', NULL, 50, 5, 0, 1503804153),
45
46
(6, 'sub_button', '最新文章', 'click', 'n', 51, 1, 4, 1503804247),
46
47
(7, 'sub_button', '随机文章', 'click', 'r', 52, 2, 4, 1503807202),
47
48
(8, 'sub_button', '手气不错', 'click', 'l', 54, 4, 4, 1503824995); " );
48
- }else {
49
+
50
+ $ db ->query ($ db ->sql ()->insert ('table.options ' )->rows (array ("name " =>"WCH_access_token " ,"user " =>"0 " ,"value " =>"0 " )));
51
+ $ db ->query ($ db ->sql ()->insert ('table.options ' )->rows (array ("name " =>"WCH_expires_in " ,"user " =>"0 " ,"value " =>"0 " )));
52
+
53
+ } else {
49
54
throw new Typecho_Plugin_Exception (_t ('对不起, 本插件仅支持MySQL数据库。 ' ));
50
55
}
56
+
51
57
Helper::addAction ('WeChat ' , 'WeChatHelper_Action ' );
52
- Helper::addPanel (1 , 'WeChatHelper/Page/Menus.php ' , '自定义菜单 ' , '自定义菜单 ' , 'administrator ' );
53
- return ('微信助手已经成功激活,请进入设置Token! ' );
58
+ Helper::addPanel (1 , 'WeChatHelper/Page/Menus.php ' , '公众号菜单 ' , '公众号菜单 ' , 'administrator ' );
59
+
60
+ return ('微信助手已经成功激活,请进入设置Token! ' );
54
61
}
55
-
62
+
56
63
/**
57
64
* 禁用插件方法,如果禁用失败,直接抛出异常
58
65
*
@@ -63,32 +70,30 @@ public static function activate()
63
70
*/
64
71
public static function deactivate ()
65
72
{
66
- $ db = Typecho_Db::get ();
73
+ $ db = Typecho_Db::get ();
67
74
$ options = Typecho_Widget::widget ('Widget_Options ' );
68
- if ("Pdo_Mysql " === $ db ->getAdapterName () || "Mysql " === $ db ->getAdapterName ()){
69
- $ db ->query ("drop table " . $ db ->getPrefix (). "wch_menus " );
70
- $ db ->query ($ db ->sql ()->delete ('table.options ' )->where ('name like ? ' , "WeChatHelper_ % " ));
71
- }
75
+ if ("Pdo_Mysql " === $ db ->getAdapterName () || "Mysql " === $ db ->getAdapterName ()) {
76
+ $ db ->query ("drop table " . $ db ->getPrefix () . "wch_menus " );
77
+ $ db ->query ($ db ->sql ()->delete ('table.options ' )->where ('name like ? ' , "WCH_ % " ));
78
+ }
72
79
Helper::removePanel (1 , 'WeChatHelper/Page/Menus.php ' );
73
80
74
81
Helper::removeRoute ('wechat ' );
75
82
Helper::removeAction ('wechatHelper ' );
76
83
}
77
-
84
+
78
85
/**
79
86
* 获取插件配置面板
80
- *
87
+ *
81
88
* @access public
82
89
* @param Typecho_Widget_Helper_Form $form 配置面板
83
90
* @return void
84
91
*/
85
92
public static function config (Typecho_Widget_Helper_Form $ form )
86
93
{
87
- /** Token **/
88
- $ token = new Typecho_Widget_Helper_Form_Element_Text ('token ' , NULL , '' , _t ('微信Token ' ), '可以任意填写,用作生成签名。 ' );
89
- $ form ->addInput ($ token );
94
+
90
95
/** 用户添加订阅欢迎语 **/
91
- $ welcome = new Typecho_Widget_Helper_Form_Element_Textarea ('welcome ' , NULL , '欢迎! ' . chr (10 ). '发送 \'h \'让小的给您介绍一下! ' , '订阅欢迎语 ' , '用户订阅之后主动发送的一条欢迎语消息。 ' );
96
+ $ welcome = new Typecho_Widget_Helper_Form_Element_Textarea ('welcome ' , NULL , '欢迎! ' . chr (10 ) . '发送 \'h \'让小的给您介绍一下! ' , '订阅欢迎语 ' , '用户订阅之后主动发送的一条欢迎语消息。 ' );
92
97
$ form ->addInput ($ welcome );
93
98
/** 返回最大结果条数 **/
94
99
$ imageDefault = new Typecho_Widget_Helper_Form_Element_Text ('imageDefault ' , NULL , 'https://holmesian.org/usr/themes/Holmesian/image/avatar.jpg ' , _t ('默认显示图片 ' ), '图片链接,支持JPG、PNG格式,推荐图为80*80。 ' );
@@ -101,17 +106,31 @@ public static function config(Typecho_Widget_Helper_Form $form)
101
106
$ subMaxNum = new Typecho_Widget_Helper_Form_Element_Text ('subMaxNum ' , NULL , '200 ' , _t ('日志截取字数 ' ), '显示单条日志时,截取日志内容字数。 ' );
102
107
$ subMaxNum ->input ->setAttribute ('class ' , 'mini ' );
103
108
$ form ->addInput ($ subMaxNum );
104
- /** 图灵机器人api **/
105
- //$tulingApi = new Typecho_Widget_Helper_Form_Element_Text('tulingApi', NULL, '', _t('图灵机器人api'), '这里填入图灵机器人Api');
106
- //$form->addInput($tulingApi);
109
+
110
+ /** Token **/
111
+ $ token = new Typecho_Widget_Helper_Form_Element_Text ('token ' , NULL , '' , _t ('令牌(Token) ' ), '需要与开发模式服务器配置中填写一致。服务器地址(URL): ' . Helper::options ()->index . '/wechat ' );
112
+ $ form ->addInput ($ token );
113
+
114
+ /** APP_ID **/
115
+ $ appid = new Typecho_Widget_Helper_Form_Element_Text ('WCH_appid ' , NULL , NULL ,
116
+ _t ('APP_ID ' ), _t ('需要管理菜单时填写,与开发模式服务器配置中填写一致。 ' ));
117
+
118
+ /** APP_Secret **/
119
+ $ form ->addInput ($ appid );
120
+ $ appsecret = new Typecho_Widget_Helper_Form_Element_Text ('WCH_appsecret ' , NULL , NULL ,
121
+ _t ('APP_Secret ' ), _t ('需要管理菜单时填写,与开发模式服务器配置中填写一致。 ' ));
122
+ $ form ->addInput ($ appsecret );
123
+
107
124
}
108
-
125
+
109
126
/**
110
127
* 个人用户的配置面板
111
- *
128
+ *
112
129
* @access public
113
130
* @param Typecho_Widget_Helper_Form $form
114
131
* @return void
115
132
*/
116
- public static function personalConfig (Typecho_Widget_Helper_Form $ form ){}
133
+ public static function personalConfig (Typecho_Widget_Helper_Form $ form )
134
+ {
135
+ }
117
136
}
0 commit comments