123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- /**
- * [Discuz!] (C)2001-2099 Comsenz Inc.
- * This is NOT a freeware, use is subject to license terms
- *
- * $Id: admincp_domain.php 32699 2013-03-01 02:54:05Z zhengqingpeng $
- */
- if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
- exit('Access Denied');
- }
- cpheader();
- $operation = in_array($operation, array('global', 'app', 'root')) ? $operation : 'global';
- $current = array($operation => 1);
- shownav('global', 'setting_domain');
- showsubmenu('setting_domain', array(
- array('setting_domain_base', 'domain', $current['global']),
- array('setting_domain_app', 'domain&operation=app', $current['app']),
- array('setting_domain_root', 'domain&operation=root', $current['root']),
- ));
- $navs = $_G['setting']['navs'];
- if($operation == 'app') {
- if(!submitcheck('submit')) {
- $appkeyarr = array(
- 'portal' => $navs[1]['navname'],
- 'forum' => $navs[2]['navname'],
- 'group' => $navs[3]['navname'],
- 'home' => $lang['nav_home'],
- 'mobile' => $lang['mobile'],
- 'default' => $lang['default']
- );
- showtips('setting_domain_app_tips');
- showformheader('domain&operation=app');
- showtableheader();
- showsubtitle(array('name', 'setting_domain_app_domain'));
- $app = array();
- $hiddenarr = array();
- foreach($appkeyarr as $key => $desc) {
- if(in_array($key, array('portal', 'group')) && !helper_access::check_module($key) || ($key == 'home' && !helper_access::check_module('feed'))) {
- $hiddenarr["appnew[$key]"] = '';
- } else {
- showtablerow('', array('class="td25"', ''), array(
- $desc,
- "<input type=\"text\" class=\"txt\" style=\"width:50%;\" name=\"appnew[$key]\" value=\"".$_G['setting']['domain']['app'][$key]."\">".($key == 'mobile' ? cplang('setting_domain_app_mobile_tips') : '')
- ));
- }
- }
- showsubmit('submit');
- showtablefooter();
- showhiddenfields($hiddenarr);
- showformfooter();
- } else {
- $olddomain = $_G['setting']['domain']['app'];
- $_G['setting']['domain']['app'] = array();
- $appset = false;
- foreach($_GET['appnew'] as $appkey => $domain) {
- if(preg_match('/^((http|https|ftp):\/\/|\.)|(\/|\.)$/i', $domain)) {
- cpmsg('setting_domain_http_error', '', 'error');
- }
- if(!empty($domain) && in_array($domain, $_G['setting']['domain']['app'])) {
- cpmsg('setting_domain_repeat_error', '', 'error');
- }
- if($appkey != 'default' && $domain) {
- $appset = true;
- }
- $_G['setting']['domain']['app'][$appkey] = $domain;
- }
- if($appset && !$_G['setting']['domain']['app']['default']) {
- cpmsg('setting_domain_need_default_error', '', 'error');
- }
- if($_GET['appnew']['mobile'] != $olddomain['mobile']) {
- C::t('common_nav')->update_by_identifier('mobile', array('url' => (!$_GET['appnew']['mobile'] ? 'forum.php?mobile=yes' : 'http://'.$_GET['appnew']['mobile'])));
- }
- C::t('common_setting')->update('domain',$_G['setting']['domain']);
- updatecache('setting');
- cpmsg('setting_update_succeed', 'action=domain&operation=app', 'succeed');
- }
- } elseif($operation == 'root') {
- $roottype = array(
- 'home' => $lang['domain_home'],
- 'group' => $navs[3]['navname'],
- 'forum' => $lang['domain_forum'],
- 'topic' => $lang['domain_topic'],
- 'channel' => $lang['channel'],
- );
- if(!submitcheck('submit')) {
- showtips('setting_domain_root_tips');
- showformheader('domain&operation=root');
- showtableheader();
- showsubtitle(array('name', 'setting_domain_app_domain'));
- $hiddenarr = array();
- foreach($roottype as $type => $desc) {
- if(in_array($type, array('topic', 'channel')) && !helper_access::check_module('portal') || ($type == 'home' && !$_G['setting']['homepagestyle']) || ($type == 'group' && !helper_access::check_module('group'))) {
- $hiddenarr["domainnew[$type]"] = '';
- } else {
- $domainroot = $_G['setting']['domain']['root'][$type];
- showtablerow('', array('class="td25"', ''), array(
- $desc,
- "<input type=\"text\" class=\"txt\" style=\"width:50%;\" name=\"domainnew[$type]\" value=\"$domainroot\">"
- ));
- }
- }
- showsubmit('submit');
- showtablefooter();
- showhiddenfields($hiddenarr);
- showformfooter();
- } else {
- $oldroot = $_G['setting']['domain']['root'];
- $_G['setting']['domain']['root'] = array();
- foreach($_GET['domainnew'] as $idtype => $domain) {
- if(preg_match('/^((http|https|ftp):\/\/|\.)|(\/|\.)$/i', $domain)) {
- cpmsg('setting_domain_http_error', '', 'error');
- }
- if($_G['setting']['domain']['root'][$idtype] != $domain) {
- $updatetype = $idtype == 'forum' ? array('forum', 'channel') : $idtype;
- C::t('common_domain')->update_by_idtype($updatetype, array('domainroot' => $domain));
- }
- $_G['setting']['domain']['root'][$idtype] = $domain;
- }
- C::t('common_setting')->update('domain', $_G['setting']['domain']);
- updatecache('setting');
- cpmsg('setting_update_succeed', 'action=domain&operation=root', 'succeed');
- }
- } else {
- if(!submitcheck('domainsubmit')) {
- showtips('setting_domain_base_tips');
- showformheader("domain");
- showtableheader();
- if($_G['setting']['homepagestyle']) {
- showsetting('setting_domain_allow_space', 'settingnew[allowspacedomain]', $_G['setting']['allowspacedomain'], 'radio');
- } else {
- showhiddenfields(array('settingnew[allowspacedomain]' => 0));
- }
- if(helper_access::check_module('group')) {
- showsetting('setting_domain_allow_group', 'settingnew[allowgroupdomain]', $_G['setting']['allowgroupdomain'], 'radio');
- } else {
- showhiddenfields(array('settingnew[allowgroupdomain]' => 0));
- }
- showsetting('setting_domain_hold_domain', 'settingnew[holddomain]', $_G['setting']['holddomain'], 'text');
- showsubmit('domainsubmit');
- showtablefooter();
- showformfooter();
- } else {
- $settings = $_GET['settingnew'];
- $settings['allowspacedomain'] = (float)$settings['allowspacedomain'];
- $settings['allowgroupdomain'] = (float)$settings['allowgroupdomain'];
- if($settings) {
- C::t('common_setting')->update_batch($settings);
- updatecache('setting');
- }
- cpmsg('setting_update_succeed', 'action=domain', 'succeed');
- }
- }
- ?>
|