新版百度熊掌号推送

    选择打赏方式

本插件经由原作者DYBOY的插件更改而来,由于百度搜索资源平台舍弃Appid参数、熊掌ID参数,且取消天级收录及周级收录并改为快速收录和普通收录导致原DYBOY大佬的插件已经不能再次进行提交推送,且原插件已经很久没有更新了,如果有新搭建的博客使用了原插件就会导致功能失效。所以做了一些更改,取消了Appid和熊掌ID,现在只需要设置需要推送的网站及Token即可进行推送并记录。
使用方法:
下载插件zip压缩包并手动安装激活使用,下载地址为:http://file.mxin.moe/baidu_xz.zip
插件目录结构为:
baidu_xz
    baidu_xz.php
    baidu_xz_config.php
    baidu_xz_setting.php
    img
        nolmgALL.jpg
插件文件代码为:
baidu_xz.php
<?php
/*
Plugin Name: 百度熊掌号集成+推送
Version: 2.0
Time: 2019-9-14 11:54:15
Plugin URL: https://blog.dyboy.cn/develop/115.html
Description: Emlog用户百度熊掌号自动推送,一键配置,无需大量修改代码,只需在模版中添加挂载点即可,方便所有站长使用!
ForEmlog:6.0+
Author: DYBOY
Author URL: https://blog.dyboy.cn
*/

!defined('EMLOG_ROOT') && exit('error');
define('BAIDU_XZ_ROOT',EMLOG_ROOT.'/content/plugins/baidu_xz/');
date_default_timezone_set('Asia/Shanghai'); 


/*
*	插入后台导航侧边栏
*/
function baidu_xz_menu(){
	echo '<div class="sidebarsubmenu"><a href="./plugin.php?plugin=baidu_xz">百度熊掌号</a></div>';
}


/*
*	判断是否为文章首页
*/
function isHomePage(){
	if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){  
		return true;
	} else { 
		return FALSE;
	}
}


/*
*	测试输出
*/
function test_echo(){
	echo "test_echo";
}


/*
*	文章自动摘要
*/
function logAbstract($content){
	$content = strip_tags($content);
	$pattern = '/\s/';//去除空白
	$content = preg_replace($pattern, '', $content);  
	return mb_substr($content, 0, 108,"UTF-8");
}

/*
*	获取文章中所有图片链接,用于熊掌号,允许0,1,3张数量的图片
*/
function getAllImg($content){
    preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]*>|is", $content, $imgs);
    if(!empty($imgs[1])) {
        $strArr = '';
        $imgNum = count($imgs[1]);
        if($imgNum >= 3){ $strArr = '"'.$imgs[1][0].'","'.$imgs[1][1].'","'.$imgs[1][2].'"'; }
        else{ $strArr = '"'.$imgs[1][0].'"'; }
        return $strArr;
    } else {
        // 没有图片
        return '"'.BLOG_URL.'content/plugins/baidu_xz/img/noImgAll.jpg"';
    }
}

/*
*	创建数据表如果不存在
*/
function createTable($db){
	$createsql = 'CREATE TABLE IF NOT EXISTS `emlog_xiongzhang` (
	`id`  int UNSIGNED NOT NULL AUTO_INCREMENT ,
	`link`  varchar(255) NOT NULL ,
	`uptime`  datetime NOT NULL ,
	`status`  varchar(255) NOT NULL ,
	`type`  varchar(255) NOT NULL ,
	PRIMARY KEY (`id`)
	)';
	$db->query($createsql);
}


/*
*	推送功能
*/
function sendBaidu($urls,$id, $token){
	$type = ($type==1)?'realtime':'batch';
	$api = 'http://data.zz.baidu.com/urls?site='.$id.'&token='.$token;
	$ch = curl_init();
	$options =  array(
	    CURLOPT_URL => $api,
	    CURLOPT_POST => true,
	    CURLOPT_RETURNTRANSFER => true,
	    CURLOPT_POSTFIELDS =>  $urls,
	    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
	);
	curl_setopt_array($ch, $options);
	$result = curl_exec($ch);
	return $result;
}

/*
*	自动推送保存部分
*/
function baidu_xz_main($logid){
	include 'baidu_xz_config.php';
	$DB = MySqlii::getInstance();
	// createTable($DB);
	$log_model = new  Log_Model();
	$log = $log_model->getOneLogForAdmin($logid);
	$now_url = Url::log($logid);

	//检查是否存在
	$sql = 'SELECT * FROM emlog_xiongzhang WHERE link="'.$now_url.'" LIMIT 0,1';
	$result = mysqli_fetch_assoc($DB->query($sql));
	
	// 检查是否选择了分类
	$sql2 = "SELECT sortid from ". DB_PREFIX ."blog WHERE gid=$logid";
	$result2 = mysqli_fetch_assoc($DB->query($sql2));
	
	if($result['link']=='' && (intval($result2['sortid']) > -2)){
		$type = $config['X_Type'];
		if($config["X_Appid"] && $config["X_Token"]){
			// 如果结果为空,,并执行上传操作,再插入数据
			$insertSql = '';	//插入执行的SQL语句
			if($config["X_Type"] == '1') {
				//普通收录
				$jsonData = json_decode(sendBaidu($now_url, $config["X_Appid"], $config["X_Token"]), true);
				$tipMsg = '提交成功';
				if($jsonData['message']){
					//提交成功
					$tipMsg = $jsonData['message'];
				}
				//插入数据库
				$insertSql = 'INSERT INTO emlog_xiongzhang (link, uptime, status, type) VALUES ("'.$now_url.'","'.date("Y-m-d H:i:s").'","'.$tipMsg.'","'.(($type=='1')?"普通收录":"快速收录").'")';
			}
			else{
				// 快速收录
				$jsonData = json_decode(sendBaidu($now_url, $config["X_Appid"], $config["X_Token"]), true);
				$tipMsg = '提交成功';
				if($jsonData['message']){
					$tipMsg = $jsonData['message'];
				}
				$insertSql = 'INSERT INTO emlog_xiongzhang (link, uptime, status, type) VALUES ("'.$now_url.'","'.date("Y-m-d H:i:s").'","'.$tipMsg.'","'.(($type=='1')?"普通收录":"快速收录").'")';
			}
			$DB->query($insertSql);
		}
		else{
			$tipMsg = "配置信息错误";
			$errorSql = 'INSERT INTO emlog_xiongzhang (link, uptime, status, type) VALUES ("'.$now_url.'","'.date("Y-m-d H:i:s").'","'.$tipMsg.'","'.(($type=='1')?"天级收录":"周级收录").'")';
			$DB->query($errorSql);
		}
	}

}

addAction('adm_sidebar_ext', 'baidu_xz_menu');		// 插入导航侧边栏
addAction('save_log','baidu_xz_main');				// 保存文章时候发布
baidu_xz_config.php
<?php
!defined('EMLOG_ROOT') && exit('DYEXIT');
$config = [
	'X_Appid'=>'https://www.mxin.moe',
	'X_Token'=>'',
	'X_Type'=>'1', 
	'X_DisplayNum'=>'30'
];
?>
baidu_xz_setting.php
<?php
/*
*	设置文件
*
*/
!defined('EMLOG_ROOT') && exit('DYEXIT');

function plugin_setting_view() {	//设置页面加载配置文件 默认调用
	include(BAIDU_XZ_ROOT.'baidu_xz_config.php');
}

function plugin_setting() {
	$data= <<< DATA
<?php
!defined('EMLOG_ROOT') && exit('DYEXIT');
\$config = [
	'X_Appid'=>'{$_POST['xappid']}',
	'X_Token'=>'{$_POST['xtoken']}',
	'X_Type'=>'{$_POST['xtype']}', 
	'X_DisplayNum'=>'{$_POST['xdisplaynum']}'
];
?>
DATA;
	@file_put_contents(BAIDU_XZ_ROOT.'baidu_xz_config.php', $data);
}


/*
*	创建数据表如果不存在
*/

require_once(BAIDU_XZ_ROOT.'baidu_xz_config.php');
?>

<!-- 引入外部资源 -->
<link href="https://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet"> 
<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>

<div class="containertitle"><h3>百度熊掌号一键集成+推送 - 设置 <?php if (isset($_GET['setting'])) {echo '<span class="actived">插件设置完成</span>';}?></h3></div>

<div class="panel panel-default">
  <div class="panel-heading">配置信息</div>
  <div class="panel-body">
<form action="plugin.php?plugin=baidu_xz&action=setting" method="post">
    <div class="setting">
        <div class="row">
            <div class="col-md-3 col-xs-2">
                推送类型:
            </div>
            <!--<div class="col-md-2 col-xs-2">
                <label class="radio-inline">
                  <input type="radio" name="xtype" value="1" <?php if ($config['X_Type'] == 0) { echo 'checked'; } ?>> 快速收录(需要确定是否有资格)
                </label>
            </div> -->
            <div class="col-md-2 col-xs-2">
                <label class="radio-inline">
                  <input type="radio" name="xtype" value="0" <?php if ($config['X_Type'] == 1) { echo 'checked'; } ?>> 普通收录
                </label>
            </div>
        </div>
        <br/>
        <div class="row">
            <div class="col-md-5 col-xs-5">
                <div class="input-group">
                    <span class="input-group-addon">推送网址</span>
                    <input type="text" class="form-control" name="xappid" placeholder="请输入网址,例:https://www.mxin.moe" required value="<?php echo $config['X_Appid']; ?>" maxlength="16">
                </div>
            </div>
        </div>
        <br/>
        <div class="row">
             <div class="col-md-5 col-xs-5">
                <div class="input-group">
                    <span class="input-group-addon">Token</span>
                    <input type="text" class="form-control" name="xtoken" placeholder="请输入Token值" required value="<?php echo $config['X_Token'];?>" maxlength="16">
                </div>
            </div>
        </div>
        <br/>
        <div class="row">
             <div class="col-md-5 col-xs-5">
                <div class="input-group">
                    <span class="input-group-addon">展示条数</span>
                    <input type="number" class="form-control" name="xdisplaynum" placeholder="请输入数字" required value="<?php echo $config['X_DisplayNum'];?>">
                </div>
            </div>
        </div>
        <br>
        <button type="submit" class="btn btn-danger">保存设置</button>
    </div>
</form>
</div></div>
<br/>

<div class="panel panel-default">
  <div class="panel-heading">使用说明</div>
  <div class="panel-body">
  	<div class="alert alert-success" role="alert">
  		为了方便广大站长快速接入熊掌号,同时为了快速支持那些不支持百度熊掌号的模版,小东特开发此款插件。如果您在使用过程中有任何的疑问或好的建议都可以直接在<a href="https://blog.dyboy.cn/develop/115.html" target="_blank">《Emlog百度熊掌号插件》</a>处留言评论,在评论中有大量有价值可以参考的回答!
  	</div>
    - 在模版文件夹下<code>header.php</code>文件 <code>&lt;/head&gt;</code>标签前一行</code>添加如下代码:<br/><code>&lt;?php doAction('baidu_xz_echo',$logid, $log_title, $log_content, $date); ?&gt;</code><br/><br/>
    <div class="alert alert-success" role="alert">
  		普通收录每日10万条限额,收录时间一周以内,应该就是原周级收录。
  	</div>
    - 快速收录: 每日推送有限度<br/>
    - 普通收录: 每日推送10万条<br/>
    - 展示条数:将在下面表格展示推送过的历史记录<br/>
    - <code>Token获取</code>:参看如下截图(网址:<a target="_blank" href="https://ziyuan.baidu.com/linksubmit/index">https://ziyuan.baidu.com/linksubmit/index</a>)<br/>
    - 插件原作者:DYBOY大佬 博客地址:<a href="https://blog.dyboy.cn/" target="_blank">https://blog.dyboy.cn/(原插件以不再更新,不适合新版百度资源搜索平台。)</a><br/>
    - 本插件改动:MXIN 博客地址:<a href="https://www.mxin.moe" target="_blank">https://www.mxin.moe(适合新版百度资源搜索平台)</a>
  </div>
</div>

<div class="panel panel-default">
  <div class="panel-heading">提交记录(显示<?php echo $config['X_DisplayNum'];?>条)</div>
  <div class="panel-body">
  	<table class="table table-hover">
      <thead>
        <tr>
          <th>文章链接</th>
          <th>提交时间</th>
          <th>状态</th>
          <th>提交类型</th>
        </tr>
      </thead>
      <tbody>
      	<?php
      		$DB = MySqlii::getInstance();
      		$sqlShow = 'SELECT * FROM emlog_xiongzhang ORDER BY id DESC limit 0,'.$config['X_DisplayNum'];
      		createTable($DB);
      		$result = $DB->query($sqlShow);
      		while($row = mysqli_fetch_assoc($result)){
      			echo '<tr> <th>'.$row['link'].'	</th> <td>'.$row['uptime'].'</td> <td>'.$row['status'].'</td> <td>'.$row['type'].'</td> </tr>';
      		}
      	?>
      </tbody>
    </table>
  </div>
</div>

版权声明:若无特殊注明,本文为《铭心》原创,转载请保留文章出处。
本文链接:https://www.mxin.moe/baidu_xz.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!