website/application/admin/controller/jdgw/Article.php
2025-05-09 01:14:04 +08:00

117 lines
3.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\admin\controller\jdgw;
use app\common\controller\Backend;
use think\Db;
/**
* 文章管理
*
* @icon fa fa-circle-o
*/
class Article extends Backend
{
/**
* Article模型对象
* @var \app\admin\model\jdgw\Article
*/
protected $model = null;
protected $relationSearch = true;
public function _initialize()
{
parent::_initialize();
$this->model = new \app\admin\model\jdgw\Article;
$this->view->assign("typedataList", $this->model->getTypedataList());
$this->view->assign("statusList", $this->model->getStatusList());
$this->view->assign('nav', \app\admin\model\jdgw\Nav::getTree());
}
public function index()
{
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if ($this->request->isAjax()) {
//如果发送的来源是Selectpage则转发到Selectpage
if ($this->request->request('keyField')) {
return $this->selectpage();
}
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$list = $this->model
->with('nav')
->where($where)
->order($sort, $order)
->paginate($limit);
$result = array("total" => $list->total(), "rows" => $list->items());
return json($result);
}
return $this->view->fetch();
}
public function selectSearch()
{
$nav = \app\admin\model\jdgw\Nav::getTree();
return json(["total" => count($nav), "rows" => $nav]);
}
/**
* 普通收录
*/
public function bdPush()
{
if (!\think\Hook::get('baidupush')) {
$this->error(__('请在后台插件管理安装百度推送插件'));
}
$type = $this->request->post("type");
$action = $this->request->post("action");
$ids = $this->request->post("ids/a");
$urls = [];
foreach ($ids as $k=>$v){
$urls[] = ($this->isHTTPS()? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . addon_url('jdgw/index/article', [':diyname'=> $v['diyname'], ':id'=>$v['id']], 'html');
}
$result = false;
if ($action == 'urls') {
$result = \addons\baidupush\library\Push::init(['type' => $type])->realtime($urls);
} elseif ($action == 'del') {
$result = \addons\baidupush\library\Push::init(['type' => $type])->delete($urls);
}
if ($result) {
if ($action == 'urls') {
$upData = [];
foreach ($ids as $k=>$v){
$upData[] = ['id'=>$v['id'], 'bddata'=>1];
}
$this->model->saveAll($upData);
} elseif ($action == 'del') {
$upData = [];
foreach ($ids as $k=>$v){
$upData[] = ['id'=>$v['id'], 'bddata'=>0];
}
$this->model->saveAll($upData);
}
$data = \addons\baidupush\library\Push::init()->getData();
$this->success("推送成功", null, $data);
} else {
$this->error("推送失败:" . \addons\baidupush\library\Push::init()->getError());
}
}
public function isHTTPS() {
if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
return true;
} elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
return true;
} elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
return true;
}
return false;
}
}