test
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

249 lines
7.3 KiB

<?php
defined('IN_IA') or exit('Access Denied');
load()->model('system');
$dos = array('basic', 'copyright', 'about', 'save_setting', 'icps', 'edit_icp', 'del_icp');
$do = in_array($do, $dos) ? $do : 'basic';
$settings = $_W['setting']['copyright'];
if (empty($settings) || !is_array($settings)) {
$settings = array();
} else {
$settings['slides'] = iunserializer($settings['slides']);
$settings['icps'] = !empty($settings['icps']) ? iunserializer($settings['icps']) : array();
}
if ('basic' == $do) {
if (!empty($settings['autosignout'])) {
if ($settings['autosignout'] >= 60) {
$hour = floor($settings['autosignout']/60);
$min = $settings['autosignout']%60;
$res = $hour . '小时';
$min != 0 && $res .= $min . '分钟';
} else {
$res = $settings['autosignout'] . '分钟';
}
$settings['autosignout_notice'] = "系统无操作,{$res}后自动退出";
}
$settings['icon'] = to_global_media($settings['icon']);
$settings['flogo'] = to_global_media($settings['flogo']);
$settings['slide_logo'] = to_global_media($settings['slide_logo']);
if (!empty($settings['slides'])) {
foreach ($settings['slides'] as $key => $slide) {
$settings['slides'][$key] = to_global_media($slide);
}
}
if ($_W['isajax']) {
$message = array(
'settings' => $settings,
);
iajax(0, $message);
}
}
if ('save_setting' == $do) {
$system_setting_items = system_setting_items();
$key = safe_gpc_string($_GPC['key']);
switch ($key) {
case 'policeicp':
$settings[$key] = array(
'policeicp_location' => safe_gpc_string($_GPC['value']['location']),
'policeicp_code' => safe_gpc_string($_GPC['value']['code']),
);
break;
case 'statcode':
$settings[$key] = system_check_statcode($_GPC['value']);
break;
case 'url':
$settings[$key] = (strexists($_GPC['value'], 'http://') || strexists($_GPC['value'], 'https://')) ? $_GPC['value'] : "http://{$_GPC['value']}";
break;
case 'footerleft':
$settings[$key] = safe_gpc_html(htmlspecialchars_decode($_GPC['value']));
break;
case 'footerright':
$settings[$key] = safe_gpc_html(htmlspecialchars_decode($_GPC['value']));
break;
case 'slides':
$settings[$key] = iserializer($_GPC['value']);
break;
case 'companyprofile':
$settings[$key] = safe_gpc_html(htmlspecialchars_decode($_GPC['value']));
break;
case 'template':
break;
case 'baidumap':
break;
case 'autosignout':
$limit_time = 1*24*60;
if ($limit_time < safe_gpc_int($_GPC['value']) || safe_gpc_int($_GPC['value'] < 1)) {
iajax(-1, '自动退出时间请在1-' . $limit_time . '分钟内设置!', url('system/site'));
}
$settings[$key] = safe_gpc_int($_GPC['value']);
break;
case 'login_verify_status':
if (!$_W['isfounder']) {
iajax(-1, '您没有权限', url('system/site'));
}
if (empty($_W['user']['mobile'])) {
iajax(-1, '您的账户还未绑定手机号,请先绑定手机号,再开启此功能');
}
$settings[$key] = 1 == $_GPC['is_int'] ? intval($_GPC['value']) : safe_gpc_string($_GPC['value']);
$settings['login_verify_mobile'] = $_W['user']['mobile'];
break;
default:
$settings[$key] = 1 == $_GPC['is_int'] ? intval($_GPC['value']) : safe_gpc_string($_GPC['value']);
break;
}
if (!in_array($key, $system_setting_items)) {
iajax(-1, '参数错误!', url('system/site'));
}
if (in_array($key, array('template', 'login_template'))) {
$basic_setting = $_W['setting']['basic'];
$basic_setting[$key] = safe_gpc_string($_GPC['value']);
setting_save($basic_setting, 'basic');
} elseif ($key == 'baidumap') {
$settings['baidumap'] = array('lng' => $_GPC['lng'], 'lat' => $_GPC['lat']);
setting_save($settings, 'copyright');
} else {
setting_save($settings, 'copyright');
}
iajax(0, '更新设置成功!', referer());
}
if ($do == 'icps') {
$keyword = !empty($_GPC['keyword']) ? safe_gpc_string($_GPC['keyword']) : '';
$page = max(1, safe_gpc_int($_GPC['page']));
$page_size = 10;
$icps = (array)$settings['icps'];
if (!empty($icps)) {
foreach ($icps as $key => $icp) {
if (!empty($keyword) && !strexists($icp['icp'], $keyword) && !strexists($icp['domain'], $keyword)) {
unset($icps[$key]);
}
$icp['electronic_license'] = htmlspecialchars_decode($icp['electronic_license']);
}
}
$total = count($icps);
$icps = array_slice($icps, ($page - 1) * $page_size, $page_size);
if ($_W['isajax']) {
$result = array(
'list' => $icps,
'page' => $page,
'page_size' => $page_size,
'total' => $total
);
iajax(0, $result);
}
$pager = pagination($total, $page, $page_size, '', array('before' => '2', 'after' => '3'));
}
if ($do == 'edit_icp') {
$id = safe_gpc_int($_GPC['id']);
$icp = safe_gpc_string($_GPC['icp']);
$domain = safe_gpc_string($_GPC['domain']);
$policeicp_location = safe_gpc_string($_GPC['policeicp_location']);
$policeicp_code = safe_gpc_string($_GPC['policeicp_code']);
$electronic_license = safe_gpc_html(htmlspecialchars_decode($_GPC['electronic_license']));
if (empty($icp)) {
iajax(-1, '请至少填写一条icp信息!');
}
if (starts_with($domain, 'http')) {
iajax(-1, '域名格式为w7.cc,无http://或以https://开头');
}
$special_domain = array('.com.cn', '.net.cn', '.gov.cn', '.org.cn', '.com.hk', '.com.tw');
$domain_data = str_replace($special_domain, '.com', $domain);
$domain_array = explode('.', $domain_data);
if (count($domain_array) > 3 || count($domain_array) < 2) {
iajax(-1, '只支持一级域名和二级域名!');
}
if (empty($id)) {
$icps = (array)$settings['icps'];
if (!empty($icps)) {
$icp_domains = array_column($icps, 'domain');
$max_id = max(max(array_column($icps, 'id')), 1);
}
if (!empty($icp) && in_array($domain, $icp_domains)) {
iajax(-1, $domain . '已存在!');
}
$max_id++;
$icp_domains[] = $domain;
$icps[] = array(
'id' => $max_id,
'icp' => $icp,
'domain' => $domain,
'policeicp_location' => $policeicp_location,
'policeicp_code' => $policeicp_code,
'electronic_license' => $electronic_license,
);
$settings['icps'] = iserializer($icps);
setting_save($settings, 'copyright');
iajax(0, '添加成功');
} else {
if (empty($icp) || empty($domain)) {
iajax(-1, '参数错误');
}
$else_icps = $icps = $settings['icps'];
foreach ($icps as $k => $value) {
if ($value['id'] == $id) {
$key = $k;
break;
}
}
if (!isset($key)) {
iajax(-1, '参数错误');
}
unset($else_icps[$key]);
$icp_domains = array_column($else_icps, 'domain');
if (in_array($domain, $icp_domains)) {
iajax(-1, $domain . '已存在!');
}
$icps[$key]['icp'] = $icp;
$icps[$key]['domain'] = $domain;
$icps[$key]['policeicp_location'] = $policeicp_location;
$icps[$key]['policeicp_code'] = $policeicp_code;
$icps[$key]['electronic_license'] = $electronic_license;
$settings['icps'] = iserializer($icps);
setting_save($settings, 'copyright');
iajax(0, '保存成功');
}
}
if ($do == 'del_icp') {
$id = safe_gpc_int($_GPC['id']);
if (empty($id)) {
iajax(-1, '参数错误');
}
$icps = $settings['icps'];
foreach ($icps as $k => $icp) {
if ($icp['id'] == $id) {
$key = $k;
break;
}
}
if (!isset($key)) {
iajax(-1, '参数错误');
}
unset($icps[$key]);
$settings['icps'] = iserializer($icps);
setting_save($settings, 'copyright');
iajax(0, '删除成功');
}
if ($_W['isajax']) {
$message = array(
'settings' => $settings,
);
iajax(0, $message);
}
template('system/site');