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 ''; }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 (); } } ?>