| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | 
							- <?php
 
- /**
 
-  *
 
-  * Template(模板管理)
 
-  *
 
-  */
 
- if(!defined("Ainaphp")) exit("Access Denied");
 
- class TemplateAction extends AdminbaseAction
 
- {
 
- 	protected $filepath,$publicpath;
 
-     function _initialize()
 
-     {
 
- 		parent::_initialize();
 
- 		$this->filepath = TMPL_PATH.'Home/'.$this->sysConfig['DEFAULT_THEME'].'/';
 
- 		$this->publicpath = TMPL_PATH.'Home/'.$this->sysConfig['DEFAULT_THEME'].'/Public/';
 
- 		$this->allpath = '';
 
-     }
 
-     public function index()
 
-     {
 
- 		$exts = array('html','css','js');
 
- 		$type=  $_GET['type'] ? $_GET['type'] : 'html';
 
- 		if($type=='html'){
 
- 			$path=$this->filepath;
 
- 		}else{
 
- 			$path=$this->allpath.$type.'/';
 
- 		}
 
- 		$files = dir_list($path,$type);
 
- 		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 );
 
-         $this->display ();
 
-     }
 
- 	public function images(){
 
- 		$path = $this->publicpath.'images/'.$_GET['folder'];
 
- 		$this->assign ( 'Public',$this->publicpath);
 
- 		$uppath = explode('/',$_GET['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);
 
- 		if($_GET['delete']){
 
- 			$file=$path.$_GET['filename'];
 
- 			if(file_exists($file)){
 
- 				is_dir($file) ? dir_delete($file) : unlink($file);
 
- 				$this->success(L('delete_ok'));
 
- 			}else{
 
- 				$this->error(L('file_no_find'));
 
- 			}
 
- 		}
 
- 		$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 ( 'path',$path);
 
- 		$this->assign ( 'folders',$folders );
 
- 		$this->assign ( 'files',$templates );
 
- 		$this->display ();
 
- 	}
 
- 	public function _before_add()
 
-     {
 
- 		if (!is_writable($this->filepath)) $this->error(L('file_no_find'));
 
- 	}
 
-  	public function edit(){
 
- 		$exts = array('html','css','js');
 
- 		$filename = $_REQUEST['file'];
 
- 		if($_POST['type']){
 
- 			$type = $_POST['type'];
 
- 		}else{
 
- 			$type = strtolower(substr($filename,strrpos($filename, '.')-strlen($filename)+1));
 
- 		}
 
- 		$path = $type=='html' ?  $this->filepath : $this->allpath.$type.'/';
 
-  		$file = $path.$filename;
 
- 		if($_REQUEST['dosubmit']){
 
- 			if(C('TOKEN_ON') && !M()->autoCheckToken($_POST))$this->error (L('_TOKEN_ERROR_'));
 
- 			if($_POST['type']){
 
-  				$file = $path.$filename.'.'.$type;
 
- 				file_put_contents($file,htmlspecialchars_decode(stripslashes($_POST['content'])));
 
- 				$this->assign('jumpUrl',U($module_name.'/index?type='.$type));
 
- 				$this->success(L('add_ok'));
 
- 			}else{
 
- 				if(file_exists($file)){
 
- 					file_put_contents($file,htmlspecialchars_decode(stripslashes($_POST['content'])));
 
- 					$this->success(L('edit_ok'));
 
- 				}else{
 
- 					$this->error(L('file_no_find'));
 
- 				}
 
- 			}
 
- 		}else{
 
- 			if(file_exists($file)){
 
- 				$content = htmlspecialchars(file_get_contents($file));
 
- 				$this->assign ( 'filename',$filename );
 
- 				$this->assign ( 'file',$file );
 
- 				$this->display ();
 
- 				echo '<textarea id="contentbox" style="display:none;" >'.$content.'</textarea><script>$("#content").val($("#contentbox").val());</script>';
 
- 			}else{
 
- 				$this->error(L('file_no_find'));
 
- 			}
 
- 		}
 
- 	}
 
- 	public function delete(){
 
- 		$exts = array('html','css','js');
 
- 		$filename = $_REQUEST['file'];
 
- 		$type = strtolower(substr($filename,strrpos($filename, '.')-strlen($filename)+1));
 
- 		$path = $type=='html' ? $path=$this->filepath : $this->publicpath.$type.'/';
 
-  		$file = $path.$filename;
 
- 		if(file_exists($file)){
 
- 			unlink($file);
 
-             $this->assign('jumpUrl',U($module_name.'/index?type='.$type));
 
- 			$this->success(L('delete_ok'));
 
- 		}else{
 
-             $this->assign('jumpUrl',U($module_name.'/index?type='.$type));
 
- 			$this->error(L('file_no_find'));
 
- 		}
 
- 	}
 
- 	public function config(){
 
- 		$lang= APP_LANG ? LANG_NAME : $this->sysConfig['DEFAULT_LANG'];
 
- 		if($_GET['isajax']){
 
- 			if(empty($_POST['value'])){ echo '0';exit;}
 
- 			$data = F('config_'.$lang, $value='', $this->filepath);
 
- 			$data[$_POST['key']]=$_POST['value'];
 
- 			$r = F('config_'.$lang, $data, $this->filepath);
 
- 			echo $r ? 1 : 0;
 
- 			exit;
 
- 		}
 
- 		if($_POST['dosubmit']){
 
- 			$file=  $_REQUEST['file'];
 
- 			unset($_POST[C('TOKEN_NAME')]);
 
- 			unset($_POST['dosubmit']);
 
- 				// strtoupper
 
- 			foreach($_POST as $key=>$r){
 
- 				if($r)$data[strtolower($key)]=$r;
 
- 			}
 
- 			$r = F('config_'.$lang, $data, $this->filepath);
 
- 			if($r){
 
- 				$this->success(L('do_ok'));
 
- 			}else{
 
- 				$this->error(L('add_error'));
 
- 			 }
 
- 		}else{
 
- 			$data = F('config_'.$lang, $value='', $this->filepath);
 
- 			$this->assign ( 'list', $data );
 
- 		}
 
- 		$this->display ();
 
- 	}
 
- }
 
- ?>
 
 
  |