250 lines
6.7 KiB
PHP
Executable File
250 lines
6.7 KiB
PHP
Executable File
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|
// +----------------------------------------------------------------------
|
|
// | Author: Devil
|
|
// +----------------------------------------------------------------------
|
|
namespace app\admin\controller;
|
|
|
|
use app\service\ConfigService;
|
|
use app\service\GoodsService;
|
|
use app\service\BaseConfigHandleService;
|
|
|
|
/**
|
|
* 站点设置
|
|
* @author Devil
|
|
* @blog http://gong.gg/
|
|
* @version 0.0.1
|
|
* @datetime 2016-12-01T21:51:08+0800
|
|
*/
|
|
class Site extends Common
|
|
{
|
|
/**
|
|
* 构造方法
|
|
* @author Devil
|
|
* @blog http://gong.gg/
|
|
* @version 0.0.1
|
|
* @datetime 2016-12-03T12:39:08+0800
|
|
*/
|
|
public function __construct()
|
|
{
|
|
// 调用父类前置方法
|
|
parent::__construct();
|
|
|
|
// 登录校验
|
|
$this->IsLogin();
|
|
|
|
// 权限校验
|
|
$this->IsPower();
|
|
}
|
|
|
|
/**
|
|
* [Index 配置列表]
|
|
* @author Devil
|
|
* @blog http://gong.gg/
|
|
* @version 0.0.1
|
|
* @datetime 2016-12-06T21:31:53+0800
|
|
*/
|
|
public function Index()
|
|
{
|
|
// 导航
|
|
$nav_type = input('nav_type', 'base');
|
|
$this->assign('nav_type', $nav_type);
|
|
|
|
// 时区
|
|
$this->assign('site_timezone_list', lang('site_timezone_list'));
|
|
|
|
// 站点状态
|
|
$this->assign('site_site_state_list', lang('site_site_state_list'));
|
|
|
|
// 用户注册类型列表
|
|
$this->assign('common_user_reg_state_list', lang('common_user_reg_state_list'));
|
|
|
|
// 是否开启用户登录
|
|
$this->assign('site_user_login_state_list', lang('site_user_login_state_list'));
|
|
|
|
// 获取验证码-开启图片验证码
|
|
$this->assign('site_img_verify_state_list', lang('site_img_verify_state_list'));
|
|
|
|
// 图片验证码规则
|
|
$this->assign('site_images_verify_rules_list', lang('site_images_verify_rules_list'));
|
|
|
|
// 热门搜索关键字
|
|
$this->assign('common_search_keywords_type_list', lang('common_search_keywords_type_list'));
|
|
|
|
// 是否
|
|
$this->assign('common_is_text_list', lang('common_is_text_list'));
|
|
|
|
// 站点类型
|
|
$this->assign('common_site_type_list', lang('common_site_type_list'));
|
|
|
|
// 扣除库存规则
|
|
$this->assign('common_deduction_inventory_rules_list', lang('common_deduction_inventory_rules_list'));
|
|
|
|
// 首页商品排序规则
|
|
$this->assign('home_floor_goods_order_by_type_list', lang('home_floor_goods_order_by_type_list'));
|
|
$this->assign('home_floor_goods_order_by_rule_list', lang('home_floor_goods_order_by_rule_list'));
|
|
|
|
// 配置信息
|
|
$data = ConfigService::ConfigList();
|
|
$this->assign('data', $data);
|
|
|
|
// 数据处理
|
|
switch($nav_type)
|
|
{
|
|
// 自提点
|
|
case 'sitetype' :
|
|
// 地址处理
|
|
if(!empty($data['common_self_extraction_address']) && !empty($data['common_self_extraction_address']['value']))
|
|
{
|
|
$address = ConfigService::SiteTypeExtractionAddressList($data['common_self_extraction_address']['value']);
|
|
$this->assign('sitetype_address_list', $address['data']);
|
|
}
|
|
|
|
// 加载百度地图api
|
|
$this->assign('is_load_baidu_map_api', 1);
|
|
break;
|
|
|
|
// 网站设置
|
|
case 'siteset' :
|
|
// 获取商品一级分类
|
|
$where = ['pid'=>0, 'is_home_recommended'=>1, 'is_enable'=>1];
|
|
$category = GoodsService::GoodsCategoryList(['where'=>$where]);
|
|
if(!empty($category))
|
|
{
|
|
$floor_keywords = (empty($data['home_index_floor_top_right_keywords']) || empty($data['home_index_floor_top_right_keywords']['value'])) ? [] : json_decode($data['home_index_floor_top_right_keywords']['value'], true);
|
|
foreach($category as &$c)
|
|
{
|
|
$c['config_keywords'] = isset($floor_keywords[$c['id']]) ? $floor_keywords[$c['id']] : '';
|
|
}
|
|
}
|
|
$this->assign('goods_category_list', $category);
|
|
break;
|
|
}
|
|
|
|
// 编辑器文件存放地址
|
|
$this->assign('editor_path_type', 'common');
|
|
|
|
// 视图
|
|
return $this->fetch($nav_type);
|
|
}
|
|
|
|
/**
|
|
* [Save 配置数据保存]
|
|
* @author Devil
|
|
* @blog http://gong.gg/
|
|
* @version 0.0.1
|
|
* @datetime 2017-01-02T23:08:19+0800
|
|
*/
|
|
public function Save()
|
|
{
|
|
// 参数
|
|
$params = $_POST;
|
|
|
|
// 导航
|
|
$nav_type = input('nav_type', 'base');
|
|
|
|
// 字段不存在赋空值
|
|
$field_list = [];
|
|
|
|
// 导航类型
|
|
switch($nav_type)
|
|
{
|
|
// 用户注册
|
|
case 'register' :
|
|
$field_list[] = 'home_user_reg_state';
|
|
$field_list[] = 'home_site_user_register_bg_images';
|
|
break;
|
|
|
|
// 用户登录
|
|
case 'login' :
|
|
$field_list[] = 'home_site_user_login_ad1_images';
|
|
$field_list[] = 'home_site_user_login_ad2_images';
|
|
$field_list[] = 'home_site_user_login_ad3_images';
|
|
break;
|
|
|
|
// 密码找回
|
|
case 'forgetpwd' :
|
|
$field_list[] = 'home_site_user_forgetpwd_ad1_images';
|
|
$field_list[] = 'home_site_user_forgetpwd_ad2_images';
|
|
$field_list[] = 'home_site_user_forgetpwd_ad3_images';
|
|
break;
|
|
|
|
// 图片验证码
|
|
case 'verify' :
|
|
$field_list[] = 'common_images_verify_rules';
|
|
break;
|
|
|
|
// 站点类型
|
|
case 'sitetype' :
|
|
// 自提地址处理
|
|
if(!empty($params['common_self_extraction_address']))
|
|
{
|
|
if(!is_array($params['common_self_extraction_address']))
|
|
{
|
|
$address = json_decode($params['common_self_extraction_address'], true);
|
|
} else {
|
|
$address = $params['common_self_extraction_address'];
|
|
}
|
|
foreach($address as $k=>$v)
|
|
{
|
|
$address[$k]['id'] = $k;
|
|
}
|
|
$params['common_self_extraction_address'] = json_encode($address, JSON_UNESCAPED_UNICODE);
|
|
}
|
|
break;
|
|
|
|
// 网站设置
|
|
case 'siteset' :
|
|
$params['home_index_floor_top_right_keywords'] = empty($params['home_index_floor_top_right_keywords']) ? '' : json_encode($params['home_index_floor_top_right_keywords'], JSON_UNESCAPED_UNICODE);
|
|
break;
|
|
}
|
|
|
|
// 开始处理空值
|
|
if(!empty($field_list))
|
|
{
|
|
foreach($field_list as $field)
|
|
{
|
|
if(!isset($params[$field]))
|
|
{
|
|
$params[$field] = '';
|
|
}
|
|
}
|
|
}
|
|
|
|
// 基础配置
|
|
$ret = ConfigService::ConfigSave($params);
|
|
|
|
// 清除缓存
|
|
if($ret['code'] == 0)
|
|
{
|
|
switch($nav_type)
|
|
{
|
|
// 登录
|
|
case 'login' :
|
|
cache(config('shopxo.cache_user_login_left_key'), null);
|
|
|
|
// 密码找回
|
|
case 'forgetpwd' :
|
|
cache(config('shopxo.cache_user_forgetpwd_left_key'), null);
|
|
break;
|
|
|
|
// 缓存
|
|
case 'cache' :
|
|
$res = BaseConfigHandleService::Run();
|
|
if($res['code'] != 0)
|
|
{
|
|
return $res;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $ret;
|
|
}
|
|
}
|
|
?>
|