Exemplo n.º 1
0
 static function init()
 {
     //Links in plugins list
     add_filter('plugin_row_meta', array(__CLASS__, 'registerPluginLinks'), 10, 2);
     require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . './inc/options.php';
     if (BaidusubmitOptions::getOption('openping')) {
         //Existing posts was trash
         add_action('trash_post', array(__CLASS__, 'deletePost'), 9999, 1);
         add_action('trash_page', array(__CLASS__, 'deletePost'), 9999, 1);
         //Existing post was published
         add_action('publish_post', array(__CLASS__, 'publishPost'), 9999, 1);
         add_action('publish_page', array(__CLASS__, 'publishPost'), 9999, 1);
     }
     //Menus
     add_action('admin_menu', array(__CLASS__, 'registerAdminPage'));
 }
Exemplo n.º 2
0
 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}");
     }
 }
Exemplo n.º 3
0
    static function showAdminPage()
    {
        require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'options.php';
        $siteurl = BaidusubmitOptions::getOption('siteurl');
        $openping = BaidusubmitOptions::getOption('openping');
        $token = BaidusubmitOptions::getOption('pingtoken');
        self::showHeader('admin');
        if (self::$isUpdated) {
            echo '<div class="updated"><strong><p>', __('Configuration saved', 'sitemap'), '</p></strong></div>';
        }
        echo '<div class="titlebar">', __('Introduction & Description', 'sitemap'), '</div>';
        echo '<ul>
            <li>', __('After installing Baidu Sitemaps, you can quickly and completely submit webpages and content to Baidu. It helps you with the following:', 'sitemap'), '</li>
            <li>
                ', __('1) Baidu Spider will better understand and include your site', 'sitemap'), '
            </li>
            <li>
                ', __('2) Baidu Search will better display results from your site', 'sitemap'), '
            </li>
            <!--<li>
                ', __('You can also go to Baidu Webmaster Platform and submit: Sitemap | Structured Data | Broken Link Submission', 'sitemap'), '
            </li>-->
            <li>
                ', __('When using our products, please send any comments or suggestions to the Baidu Webmaster Feedback Center', 'sitemap'), '
            </li>
            </ul>';
        ?>
<script type="text/javascript">
function baidu_ajaxpost2(formid, showid, submitid)
{
    var $ = jQuery;
    $('#'+showid).html('<?php 
        echo __('Verifying...', 'sitemap');
        ?>
');
    var curform = $('#'+formid)[0];

    $('#'+submitid)[0].disabled = true;
    $('#'+showid)[0].className = '';

    var postdata = {
        'siteurl' : curform.elements['siteurl'].value
    };

    $.post(curform.action, postdata, function(s) {
        s = eval('(' + s + ')');
        $('#'+showid).html(s.msg);
        if (s.error === 0) {
            $('#'+showid)[0].className = authStatus.success.msgclass;
            $('#'+submitid)[0].value = authStatus.success.btntext;
            $('#siteurl')[0].disabled = true;
            $('#siteurl')[0].className = authStatus.success.inputclass;
            //打开全局
            bds_isExist = 1;
        } else {
            $('#'+showid)[0].className = authStatus.failed.msgclass;
            $('#'+submitid)[0].value = authStatus.failed.btntext;
            $('#siteurl')[0].disabled = false;
            $('#siteurl')[0].className = authStatus.failed.inputclass;
        }
        $('#'+submitid)[0].disabled = false;
    });

    return false;
}
var bds_isExist = <?php 
        if ($token) {
            echo '1';
        } else {
            echo '0';
        }
        ?>
;

var authStatus = {
    'success':{
        'btntext': '<?php 
        echo __('Re-verify', 'sitemap');
        ?>
',
        'msgclass': 'success-msg',
        'inputclass': 'dsclass'
    },
    'failed':{
        'btntext': '<?php 
        echo __('Verify', 'sitemap');
        ?>
',
        'msgclass': 'failed-msg',
        'inputclass': ''
    }
};

function formsubmit()
{
    if (1 === bds_isExist) {
        var $ = jQuery;
        $('#submitbutton')[0].value = '<?php 
        echo __('Verify', 'sitemap');
        ?>
';
        $('#siteurl')[0].disabled = false;
        $('#siteurl')[0].className = '';
        $('#returnmessage')[0].innerHTML = '';
        bds_isExist = 0;
    } else {
        baidu_ajaxpost2('authform', 'returnmessage', 'submitbutton');
    }
    return false;
}
</script>
<style type="text/css">
h2 { border-bottom: 1px solid #DFDFDF; padding: 0 0 10px !important }
div.updated { margin: 5px 0 15px; }
.titlebar { background:#DFDFDF; padding:5px;}
.dsclass { background:#EEEEEE !important; }
.failed-msg { color:#FF0000; }
.success-msg {  }
.radio-box {overflow:auto; zoom:1}
.radio-box li { display: inline-block; float: left; margin-right: 20px;}
#authform input {margin-left: 15px; }
#returnmessage {margin-left: 15px; }
</style>
<?php 
        echo '<div class="titlebar">', __('Site verification', 'sitemap'), '</div>';
        echo '<ul><li><form action="admin.php?page=baidu_admin&action=auth" method="post" id="authform" onsubmit="return formsubmit()">', __('System installation URL path', 'sitemap'), '<input type="text" id="siteurl" name="siteurl" style="width:300px;" ', $siteurl && $token ? 'disabled="disabled" class="dsclass" value="' . $siteurl . '"' : 'value="' . get_option('siteurl') . '"', ' />', '<input id="submitbutton" type="submit" class="button botton-secondary" value="', __($siteurl && $token ? 'Re-verify' : 'Verify', 'sitemap'), '" /><span id="returnmessage"></span>', '</form></li></ul>';
        echo '<div class="titlebar">', __('Active submit', 'sitemap'), '</div>', '<form action="admin.php?page=baidu_admin&action=savesetting" method="post">', '<ul class="radio-box">', '<li><label for="baidusubmit-openping-1">', '<input type="radio" value="1" name="openping"' . ($openping ? ' checked="checked"' : '') . ' />', __('Enable'), '</label></li>', '<li><label for="baidusubmit-openping-0">', '<input type="radio" value="0" name="openping"' . (!$openping ? ' checked="checked"' : '') . ' />', __('Disable'), '</label></li>', '<li><input type="submit" class="button button-secondary" value="', __('Save'), '" /></li>', '</ul>', '</form>';
    }
Exemplo n.º 4
0
    BaidusubmitSitemap::printIndexFooter();
}
//全量sitemap
if ('sitemapall' === $_GET['m']) {
    $start_tid = intval($_GET['start']);
    $sitemap = BaidusubmitSitemap::getSitemap(BaidusubmitSitemap::TYPE_ALL, $start_tid);
    if (empty($sitemap)) {
        BaidusubmitSitemap::headerStatus(404);
        return 1;
    }
    $end_tid = $sitemap->end;
    $pidlist = BaidusubmitSitemap::getPostIdByIdRange($start_tid, $end_tid);
    $itemCount = 0;
    $fileSize = 0;
    $urlnum = 0;
    $installmaxtid = BaidusubmitOptions::getOption('installmaxtid');
    header('Content-Type: text/xml; charset=utf-8');
    echo '<?xml version="1.0" encoding="UTF-8"?><urlset>';
    foreach ($pidlist as $pid) {
        $schema = BaidusubmitSitemap::genSchemaByPostId($pid, $post);
        $output = $schema->toXml() . "\n";
        $fileSizeCheck = $fileSize + strlen($output);
        $itemCountCheck = $itemCount + 1;
        // split sitemap file
        if ($fileSizeCheck >= 1024 * 1024 * 8 || $itemCountCheck > 5000) {
            // concurrent request
            $sp = BaidusubmitSitemap::getSitemap(BaidusubmitSitemap::TYPE_ALL, $start_tid, $end_tid);
            if ($sp) {
                $new_start_tid = $post->ID;
                $past_tid = $new_start_tid - $start_tid - 1;
                $count = ceil(($end_tid - $new_start_tid) / $past_tid);
Exemplo n.º 5
0
 static function sendXml($xml, $type)
 {
     require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'options.php';
     $siteurl = BaidusubmitOptions::getOption('siteurl');
     $token = BaidusubmitOptions::getOption('pingtoken');
     if (!$token) {
         return false;
     }
     $const = (include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'const.php');
     $pingurl = $const['zzpingurl'];
     if ($type === 1) {
         //新增或更新
         $url .= $pingurl . '?site=' . urlencode($siteurl) . '&resource_name=RDF_Other_Blogposting&method=add';
     }
     if ($type === 2) {
         //删除
         $url .= $pingurl . '?site=' . urlencode($siteurl) . '&resource_name=sitemap&method=del';
     }
     $sign = md5($siteurl . $xml . $token);
     $url .= '&sign=' . $sign;
     return self::httpSend($url, 0, $xml);
 }
Exemplo n.º 6
0
<?php

if (!function_exists('add_action')) {
    require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . './../../../wp-config.php';
}
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'inc/options.php';
$checksign = $_GET['checksign'];
if (!$checksign || strlen($checksign) !== 32) {
    exit;
}
$data = BaidusubmitOptions::getOption('checksign', null, true);
if (isset($data['time']) && $data['value'] == $checksign && time() - $data['time'] < 30) {
    echo $data['value'];
}