Initial commit
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
namespace Admin\Controller;
|
||||
use Think\Controller;
|
||||
class PageController extends AdminController{
|
||||
public function __construct(){
|
||||
parent::__construct();
|
||||
$this->table=D("page");
|
||||
$where["type"]="page";
|
||||
if($this->admin_lang){
|
||||
$where["lang"]=$this->admin_lang;
|
||||
}
|
||||
$this->pagetemplate=M("template")->where($where)->order("template_id desc")->select();
|
||||
}
|
||||
//单页信息
|
||||
public function page(){
|
||||
if($this->admin_lang){
|
||||
$where["lang"]=$this->admin_lang;
|
||||
}
|
||||
$data=$this->table->where($where)->order('page_id desc')->select();
|
||||
$this->assign("data",$data);
|
||||
$this->display();
|
||||
}
|
||||
public function page_add(){
|
||||
if(IS_POST){
|
||||
$data=$this->table->create();
|
||||
if (!$data){//验证
|
||||
$this->error($this->table->getError());
|
||||
}
|
||||
$data[page_id]=$this->table->add();
|
||||
D("UserLog")->add("add",$this->table->getTableName(),$data[page_id]);
|
||||
if($data[pagemod]==1){
|
||||
$this->table->makePageTemplateFile($data[page_id]);
|
||||
}
|
||||
if($data[path_type]=="static"){
|
||||
\Admin\Model\UpdateModel::pageHtml($data[page_id],$data["classpath"]);
|
||||
}
|
||||
$this->success($data);
|
||||
}else{
|
||||
$this->pubid=make_pubid();
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
public function page_editor(){
|
||||
if(IS_POST){
|
||||
$data=$this->table->create();
|
||||
if (!$data){//验证
|
||||
$this->error($this->table->getError());
|
||||
}
|
||||
//
|
||||
//记录历吏版本
|
||||
if($data[pagemod]==1){
|
||||
$this->setHistory($data[page_id]);
|
||||
}
|
||||
$this->table->save($data);
|
||||
if($data[pagemod]==1){
|
||||
$this->table->makePageTemplateFile($data[page_id]);
|
||||
}else{
|
||||
//如果不是页面式,删除模板文件
|
||||
$this->table->deletePageTemplateFile($data[page_id]);
|
||||
}
|
||||
if($data[path_type]=="static"){
|
||||
\Admin\Model\UpdateModel::pageHtml($data[page_id],$data["classpath"]);
|
||||
}
|
||||
D("UserLog")->add("update",$this->table->getTableName(),$data[page_id]);
|
||||
$this->success($data);
|
||||
|
||||
}else{
|
||||
$page_id=I("get.page_id",0,"int");
|
||||
$r=$this->table->find($page_id);
|
||||
$this->pagemod=$_GET[pagemod]?$_GET[pagemod]:$r[pagemod];
|
||||
$this->assign("r",$r);
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
//删除页面
|
||||
public function page_delete(){
|
||||
$page_id=I("page_id",0,'intval');
|
||||
$this->table->delete($page_id);
|
||||
//删除历吏记录
|
||||
M("page_history")->where(array("page_id"=>$page_id))->delete();
|
||||
//删除文件
|
||||
$this->table->deletePageTemplateFile($page_id);
|
||||
//
|
||||
D("UserLog")->add("delete",$this->table->getTableName(),$page_id);
|
||||
$this->success("删除成功");
|
||||
}
|
||||
//单页模板
|
||||
public function page_template(){
|
||||
$where["type"]="page";
|
||||
$where["type"]="page";
|
||||
if($this->admin_lang){
|
||||
$where["lang"]=$this->admin_lang;
|
||||
}
|
||||
$data=M("template")->where($where)->order('sort asc,template_id desc')->select();
|
||||
$this->assign("data",$data);
|
||||
$this->display();
|
||||
}
|
||||
public function page_template_add(){
|
||||
$this->display();
|
||||
}
|
||||
public function page_template_editor(){
|
||||
$template_id=I("get.template_id",0,"int");
|
||||
$r=M("template")->find($template_id);
|
||||
$this->assign("r",$r);
|
||||
$this->display();
|
||||
}
|
||||
//记录历吏修改
|
||||
private function setHistory($page_id){
|
||||
//老的模板内容(未修改前的)
|
||||
$old_template=M("page")->where(array("page_id"=>$page_id))->getField("pagetext");
|
||||
//获取post过来的新的模板内容
|
||||
$new_template=I("post.pagetext");
|
||||
//如果没有老的,或者没有新的则不做版本标记
|
||||
if(!$old_template||!$new_template){
|
||||
return;
|
||||
}
|
||||
//如果老的模板内容和新的模板内容一样也不做版本标记
|
||||
if($old_template==$new_template){
|
||||
return;
|
||||
}
|
||||
//
|
||||
$data["page_id"]=$page_id;
|
||||
$data["addtime"]=time();
|
||||
$data["userid"]=$_SESSION['user_id'];
|
||||
$data["username"]=$_SESSION['user_name'];
|
||||
$data["content"]=$old_template;
|
||||
M("page_history")->add($data);
|
||||
//查询备份的模板数据是否大于设置的值,多余的删除
|
||||
$maxBake=C("MAX_TEMPLATE_BAKE");
|
||||
$count=M("page_history")->where(array("page_id"=>$page_id))->count();
|
||||
if($count>$maxBake){
|
||||
$min_id=M("page_history")->where(array("page_id"=>$page_id))->min("id");
|
||||
M("page_history")->delete($min_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user