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
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');
|