static function uninstall() { require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'options.php'; require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'sitemap.php'; $siteurl = BaidusubmitOptions::getOption('siteurl'); $token = BaidusubmitOptions::getOption('pingtoken'); $sppasswd = BaidusubmitOptions::getOption('sppasswd'); $sign = md5($siteurl . $token); BaidusubmitSitemap::submitIndex('del', BaidusubmitSitemap::TYPE_ALL, $siteurl, $sppasswd, $sign); BaidusubmitSitemap::submitIndex('del', BaidusubmitSitemap::TYPE_INC, $siteurl, $sppasswd, $sign); BaidusubmitOptions::clearAllOptions(); global $wpdb; foreach (array_keys(self::$createTableSql) as $table) { $fulltable = $wpdb->prefix . $table; $wpdb->query("DROP TABLE {$fulltable}"); } }
static function authSite() { require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'options.php'; require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'sitemap.php'; BaidusubmitOptions::setOption('siteurl', $_POST['siteurl']); $config = (include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'const.php'); $site = $_POST['siteurl']; //去站长平台获取随机串 $result = BaidusubmitSitemap::httpSend($config['zzplatform'] . '/getCheckSign?siteurl=' . urlencode($site) . '&sitetype=' . $config['siteTypeKey']); $data = json_decode($result); if (isset($data->status) && '0' != $data->status) { self::showJson(array('error' => 1, 'msg' => __('Failed to get Checksign'))); } BaidusubmitOptions::setOption('siteurl', $data->siteurl); BaidusubmitOptions::setOption('checksign', $data->checksign); //站长平台回调的URL $siteurl = BaidusubmitOptions::getOption('siteurl'); $url = $siteurl . BAIDUSUBMIT_PLUGIN_PATH . 'baidusubmit/checksign.php?checksign=' . $data->checksign; $sigurl = $config['zzplatform'] . '/auth?checksign=' . $data->checksign . '&checkurl=' . urlencode($url) . '&siteurl=' . urlencode($siteurl); $authData = BaidusubmitSitemap::httpSend($sigurl); //去站长平台进行验证 BaidusubmitOptions::deleteOption('checksign'); $output = json_decode($authData); if (isset($output->status) && '0' == $output->status) { //token $token = $output->token; //保存下旧密码 $old_sppasswd = BaidusubmitOptions::getOption('sppasswd'); //只有初次安装时才提交sitemap if (empty($old_sppasswd)) { $sppasswd = BaidusubmitSitemap::genSitemapPasswd(); $result = 0; $sign = md5($siteurl . $token); //提交全量索引 $allreturnjson = BaidusubmitSitemap::submitIndex('add', BaidusubmitSitemap::TYPE_ALL, $siteurl, $sppasswd, $sign); $allresult = json_decode($allreturnjson['body']); if (!isset($allresult->status) || '0' != $allresult->status) { self::showJson(array('error' => 1, 'msg' => __('Sitemap submission failed', 'sitemap') . "[URL:{$allreturnjson['url']}]")); } $result += (int) $allresult->status; //提交增量索引 $incresultjson = BaidusubmitSitemap::submitIndex('add', BaidusubmitSitemap::TYPE_INC, $siteurl, $sppasswd, $sign); $incresult = json_decode($incresultjson['body']); if (!isset($incresult->status) || '0' != $allresult->status) { self::showJson(array('error' => 1, 'msg' => __('Sitemap submission failed', 'sitemap') . '[URL:' . $incresultjson['url'] . ']')); } $result += (int) $incresult->status; if ($result === 0) { //tid节点 BaidusubmitOptions::setOption('installmaxtid', BaidusubmitSitemap::getMaxTid()); //保存sppasswd BaidusubmitOptions::setOption('sppasswd', $sppasswd); //为了避免提交sitemap超时,把token放在下。提交成功后再写token. BaidusubmitOptions::setOption('pingtoken', $token); self::showJson(array('error' => 0, 'msg' => __('Verification successful', 'sitemap'))); } else { // delete sppassword BaidusubmitOptions::setOption('sppasswd', ''); self::showJson(array('error' => 1, 'msg' => __('Sitemap submission failed', 'sitemap'))); } } else { //为了避免提交sitemap超时,把token放在下。提交成功后再写token. BaidusubmitOptions::setOption('pingtoken', $token); self::showJson(array('error' => 0, 'msg' => __('Verification successful', 'sitemap'))); } } elseif (in_array($output->status, array(1, 2001, 2002, 2003, 2008))) { $e = array(1 => __('Parameter error', 'sitemap'), 2 => __('No site information', 'sitemap'), 100 => __('System error', 'sitemap'), 2001 => __('Checksign does not exists', 'sitemap'), 2002 => __('Sign detection failed', 'sitemap'), 2003 => __('Checkurl request failed', 'sitemap'), 2008 => __('Checkurl does not belong to siteurl', 'sitemap')); self::showJson(array('error' => 1, 'msg' => $e[$output->status])); } else { self::showJson(array('error' => 1, 'msg' => __('Verification failed, please try again', 'sitemap'))); } }