You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
6.5 KiB
177 lines
6.5 KiB
<?php
|
|
namespace app\admin\controller;
|
|
use think\facade\Env;
|
|
class Template extends Common{
|
|
protected $filepath,$publicpath,$viewSuffix;
|
|
function initialize()
|
|
{
|
|
parent::initialize();
|
|
$viewPath = config('template.view_path');
|
|
$this->viewSuffix = config('template.view_suffix');
|
|
$viewPath = $viewPath ? $viewPath : 'view';
|
|
$this->filepath = Env::get('app_path').strtolower(config('default_module')).'/'.$viewPath.'/';
|
|
$this->publicpath = 'static/home/';
|
|
$this->assign ( 'viewSuffix',$this->viewSuffix );
|
|
}
|
|
public function index(){
|
|
$type= input('param.type') ? input('param.type') : $this->viewSuffix;
|
|
if($type==$this->viewSuffix){
|
|
$path=$this->filepath;
|
|
}else{
|
|
$path=$this->publicpath.$type.'/';
|
|
}
|
|
$files = dir_list($path,$type);
|
|
$templates = array();
|
|
foreach ($files as $key=>$file){
|
|
$filename = basename($file);
|
|
$templates[$key]['value'] = substr($filename,0,strrpos($filename, '.'));
|
|
$templates[$key]['filename'] = $filename;
|
|
$templates[$key]['filepath'] = $file;
|
|
$templates[$key]['filesize']=byte_format(filesize($file));
|
|
$templates[$key]['filemtime']=filemtime($file);
|
|
$templates[$key]['ext'] = strtolower(substr($filename,strrpos($filename, '.')-strlen($filename)));
|
|
}
|
|
$this->assign ( 'templates',$templates );
|
|
|
|
return $this->fetch();
|
|
}
|
|
|
|
public function add(){
|
|
$this->assign ( 'title','添加模版' );
|
|
return $this->fetch();
|
|
}
|
|
public function insert(){
|
|
$filename = input('post.file');
|
|
$type = input('post.type');
|
|
$path = $type==$this->viewSuffix ? $this->filepath : $this->publicpath.$type.'/';
|
|
$file = $path.$filename.'.'.$type;
|
|
if(file_exists($file)){
|
|
$result['msg'] = '文件已经存在!';
|
|
$result['status'] = 0;
|
|
return $result;
|
|
}
|
|
file_put_contents($file,stripslashes(input('post.content')));
|
|
$result['msg'] = '添加成功!';
|
|
if($type==$this->viewSuffix){
|
|
$result['url'] = url('index');
|
|
}else{
|
|
$result['url'] = url('index',array('type'=>$type));
|
|
}
|
|
$result['code'] = 1;
|
|
return $result;
|
|
}
|
|
|
|
public function edit(){
|
|
$filename = input('param.file');
|
|
if(input('param.type')){
|
|
$type = input('param.type');
|
|
}else{
|
|
$type = strtolower(substr($filename,strrpos($filename, '.')-strlen($filename)+1));
|
|
}
|
|
$path = $type==$this->viewSuffix ? $this->filepath : $this->publicpath.$type.'/';
|
|
$file = $path.$filename;
|
|
if(file_exists($file)){
|
|
$file=iconv('gb2312','utf-8',$file);
|
|
$content = file_get_contents($file);
|
|
$this->assign ( 'filename',$filename );
|
|
$this->assign ( 'title','修改模版内容' );
|
|
$this->assign ( 'file',$file );
|
|
$this->assign ( 'content',$content );
|
|
}else{
|
|
$this->error('文件不存在!');
|
|
}
|
|
return $this->fetch();
|
|
}
|
|
public function update(){
|
|
$filename = input('post.file');
|
|
$type= input('param.type') ? input('param.type') : $this->viewSuffix;
|
|
$path = $type==$this->viewSuffix ? $this->filepath : $this->publicpath.$type.'/';
|
|
$file = $path.$filename;
|
|
if(file_exists($file)){
|
|
file_put_contents($file,stripslashes(input('content')));
|
|
$result['msg'] = '修改成功!';
|
|
if($type==$this->viewSuffix){
|
|
$result['url'] = url('index');
|
|
}else{
|
|
$result['url'] = url('index',array('type'=>$type));
|
|
}
|
|
$result['code'] = 1;
|
|
return $result;
|
|
}else{
|
|
$result['msg'] = '文件不存在!';
|
|
$result['code'] = 0;
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
public function delete(){
|
|
$filename = input('param.file');
|
|
$type = strtolower(substr($filename,strrpos($filename, '.')-strlen($filename)+1));
|
|
$path = $type==$this->viewSuffix ? $path=$this->filepath : $this->publicpath.$type.'/';
|
|
$file = $path.$filename;
|
|
if(file_exists($file)){
|
|
unlink($file);
|
|
if($type==$this->viewSuffix){
|
|
$this->redirect('index');
|
|
}else{
|
|
$this->redirect('index',array('type'=>$type));
|
|
}
|
|
}else{
|
|
if($type==$this->viewSuffix){
|
|
$this->redirect('index');
|
|
}else{
|
|
$this->redirect('index',array('type'=>$type));
|
|
}
|
|
}
|
|
}
|
|
|
|
public function images(){
|
|
$path = $this->publicpath.'images/'.input('folder').'/';
|
|
$uppath = explode('/',input('folder'));
|
|
$leve = count($uppath)-1;
|
|
unset($uppath[$leve]);
|
|
if($leve>1){
|
|
unset($uppath[$leve-1]);
|
|
$uppath = implode('/',$uppath).'/';
|
|
}else{
|
|
$uppath = '';
|
|
}
|
|
$this->assign ( 'leve',$leve);
|
|
$this->assign ( 'uppath',$uppath);
|
|
$files = glob($path.'*');
|
|
$folders=array();
|
|
foreach($files as $key => $file) {
|
|
$filename = basename($file);
|
|
if(is_dir($file)){
|
|
$folders[$key]['filename'] = $filename;
|
|
$folders[$key]['filepath'] = $file;
|
|
$folders[$key]['ext'] = 'folder';
|
|
}else{
|
|
$templates[$key]['filename'] = $filename;
|
|
$templates[$key]['filepath'] = $file;
|
|
$templates[$key]['ext'] = strtolower(substr($filename,strrpos($filename, '.')-strlen($filename)+1));
|
|
if(!in_array($templates[$key]['ext'],array('gif','jpg','png','bmp'))) $templates[$key]['ico'] =1;
|
|
}
|
|
}
|
|
$this->assign ( 'title','媒体文件' );
|
|
$this->assign ( 'path',$path);
|
|
$this->assign ( 'folders',$folders );
|
|
$this->assign ( 'files',$templates );
|
|
return $this->fetch();
|
|
}
|
|
public function imgDel(){
|
|
$path = $this->publicpath.'images/'.input('post.folder');
|
|
$file=$path.input('post.filename');
|
|
if(file_exists($file)){
|
|
is_dir($file) ? dir_delete($file) : unlink($file);
|
|
|
|
$result['msg'] = '删除成功!';
|
|
$result['code'] = 1;
|
|
return $result;
|
|
}else{
|
|
$result['msg'] = '文件不存在!';
|
|
$result['code'] = 0;
|
|
return $result;
|
|
}
|
|
}
|
|
}
|