Ejemplo n.º 1
0
    function __destruct()
    {
        //flush();  //个别web配置下会出错

        if (!empty($_GET['inajax'])) return;
        if (empty($_GET['action']) || 'newthread' !== $_GET['action']) return;
        if ('yes' !== $_GET['topicsubmit']) return;
        if ($_POST['formhash'] != FORMHASH) return;

        global $tid;
        if (empty($tid)) return;

        if (defined("_bds_w9x_{$tid}")) return;
        define("_bds_w9x_{$tid}", true);

        if (!baidu_get_plugin_setting('openping')) return;
        if (baidu_senddata_error()) return;

        //发新帖
        $thread = get_thread_by_tid($tid);
        if ($thread) {
            $url = baidu_gen_thread_url($tid, 1, 1, $thread['fid']);
            $schema = new BaiduThreadSchema();
            $schema->setThreadUrl($url);
            baidu_send_data($schema, 1);
        }
    }
Ejemplo n.º 2
0
function baidu_send_data($schema, $type)
{
    $site = baidu_get_plugin_setting('siteurl');
    if (!$site) {
        global $_G;
        $site = $_G['siteurl'];
    }
//$site = baidu_get_site_from_url($site);

    $token = baidu_get_plugin_setting('pingtoken');
    if (!$token) {
        return;
    }

    $pingurl = baidu_get_plugin_config('zzpingurl');

    $xml = '<?xml version="1.0" encoding="UTF-8"?><urlset>';
    $url = '';
    if ($type === 1) {  //新增或更新
        $xml .= $schema->toSitemapXml();
        $xml .= '</urlset>';
        $url .= $pingurl . '?site=' . urlencode($site) . '&resource_name=sitemap&method=add';
    }
    if ($type === 2) {  //删除
        $xml .= $schema->toDeleteXml();
        $xml .= '</urlset>';
        $url .= $pingurl . '?site=' . urlencode($site) . '&resource_name=sitemap&method=del';
    }
    $sign = md5($site . $xml . $token);
    $url .= '&sign=' . $sign;

    $_st = time();
    $result = baidu_http_send($url, 1024, $xml, $cookie = '', baidu_senddata_timeout());
    baidu_senddata_timeout(time() - $_st);
    if (0 === strlen(trim($result))) {
        baidu_senddata_error(false);
    }

    if (baidu_get_plugin_setting('pinglog')) {
        baidu_senddata_log($xml);
        baidu_senddata_log($result . "\n");
    }
}