|
|
<?php |
|
|
namespace app\admin\controller; |
|
|
use think\Db; |
|
|
use think\Config; |
|
|
use think\Cache; |
|
|
|
|
|
class Domain extends Base |
|
|
{ |
|
|
|
|
|
public function index() |
|
|
{ |
|
|
if (Request()->isPost()) { |
|
|
$config = input(); |
|
|
|
|
|
$tmp = $config['domain']; |
|
|
$domain=[]; |
|
|
|
|
|
|
|
|
|
|
|
foreach ($tmp['site_url'] as $k=>$v){ |
|
|
|
|
|
$domain[$v] =[ |
|
|
'site_url'=>$v, |
|
|
'site_name'=>$tmp['site_name'][$k], |
|
|
'site_keywords'=>$tmp['site_keywords'][$k], |
|
|
'site_description'=>$tmp['site_description'][$k], |
|
|
'template_dir'=>$tmp['template_dir'][$k], |
|
|
'html_dir'=>$tmp['html_dir'][$k], |
|
|
'ads_dir'=>$tmp['ads_dir'][$k], |
|
|
]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
$res = mac_arr2file(APP_PATH . 'extra/domain.php', $domain); |
|
|
if ($res === false) { |
|
|
return $this->error(lang('save_err')); |
|
|
} |
|
|
return $this->success(lang('save_ok')); |
|
|
} |
|
|
|
|
|
|
|
|
$templates = glob('./template' . '/*', GLOB_ONLYDIR); |
|
|
foreach ($templates as $k => &$v) { |
|
|
$v = str_replace('./template/', '', $v); |
|
|
} |
|
|
$this->assign('templates', $templates); |
|
|
|
|
|
$config = config('domain'); |
|
|
$this->assign('domain_list', $config); |
|
|
$this->assign('title', lang('admin/domain/title')); |
|
|
return $this->fetch('admin@domain/index'); |
|
|
} |
|
|
|
|
|
public function del() |
|
|
{ |
|
|
$param = input(); |
|
|
if(!empty($param['ids'])){ |
|
|
$list = config('domain'); |
|
|
unset($list[$param['ids']]); |
|
|
$res = mac_arr2file( APP_PATH .'extra/domain.php', $list); |
|
|
if($res===false){ |
|
|
return $this->error(lang('del_err')); |
|
|
} |
|
|
} |
|
|
return $this->success(lang('del_ok')); |
|
|
} |
|
|
|
|
|
public function export() |
|
|
{ |
|
|
$list = config('domain'); |
|
|
$html = ''; |
|
|
foreach($list as $k=>$v){ |
|
|
$html .= $v['site_url'].'$'.$v['site_name'].'$'.$v['site_keywords'].'$'.$v['site_description'].'$'.$v['template_dir'].'$'.$v['html_dir'].'$'.$v['ads_dir']."\n"; |
|
|
} |
|
|
|
|
|
header("Content-type: application/octet-stream"); |
|
|
header("Content-Disposition: attachment; filename=mac_domains.txt"); |
|
|
echo $html; |
|
|
} |
|
|
|
|
|
public function import() |
|
|
{ |
|
|
$file = $this->request->file('file'); |
|
|
$info = $file->rule('uniqid')->validate(['size' => 10240000, 'ext' => 'txt']); |
|
|
if ($info) { |
|
|
$data = file_get_contents($info->getpathName()); |
|
|
@unlink($info->getpathName()); |
|
|
if($data){ |
|
|
$list = explode(chr(10),$data); |
|
|
|
|
|
$domain =[]; |
|
|
|
|
|
foreach($list as $k=>$v){ |
|
|
if(!empty($v)) { |
|
|
$one = explode('$', $v); |
|
|
$domain[$one[0]] = [ |
|
|
'site_url' => $one[0], |
|
|
'site_name' => $one[1], |
|
|
'site_keywords' => $one[2], |
|
|
'site_description' => $one[3], |
|
|
'template_dir' => $one[4], |
|
|
'html_dir' => $one[5], |
|
|
'ads_dir'=>$one[6], |
|
|
]; |
|
|
} |
|
|
} |
|
|
|
|
|
$res = mac_arr2file( APP_PATH .'extra/domain.php', $domain); |
|
|
if($res===false){ |
|
|
return $this->error(lang('write_err_config')); |
|
|
} |
|
|
} |
|
|
return $this->success(lang('import_err')); |
|
|
} |
|
|
else{ |
|
|
return $this->error($file->getError()); |
|
|
} |
|
|
} |
|
|
} |
|
|
|