123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?php
- /**
- * [Discuz!] (C)2001-2099 Comsenz Inc.
- * This is NOT a freeware, use is subject to license terms
- *
- * $Id: checkupdate.inc.php 35224 2015-03-03 09:48:38Z nemohou $
- */
- define('PLUGIN_RELEASE', '20150303');
- if(!defined('IN_DISCUZ')) {
- exit('Access Denied');
- }
- $pluginupdated = false;
- $setting = $_G['setting']['mobilewechat'] ? (array)unserialize($_G['setting']['mobilewechat']) : array();
- if($setting['RELEASE'] != PLUGIN_RELEASE) {
- $sql = <<<EOF
- CREATE TABLE IF NOT EXISTS pre_common_member_wechat (
- `uid` mediumint(8) unsigned NOT NULL,
- `openid` char(32) NOT NULL default '',
- `status` tinyint(1) NOT NULL DEFAULT 0,
- `isregister` tinyint(1) unsigned NOT NULL default '0',
- PRIMARY KEY (`uid`),
- UNIQUE KEY `openid` (`openid`)
- ) ENGINE=MYISAM;
- CREATE TABLE IF NOT EXISTS pre_mobile_wechat_authcode (
- `sid` char(6) NOT NULL,
- `code` int(10) unsigned NOT NULL,
- `uid` mediumint(8) unsigned NOT NULL,
- `status` tinyint(1) NOT NULL DEFAULT 0,
- `createtime` int(10) unsigned NOT NULL,
- PRIMARY KEY (`sid`),
- UNIQUE KEY `code` (`code`),
- KEY `createtime` (`createtime`)
- ) ENGINE=MEMORY;
- CREATE TABLE IF NOT EXISTS pre_common_member_wechatmp (
- `uid` mediumint(8) unsigned NOT NULL,
- `openid` char(32) NOT NULL default '',
- `status` tinyint(1) NOT NULL DEFAULT 0,
- PRIMARY KEY (`uid`),
- KEY `openid` (`openid`)
- ) ENGINE=MYISAM;
- CREATE TABLE IF NOT EXISTS pre_mobile_wsq_threadlist (
- `skey` int(10) unsigned NOT NULL,
- `svalue` text NOT NULL,
- PRIMARY KEY (`skey`)
- ) ENGINE=MyISAM;
- CREATE TABLE IF NOT EXISTS pre_mobile_wechat_resource (
- `id` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(255) NOT NULL default '',
- `dateline` int(10) unsigned NOT NULL,
- `type` tinyint(1) NOT NULL DEFAULT 0,
- `data` text NOT NULL,
- PRIMARY KEY (`id`),
- KEY `type` (`type`)
- ) ENGINE=MYISAM;
- CREATE TABLE IF NOT EXISTS pre_mobile_wechat_masssend (
- `id` int(10) unsigned NOT NULL auto_increment,
- `type` char(5) NOT NULL,
- `name` varchar(255) NOT NULL,
- `resource_id` int(10) unsigned NOT NULL,
- `group_id` int(10) unsigned NOT NULL,
- `text` text,
- `media_id` char(64) DEFAULT '',
- `created_at` int(10) unsigned NOT NULL,
- `sent_at` int(10) unsigned,
- `msg_id` int(10) unsigned,
- `res_status` varchar(50),
- `res_totalcount` int(10),
- `res_filtercount` int(10),
- `res_sentcount` int(10),
- `res_errorcount` int(10),
- `res_finish_at` int(10),
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM;
- EOF;
- if(!defined('DISCUZ_VERSION')) {
- require './source/discuz_version.php';
- }
- $settingdefault = array (
- 'wechat_mtype' => '0',
- 'wechat_qrtype' => '3',
- 'wechat_token' => random(16),
- 'wechat_allowregister' => '1',
- 'wechat_allowfastregister' => '1',
- 'wechat_disableregrule' => '1',
- 'wechat_float_qrcode' => '1',
- 'wechat_confirmtype' => '0',
- 'wechat_newusergroupid' => $_G['setting']['newusergroupid'],
- 'wsq_wapdefault' => 1,
- 'wsq_global_banner' => 1,
- );
- require_once DISCUZ_ROOT.'./source/plugin/wechat/install/update.func.php';
- runquery($sql);
- updatetable($sql);
- foreach($settingdefault as $_key => $_default) {
- if(!isset($setting[$_key])) {
- $setting[$_key] = $_default;
- }
- }
- $setting['RELEASE'] = PLUGIN_RELEASE;
- $settings = array('mobilewechat' => serialize($setting));
- C::t('common_setting')->update_batch($settings);
- C::t('common_plugin')->delete_by_identifier('mobileoem');
- require_once DISCUZ_ROOT.'./source/plugin/wechat/wechat.lib.class.php';
- $hook = WeChatHook::getAPIHook('wechat');
- if(!$hook) {
- WeChatHook::updateAPIHook(array(
- array('forumdisplay_variables' => array('plugin' => 'wechat', 'include' => 'wsqapi.class.php', 'class' => 'WSQAPI', 'method' => 'forumdisplay_variables')),
- array('viewthread_variables' => array('plugin' => 'wechat', 'include' => 'wsqapi.class.php', 'class' => 'WSQAPI', 'method' => 'viewthread_variables')),
- ));
- } elseif($hook['wsqindex']) {
- WeChatHook::updateAPIHook(array(
- array('wsqindex_variables' => array('plugin' => 'wechat')),
- ));
- }
- DB::query("ALTER TABLE ".DB::table('forum_debatepost')." ADD INDEX `voters` (`tid`,`voters`)", 'SILENT');
- $pluginupdated = true;
- }
- ?>
|