Initial commit
This commit is contained in:
@@ -0,0 +1,219 @@
|
||||
<?php
|
||||
namespace Admin\Controller;
|
||||
use Think\Controller;
|
||||
class UpdateController extends AdminController{
|
||||
public function __construct(){
|
||||
parent::__construct();
|
||||
$this->table=new \Admin\Model\UpdateModel();
|
||||
//是否刷新首页
|
||||
$this->isUpdateHome=C('setting.indexType')=='static'?1:0;
|
||||
//不刷新首页,删除
|
||||
if(!$this->isUpdateHome){
|
||||
unlink("./".C("setting.indexFileName"));
|
||||
}
|
||||
}
|
||||
//刷新入口页同
|
||||
public function index(){
|
||||
//缓存选项
|
||||
$updateInc=array(
|
||||
array("taskName"=>"updateCatCache","group"=>1,"task_index"=>1,"name"=>"栏目缓存","icon"=>"","color"=>"color1","num"=>1),
|
||||
array("taskName"=>"updateModelCache","group"=>1,"task_index"=>2,"name"=>"模型缓存","icon"=>"","color"=>"color2","num"=>1),
|
||||
array("taskName"=>"updateModel","group"=>1,"task_index"=>3,"name"=>"模型表单缓存","icon"=>"","color"=>"color3","num"=>$this->table->fileNum("./Application/Data/modelTemp")),
|
||||
array("taskName"=>"updateTemplate","group"=>1,"task_index"=>4,"name"=>"模板缓存","icon"=>"","color"=>"color4","num"=>M("template")->count()),
|
||||
array("taskName"=>"updatePageTemplate","group"=>1,"task_index"=>5,"name"=>"单页缓存","icon"=>"","color"=>"color5","num"=>M("page")->count()),
|
||||
array("taskName"=>"updateFeedbackModel","group"=>1,"task_index"=>6,"name"=>"反馈表单缓存","icon"=>"","color"=>"color6","num"=>$this->table->fileNum("./Application/Data/feedbackTemp")),
|
||||
array("taskName"=>"del_runtime","group"=>1,"task_index"=>7,"name"=>"缓存文件夹","icon"=>"","color"=>"color7","num"=>"4"),
|
||||
//首页,栏目等刷新
|
||||
array("taskName"=>"updateHome","group"=>2,"task_index"=>8,"name"=>"刷新首页","icon"=>"","color"=>"color5","num"=>$this->isUpdateHome),
|
||||
array("taskName"=>"updatePage","group"=>2,"task_index"=>9,"name"=>"刷新自定义页","icon"=>"","color"=>"color3","num"=>$this->getPageNum()),
|
||||
array("taskName"=>"updatePages","group"=>2,"task_index"=>10,"name"=>"刷新自定义列表页","icon"=>"","color"=>"color4","num"=>$this->getPagesNum(),"ids"=>$this->getPagesids()),
|
||||
array("taskName"=>"updateCat","group"=>2,"task_index"=>11,"name"=>"刷新栏目页","icon"=>"","color"=>"color6","num"=>$this->getCatPage(),"ids"=>$this->getCatids()),
|
||||
);
|
||||
//内容刷新
|
||||
$table=M("table")->select() ;
|
||||
foreach($table as $v){
|
||||
$updateInc[]=array(
|
||||
"taskName"=>"updateDetai",
|
||||
"group"=>3,
|
||||
"task_index"=>12,
|
||||
"name"=>$v["name"],
|
||||
"icon"=>"",
|
||||
"color"=>"color3",
|
||||
"num"=>M("cms_".$v["table_name"])->where("checked=1")->count(),
|
||||
"table"=>"cms_".$v["table_name"]
|
||||
);
|
||||
}
|
||||
$this->updateInc=$updateInc;
|
||||
if(IS_POST){
|
||||
$taskNameArr=$_POST["taskName"];
|
||||
foreach($taskNameArr as $v){
|
||||
$updateInc[$v]["alreadyNum"]=0;
|
||||
$updateInc[$v]["selfPerent"]=0;
|
||||
$updateInc[$v]["ids_key"]=0;//用于栏目和自定义列表,存放栏目id对应的数组下标
|
||||
$updateInc[$v]["className"]="";
|
||||
$obj[$v]=$updateInc[$v];
|
||||
}
|
||||
$obj=array_values($obj);//数组重新编号
|
||||
$this->data= json_encode($obj);
|
||||
$this->display("Refreshing");
|
||||
}else{
|
||||
$this->display("Refresh");
|
||||
}
|
||||
}
|
||||
//获取要刷新的栏目id,返回的是数组
|
||||
public function getCatids(){
|
||||
$data=M("cat")->where(array(
|
||||
"statue"=>1,
|
||||
"list_type"=>"static",
|
||||
))->order("catid asc")->getField("catid",true);
|
||||
return $data;
|
||||
}
|
||||
//获取自定义列表id,返回的是数组
|
||||
public function getPagesids(){
|
||||
$data=M("pages")->where("path_type='static'")->getField("pages_id",true);
|
||||
return $data;
|
||||
}
|
||||
//获取所有栏目下的分页数量总和
|
||||
public function getCatPage(){
|
||||
$data=M("cat")->field("catid,infonum,lencord")->where(array(
|
||||
"statue"=>1,
|
||||
"list_type"=>"static",
|
||||
))->select();
|
||||
$count=0;
|
||||
foreach($data as $v){
|
||||
$total=ceil($v[infonum]/$v[lencord]);
|
||||
$total=$total?$total:1;
|
||||
$count=$count+$total;
|
||||
}
|
||||
return $count;
|
||||
}
|
||||
//获取自定义页数量
|
||||
public function getPageNum(){
|
||||
return M("page")->where("path_type='static'")->count();
|
||||
}
|
||||
//获取自定义列表页数量
|
||||
public function getPagesNum(){
|
||||
$data=M("pages")->where("path_type='static'")->select();
|
||||
$count=0;
|
||||
$Model = new \Think\Model;
|
||||
foreach($data as $v){
|
||||
$query=$Model->query($v[count_sql]);
|
||||
$total=$query[0][total];
|
||||
$count=$count+(ceil($total/$v[lencord]));
|
||||
}
|
||||
return $count;
|
||||
}
|
||||
//
|
||||
//更新栏目缓存
|
||||
public function updateCatCache(){
|
||||
//记住,等下信息数量也要更新
|
||||
$Model=new \Admin\Model\CatModel();
|
||||
$Model->updateCache();
|
||||
$this->success(array(
|
||||
"complete"=>1,
|
||||
"num"=>1,
|
||||
));
|
||||
}
|
||||
//更新模型缓存
|
||||
public function updateModelCache(){
|
||||
$Model=new \Admin\Model\ModelModel();
|
||||
$Model->updateCache();
|
||||
$this->success(array(
|
||||
"complete"=>1,
|
||||
"num"=>1,
|
||||
));
|
||||
}
|
||||
//更新所有模型表单缓存
|
||||
public function updateModel(){
|
||||
$rs=M("model")->field("modelid")->select();
|
||||
$Model=new \Admin\Model\ModelModel();
|
||||
delDirAndFile(APP_PATH.$Model::modelTempPath);//清空文件夹
|
||||
foreach($rs as $v){
|
||||
$Model->updateModelTemp($v["modelid"]);//后台
|
||||
$Model->updateCatModelTemp($v["modelid"]);//栏目模型字段
|
||||
$Model->updateModelTempMember($v["modelid"]);//投稿
|
||||
}
|
||||
$this->success(array(
|
||||
"complete"=>1,
|
||||
"num"=>$this->table->fileNum("./Application/Data/modelTemp"),
|
||||
));
|
||||
}
|
||||
//更新所有模板缓存
|
||||
public function updateTemplate(){
|
||||
$rs=M("template")->field("template_id")->select();
|
||||
$Model=new \Admin\Model\TemplateModel();
|
||||
delDirAndFile(C("CMS_TEMP_PATH"));//清空文件夹
|
||||
foreach($rs as $v){
|
||||
$Model->makeTemplateFile($v["template_id"]);
|
||||
}
|
||||
$this->success(array(
|
||||
"complete"=>1,
|
||||
"num"=>M("template")->count(),
|
||||
));
|
||||
}
|
||||
//更新单页模板缓存
|
||||
public function updatePageTemplate(){
|
||||
$rs=M("page")->field("page_id,pagemod")->select();
|
||||
$PageModel=new \Admin\Model\PageModel();
|
||||
foreach($rs as $v){
|
||||
if($v[pagemod]==1){
|
||||
$PageModel->makePageTemplateFile($v[page_id]);
|
||||
}else{
|
||||
//如果不是页面式,删除模板文件
|
||||
$PageModel->deletePageTemplateFile($v[page_id]);
|
||||
}
|
||||
}
|
||||
$this->success(array(
|
||||
"complete"=>1,
|
||||
"num"=>M("page")->count(),
|
||||
));
|
||||
}
|
||||
//更新留言反馈缓存
|
||||
public function updateFeedbackModel(){
|
||||
$cat=M("feedback_cat")->select();
|
||||
$ModelModel=new \Admin\Model\FeedbackCatModel();
|
||||
foreach($cat as $v){
|
||||
$ModelModel->updateModelTemp($v["catid"]);
|
||||
}
|
||||
$this->success(array(
|
||||
"complete"=>1,
|
||||
"num"=>$this->table->fileNum("./Application/Data/feedbackTemp"),
|
||||
));
|
||||
}
|
||||
//删除runtime文件夹
|
||||
public function del_runtime() {
|
||||
$dir = "./Application/Runtime/";
|
||||
$this->del_dir($dir);
|
||||
$this->success(array(
|
||||
"complete"=>1,
|
||||
"num"=>4,
|
||||
));
|
||||
}
|
||||
protected function del_dir($dir){
|
||||
$dh=opendir($dir);
|
||||
while ($file=readdir($dh)) {
|
||||
if($file!="." && $file!="..") {
|
||||
$fullpath=$dir."/".$file;
|
||||
if(!is_dir($fullpath)) {
|
||||
@unlink($fullpath);
|
||||
} else {
|
||||
$this->del_dir($fullpath);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($dh);
|
||||
if(rmdir($dir)){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//写入文件
|
||||
public function saveFile($filePath,$content){
|
||||
\Think\Storage::put($filePath,$content,'html');
|
||||
return
|
||||
$fp = fopen($filePath,"w");
|
||||
fwrite($fp,$content);
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user