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); } }