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