|
Server : nginx/1.18.0 System : Linux iZrj9edhd5u5pfsek09o1jZ 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 User : www ( 1000) PHP Version : 5.6.40 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /mnt/web/www.neatabattery.com/data/backup/v1.3.8_www/application/admin/controller/ |
<?php
/**
* 易优CMS
* ============================================================================
* 版权所有 2016-2028 海南赞赞网络科技有限公司,并保留所有权利。
* 网站地址: http://www.eyoucms.com
* ----------------------------------------------------------------------------
* 如果商业用途务必到官方购买正版授权, 以免引起不必要的法律纠纷.
* ============================================================================
* Author: 小虎哥 <1105415366@qq.com>
* Date: 2018-4-3
*/
namespace app\admin\controller;
use app\admin\controller\Base;
use think\Controller;
use think\Db;
class Index extends Base
{
public function index()
{
$language_db = Db::name('language');
/*多语言列表*/
$web_language_switch = tpCache('web.web_language_switch');
$languages = [];
if (1 == intval($web_language_switch)) {
$languages = $language_db->field('a.mark, a.title')
->alias('a')
->where('a.status',1)
->getAllWithIndex('mark');
}
$this->assign('languages', $languages);
$this->assign('web_language_switch', $web_language_switch);
/*--end*/
/*网站首页链接*/
// 去掉入口文件
$inletStr = '/index.php';
$seo_inlet = config('ey_config.seo_inlet');
1 == intval($seo_inlet) && $inletStr = '';
// --end
$home_default_lang = config('ey_config.system_home_default_lang');
$admin_lang = $this->admin_lang;
$home_url = request()->domain().ROOT_DIR.'/'; // 支持子目录
if ($home_default_lang != $admin_lang) {
$home_url = $language_db->where(['mark'=>$admin_lang])->getField('url');
if (empty($home_url)) {
$seoConfig = tpCache('seo');
$seo_pseudo = !empty($seoConfig['seo_pseudo']) ? $seoConfig['seo_pseudo'] : config('ey_config.seo_pseudo');
if (1 == $seo_pseudo) {
$home_url = request()->domain().ROOT_DIR.$inletStr; // 支持子目录
if (!empty($inletStr)) {
$home_url .= '?';
} else {
$home_url .= '/?';
}
$home_url .= http_build_query(['lang'=>$admin_lang]);
} else {
$home_url = request()->domain().ROOT_DIR.$inletStr.'/'.$admin_lang; // 支持子目录
}
}
}
$this->assign('home_url', $home_url);
/*--end*/
$this->assign('admin_info', getAdminInfo(session('admin_id')));
$this->assign('menu',getMenuList());
/*检测是否存在会员中心模板*/
$globalConfig = tpCache('global');
if ('v1.0.1' > getVersion('version_themeusers') && !empty($globalConfig['web_users_switch'])) {
$is_syn_theme_users = 1;
} else {
$is_syn_theme_users = 0;
}
$this->assign('is_syn_theme_users',$is_syn_theme_users);
/*--end*/
return $this->fetch();
}
public function welcome()
{
$globalConfig = tpCache('global');
/*百度分享*/
$share = array(
'bdText' => $globalConfig['web_title'],
'bdPic' => is_http_url($globalConfig['web_logo']) ? $globalConfig['web_logo'] : request()->domain().$globalConfig['web_logo'],
'bdUrl' => $globalConfig['web_basehost'],
);
$this->assign('share',$share);
/*--end*/
/*系统提示*/
$system_explanation_welcome = $globalConfig['system_explanation_welcome'];
$sqlfiles = glob(DATA_PATH.'sqldata/*');
foreach ($sqlfiles as $file) {
if(stristr($file, getCmsVersion())){
$system_explanation_welcome = 1;
}
}
$this->assign('system_explanation_welcome', $system_explanation_welcome);
/*--end*/
$this->assign('sys_info',$this->get_sys_info());
$this->assign('web_show_popup_upgrade', $globalConfig['web_show_popup_upgrade']);
$ajaxLogic = new \app\admin\logic\AjaxLogic;
$ajaxLogic->update_robots(); // 自动纠正蜘蛛抓取文件rotots.txt
$ajaxLogic->update_template('users'); // 升级前台会员中心的模板文件
$ajaxLogic->sys_level_data(); // 第一次同步会员等级数据和会员产品分类
return $this->fetch();
}
public function get_sys_info()
{
$sys_info['os'] = PHP_OS;
$sys_info['zlib'] = function_exists('gzclose') ? 'YES' : '<font color="red">NO(请开启 php.ini 中的php-zlib扩展)</font>';//zlib
$sys_info['safe_mode'] = (boolean) ini_get('safe_mode') ? 'YES' : 'NO';//safe_mode = Off
$sys_info['timezone'] = function_exists("date_default_timezone_get") ? date_default_timezone_get() : "no_timezone";
$sys_info['curl'] = function_exists('curl_init') ? 'YES' : '<font color="red">NO(请开启 php.ini 中的php-curl扩展)</font>';
$sys_info['web_server'] = $_SERVER['SERVER_SOFTWARE'];
$sys_info['phpv'] = phpversion();
$sys_info['ip'] = serverIP();
$sys_info['postsize'] = @ini_get('file_uploads') ? ini_get('post_max_size') :'unknown';
$sys_info['fileupload'] = @ini_get('file_uploads') ? ini_get('upload_max_filesize') :'unknown';
$sys_info['max_ex_time'] = @ini_get("max_execution_time").'s'; //脚本最大执行时间
$sys_info['set_time_limit'] = function_exists("set_time_limit") ? true : false;
$sys_info['domain'] = $_SERVER['HTTP_HOST'];
$sys_info['memory_limit'] = ini_get('memory_limit');
$sys_info['version'] = file_get_contents(DATA_PATH.'conf/version.txt');
$mysqlinfo = Db::query("SELECT VERSION() as version");
$sys_info['mysql_version'] = $mysqlinfo[0]['version'];
if(function_exists("gd_info")){
$gd = gd_info();
$sys_info['gdinfo'] = $gd['GD Version'];
}else {
$sys_info['gdinfo'] = "未知";
}
if (extension_loaded('zip')) {
$sys_info['zip'] = "YES";
} else {
$sys_info['zip'] = '<font color="red">NO(请开启 php.ini 中的php-zip扩展)</font>';
}
$upgradeLogic = new \app\admin\logic\UpgradeLogic();
$sys_info['curent_version'] = $upgradeLogic->curent_version; //当前程序版本
$sys_info['web_name'] = tpCache('global.web_name');
return $sys_info;
}
/**
* 录入商业授权
*/
public function authortoken()
{
$domain = config('service_ey');
$domain = base64_decode($domain);
$vaules = array(
'client_domain' => urldecode($this->request->host(true)),
);
$url = $domain.'/index.php?m=api&c=Service&a=check_authortoken&'.http_build_query($vaules);
$context = stream_context_set_default(array('http' => array('timeout' => 3,'method'=>'GET')));
$response = @file_get_contents($url,false,$context);
$params = json_decode($response,true);
if (false === $response || (is_array($params) && 1 == $params['code'])) {
$web_authortoken = $params['msg'];
/*多语言*/
if (is_language()) {
$langRow = Db::name('language')->cache(true, EYOUCMS_CACHE_TIME, 'language')
->order('id asc')
->select();
foreach ($langRow as $key => $val) {
tpCache('web', ['web_authortoken'=>$web_authortoken], $val['mark']);
}
} else { // 单语言
tpCache('web', array('web_authortoken'=>$web_authortoken));
}
/*--end*/
$source = realpath('public/static/admin/images/logo_ey.png');
$destination = realpath('public/static/admin/images/logo.png');
@copy($source, $destination);
delFile(RUNTIME_PATH.'html'); // 清空缓存页面
session('isset_author', null);
adminLog('验证商业授权');
$this->success('授权成功', request()->baseFile(), '', 1, [], '_parent');
}
$this->error('验证授权失败', request()->baseFile(), '', 3, [], '_parent');
}
/**
* 更换后台logo
*/
public function edit_adminlogo()
{
$filename = input('param.filename/s', '');
if (!empty($filename)) {
$source = realpath(preg_replace('#^'.ROOT_DIR.'/#i', '', $filename)); // 支持子目录
$web_is_authortoken = tpCache('web.web_is_authortoken');
if (empty($web_is_authortoken)) {
$destination = realpath('public/static/admin/images/logo.png');
} else {
$destination = realpath('public/static/admin/images/logo_ey.png');
}
if (@copy($source, $destination)) {
$this->success('操作成功');
}
}
$this->error('操作失败');
}
/**
* 待处理事项
*/
public function pending_matters()
{
$html = '<div style="text-align: center; margin: 20px 0px; color:red;">惹妹子生气了,没啥好处理!</div>';
echo $html;
}
/**
* ajax 修改指定表数据字段 一般修改状态 比如 是否推荐 是否开启 等 图标切换的
* table,id_name,id_value,field,value
*/
public function changeTableVal()
{
if (IS_AJAX_POST) {
$url = null;
$data = [
'refresh' => 0,
];
$table = input('post.table/s'); // 表名
$id_name = input('post.id_name/s'); // 表主键id名
$id_value = input('post.id_value/s'); // 表主键id值
$field = input('post.field/s'); // 修改哪个字段
$value = input('post.value/s', '', null); // 修改字段值
switch ($table) {
// 会员等级表
case 'users_level':
{
$return = model('UsersLevel')->isRequired($id_name,$id_value,$field,$value);
if (is_array($return)) {
$this->error($return['msg']);
}
}
break;
// 会员属性表
case 'users_parameter':
{
$return = model('UsersParameter')->isRequired($id_name,$id_value,$field,$value);
if (is_array($return)) {
$this->error($return['msg']);
}
}
break;
// 会员中心菜单表
case 'users_menu':
{
Db::name('users_menu')->where('id','gt',0)->update([
'is_userpage' => 0,
'update_time' => getTime(),
]);
$data['refresh'] = 1;
}
break;
// 会员投稿功能
case 'archives':
{
if ('arcrank' == $field) {
if (0 == $value) {
$value = -1;
}else{
$value = 0;
}
}
}
break;
// 会员产品类型表
case 'users_type_manage':
{
if (empty($value)) {
$this->error('不可为空');
}
}
break;
default:
# code...
break;
}
$savedata = [
$field => $value,
'update_time' => getTime(),
];
M($table)->where("$id_name = $id_value")->cache(true,null,$table)->save($savedata); // 根据条件保存修改的数据
// 以下代码可以考虑去掉,与行为里的清除缓存重复 AppEndBehavior.php / clearHtmlCache
switch ($table) {
case 'auth_modular':
extra_cache('admin_auth_modular_list_logic', null);
extra_cache('admin_all_menu', null);
break;
default:
// 清除logic逻辑定义的缓存
extra_cache('admin_'.$table.'_list_logic', null);
// 清除一下缓存
// delFile(RUNTIME_PATH.'html'); // 先清除缓存, 否则不好预览
\think\Cache::clear($table);
break;
}
/*清除页面缓存*/
// $htmlCacheLogic = new \app\common\logic\HtmlCacheLogic;
// $htmlCacheLogic->clear_archives();
/*--end*/
$this->success('更新成功', $url, $data);
}
}
/**
* 功能开关
*/
public function switch_map()
{
if (IS_POST) {
$inc_type = input('post.inc_type/s');
$name = input('post.name/s');
$value = input('post.value/s');
$data = [];
switch ($inc_type) {
case 'pay':
case 'shop':
{
getUsersConfigData($inc_type, [$name => $value]);
// 开启商城
if (1 == $value) {
/*多语言 - 同时开启会员中心*/
if (is_language()) {
$langRow = \think\Db::name('language')->order('id asc')
->cache(true, EYOUCMS_CACHE_TIME, 'language')
->select();
foreach ($langRow as $key => $val) {
tpCache('web', ['web_users_switch' => 1], $val['mark']);
}
} else { // 单语言
tpCache('web', ['web_users_switch' => 1]);
}
/*--end*/
// 同时显示发布文档时的价格文本框
Db::name('channelfield')->where([
'name' => 'users_price',
'channel_id' => 2,
])->update([
'ifeditable' => 1,
'update_time' => getTime(),
]);
} else {
// 同时隐藏发布文档时的价格文本框
Db::name('channelfield')->where([
'name' => 'users_price',
'channel_id' => 2,
])->update([
'ifeditable' => 0,
'update_time' => getTime(),
]);
}
if (in_array($name, ['shop_open'])) {
// $data['reload'] = 1;
/*检测是否存在订单中心模板*/
if ('v1.0.1' > getVersion('version_themeshop') && !empty($value)) {
$is_syn = 1;
} else {
$is_syn = 0;
}
$data['is_syn'] = $is_syn;
/*--end*/
// 同步会员中心的左侧菜单
if ('shop_open' == $name) {
Db::name('users_menu')->where([
'mca' => 'user/Shop/shop_centre',
'lang' => $this->admin_lang,
])->update([
'status' => (1 == $value) ? 1 : 0,
'update_time' => getTime(),
]);
}
} else if ('pay_open' == $name) {
// 同步会员中心的左侧菜单
Db::name('users_menu')->where([
'mca' => 'user/Pay/pay_consumer_details',
'lang' => $this->admin_lang,
])->update([
'status' => (1 == $value) ? 1 : 0,
'update_time' => getTime(),
]);
}
break;
}
case 'users':
{
// 会员投稿
$r = Db::name('users_menu')->where([
'mca' => 'user/UsersRelease/release_centre',
'lang' => $this->admin_lang,
])->update([
'status' => (1 == $value) ? 1 : 0,
'update_time' => getTime(),
]);
if ($r) {
getUsersConfigData($inc_type, [$name => $value]);
if (1 == $value) {
/*多语言 - 同时开启会员中心*/
if (is_language()) {
$langRow = \think\Db::name('language')->order('id asc')
->cache(true, EYOUCMS_CACHE_TIME, 'language')
->select();
foreach ($langRow as $key => $val) {
tpCache('web', ['web_users_switch' => 1], $val['mark']);
}
} else { // 单语言
tpCache('web', ['web_users_switch' => 1]);
}
/*--end*/
}
}
break;
}
case 'level':
{
// 会员升级
$r = Db::name('users_menu')->where([
'mca' => 'user/Level/level_centre',
'lang' => $this->admin_lang,
])->update([
'status' => (1 == $value) ? 1 : 0,
'update_time' => getTime(),
]);
if ($r) {
getUsersConfigData($inc_type, [$name => $value]);
if (1 == $value) {
/*多语言 - 同时开启会员中心*/
if (is_language()) {
$langRow = \think\Db::name('language')->order('id asc')
->cache(true, EYOUCMS_CACHE_TIME, 'language')
->select();
foreach ($langRow as $key => $val) {
tpCache('web', ['web_users_switch' => 1], $val['mark']);
}
} else { // 单语言
tpCache('web', ['web_users_switch' => 1]);
}
/*--end*/
}
}
break;
}
case 'web':
{
/*多语言*/
if (is_language()) {
$langRow = \think\Db::name('language')->order('id asc')
->cache(true, EYOUCMS_CACHE_TIME, 'language')
->select();
foreach ($langRow as $key => $val) {
tpCache($inc_type, [$name => $value], $val['mark']);
}
} else { // 单语言
tpCache($inc_type, [$name => $value]);
}
/*--end*/
if (in_array($name, ['web_users_switch'])) {
// $data['reload'] = 1;
/*检测是否存在会员中心模板*/
if ('v1.0.1' > getVersion('version_themeusers') && !empty($value)) {
$is_syn = 1;
} else {
$is_syn = 0;
}
$data['is_syn'] = $is_syn;
/*--end*/
}
break;
}
}
$this->success('操作成功', null, $data);
}
$globalConfig = tpCache('global');
$this->assign('globalConfig', $globalConfig);
$UsersConfigData = getUsersConfigData('all');
$this->assign('userConfig',$UsersConfigData);
$is_online = 0;
if (is_realdomain()) {
$is_online = 1;
}
$this->assign('is_online',$is_online);
/*检测是否存在会员中心模板*/
if ('v1.0.1' > getVersion('version_themeusers')) {
$is_themeusers_exist = 1;
} else {
$is_themeusers_exist = 0;
}
$this->assign('is_themeusers_exist',$is_themeusers_exist);
/*--end*/
/*检测是否存在商城中心模板*/
if ('v1.0.1' > getVersion('version_themeshop')) {
$is_themeshop_exist = 1;
} else {
$is_themeshop_exist = 0;
}
$this->assign('is_themeshop_exist',$is_themeshop_exist);
/*--end*/
return $this->fetch();
}
}