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