mirror of https://github.com/1099438829/apeblog
114 lines
3.7 KiB
PHP
114 lines
3.7 KiB
PHP
<?php
|
|
declare (strict_types = 1);
|
|
|
|
namespace app\index\controller;
|
|
use app\BaseController;
|
|
use think\facade\Config;
|
|
use think\facade\Db;
|
|
use think\facade\View;
|
|
use app\admin\model\system\SystemConfig;
|
|
|
|
/**
|
|
* 控制器基础类
|
|
*/
|
|
class Base extends BaseController
|
|
{
|
|
/**
|
|
* 控制器中间件
|
|
* @var array
|
|
*/
|
|
protected $middleware = [];
|
|
|
|
// 初始化
|
|
protected function initialize(){
|
|
parent::initialize();
|
|
/* 读取数据库中的配置 */
|
|
$systemConfig = cache('systemConfig');
|
|
if (empty($systemConfig)){
|
|
$systemConfig = SystemConfig::getSystemConfigValues();
|
|
cache('systemConfig',$systemConfig);
|
|
}
|
|
//系统模板目录,兼容模板标签 include
|
|
$templatePath = public_path('template'.$systemConfig['web_template'].'/');
|
|
if (!file_exists($templatePath)){
|
|
//检查主题目录是否存在,不存在则更新为默认目录
|
|
$templatePath = public_path('template/default/');
|
|
}
|
|
define('TPL',$templatePath);
|
|
//判断是否关闭站点。
|
|
if(!$systemConfig['web_close']){
|
|
$this->error('网站暂时关闭!','','stop');
|
|
}
|
|
//判断后台统计配置是否开启 1 开启
|
|
if ($systemConfig["web_statistics"] == 1) {
|
|
//pv表 zz_pv_log 栏目存在 点击进入页面后
|
|
//判断 时间 0-1点 为time=0 H 24小时制
|
|
$date_data = date("Y-m-d");
|
|
$hour = date('H');
|
|
$pvInfo = Db::name('pv_log')
|
|
->where('date',$date_data)
|
|
->where('time','=',$hour)
|
|
->value('id');
|
|
if ($pvInfo) {
|
|
Db::name('pv_log')
|
|
->where('id', $pvInfo)
|
|
->inc('view')
|
|
->update();
|
|
} else {
|
|
$pvData['view'] = 1;
|
|
$pvData['date'] = $date_data;
|
|
$pvData['time'] = $hour;
|
|
$pvData['create_time'] = time();
|
|
Db::name('pv_log')->insert($pvData);
|
|
}
|
|
//uv表
|
|
//获取ip
|
|
$ipData = request()->ip();
|
|
//查询该ip今天是否存在过
|
|
$uvInfo = Db::name('uv_log')
|
|
->where('date',$date_data)
|
|
->where('ip',$ipData)
|
|
->field('id')
|
|
->find();
|
|
//不存在 添加数据
|
|
if (!$uvInfo) {
|
|
$uvData['ip'] = $ipData;
|
|
$uvData['time'] = $hour;
|
|
$uvData['date'] = $date_data;
|
|
$uvData['create_time'] = time();
|
|
Db::name('uv_log')->insert($uvData);
|
|
}
|
|
}
|
|
//判断是否开启了伪静态
|
|
if ($systemConfig['web_rewrite']) {
|
|
$this->request->setRoot('/');
|
|
} else {
|
|
$this->request->setRoot('/index.php');
|
|
}
|
|
|
|
}
|
|
|
|
//统计url
|
|
protected function urlrecord($title)
|
|
{
|
|
$date_data = date("Y-m-d");
|
|
//获取url
|
|
$urlInfo = request()->url(true);
|
|
//根据url和date字段判断数据库中是否存在该页面的记录
|
|
$url_data = Db::name('url_log')
|
|
->where('date',$date_data)
|
|
->where('url',$urlInfo)
|
|
->field('id')
|
|
->find();
|
|
if ($url_data) {
|
|
Db::name('url_log')->where('id',$url_data['id'])->inc('pv')->update();
|
|
} else {
|
|
$dataUrl['url'] = $urlInfo;
|
|
$dataUrl['pv'] = 1;
|
|
$dataUrl['title'] = $title;
|
|
$dataUrl['date'] = $date_data;
|
|
$dataUrl['create_time'] = time();
|
|
Db::name('url_log')->insert($dataUrl);
|
|
}
|
|
}
|
|
} |