website/application/admin/controller/jdgw/Article.php

117 lines
3.7 KiB
PHP
Raw Normal View History

2025-05-09 01:14:04 +08:00
<?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;
}
}