| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- <?php
- /**
- * Niushop商城系统 - 团队十年电商经验汇集巨献!
- * =========================================================
- * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
- * ----------------------------------------------
- * 官方网址: https://www.niushop.com
- * =========================================================
- */
- namespace app\model\system;
- use think\facade\Cache;
- use app\model\BaseModel;
- /**
- * 系统配置类
- */
- class Config extends BaseModel
- {
- /**
- * 配置系统配置项
- * @param array $value
- * @param string $config_desc
- * @param int $is_use
- * @param array $condition
- */
- public function setConfig($value, $config_desc, $is_use, $condition)
- {
- $check_condition = array_column($condition, 2, 0);
- $site_id = isset($check_condition[ 'site_id' ]) ? $check_condition[ 'site_id' ] : '';
- if ($site_id === '') {
- return $this->error('', 'REQUEST_SITE_ID');
- }
- $app_module = isset($check_condition[ 'app_module' ]) ? $check_condition[ 'app_module' ] : '';
- if ($app_module === '') {
- return $this->error('', 'REQUEST_APP_MODULE');
- }
- $config_key = isset($check_condition[ 'config_key' ]) ? $check_condition[ 'config_key' ] : '';
- if (empty($config_key)) {
- return $this->error('', 'REQUEST_CONFIG_KEY');
- }
- $data = $check_condition;
- $data[ 'value' ] = json_encode($value);
- $data[ 'config_desc' ] = $config_desc;
- $data[ 'is_use' ] = $is_use;
- $json_condition = json_encode($condition);
- $config_model = model('config');
- $info = $config_model->getInfo($condition, 'id');
- Cache::tag("config")->clear();
- Cache::tag("config")->set("CONFIG_" . $json_condition, "");
- if (empty($info)) {
- $data[ 'create_time' ] = time();
- $res = $config_model->add($data);
- } else {
- $data[ 'modify_time' ] = time();
- $res = $config_model->update($data, $condition);
- }
- return $this->success($res);
- }
- /**
- * 获取系统配置信息
- * @param array $condition
- */
- public function getConfig($condition)
- {
- $json_condition = json_encode($condition);
- $cache = Cache::get("CONFIG_" . $json_condition, "");
- if (!empty($cache)) {
- return $this->success($cache);
- }
- $check_condition = array_column($condition, 2, 0);
- $site_id = isset($check_condition[ 'site_id' ]) ? $check_condition[ 'site_id' ] : '';
- if ($site_id === '') {
- return $this->error('', 'REQUEST_SITE_ID');
- }
- $app_module = isset($check_condition[ 'app_module' ]) ? $check_condition[ 'app_module' ] : '';
- if ($app_module === '') {
- return $this->error('', 'REQUEST_APP_MODULE');
- }
- $config_key = isset($check_condition[ 'config_key' ]) ? $check_condition[ 'config_key' ] : '';
- if (empty($config_key)) {
- return $this->error('', 'REQUEST_CONFIG_KEY');
- }
- $info = model('config')->getInfo($condition, 'site_id, app_module, config_key, value, config_desc, is_use, create_time, modify_time');
- if (!empty($info)) {
- $info[ 'value' ] = json_decode($info[ 'value' ], true);
- } else {
- $info = [
- 'site_id' => $site_id,
- 'app_module' => $app_module,
- 'config_key' => $config_key,
- 'value' => [],
- 'config_desc' => '',
- 'is_use' => 0,
- 'create_time' => 0,
- 'modify_time' => 0
- ];
- }
- Cache::tag("config")->set("CONFIG_" . $json_condition, $info);
- return $this->success($info);
- }
- /**
- * 修改配置项的使用状态
- * @param int $is_use
- * @param array $condition
- */
- public function modifyConfigIsUse($is_use, $condition)
- {
- $json_condition = json_encode($condition);
- $config = model('config')->getInfo($condition);
- if (!empty($config)) {
- //配置过
- $res = model('config')->update([ 'is_use' => $is_use ], $condition);
- Cache::tag("config")->set("CONFIG_" . $json_condition, "");
- return $this->success($res);
- } else {
- return $this->error('', 'CONFIG_NOT_EXIST');
- }
- }
- /**
- * 获取系统信息
- */
- public function getSystemConfig()
- {
- $system_config[ 'os' ] = php_uname(); // 服务器操作系统
- $system_config[ 'server_software' ] = $_SERVER[ 'SERVER_SOFTWARE' ]; // 服务器环境
- $system_config[ 'upload_max_filesize' ] = @ini_get('file_uploads') ? ini_get('upload_max_filesize') : 'unknow'; // 文件上传限制
- $system_config[ 'gd_version' ] = gd_info()[ 'GD Version' ]; // GD(图形处理)版本
- $system_config[ 'max_execution_time' ] = ini_get("max_execution_time") . "秒"; // 最大执行时间
- $system_config[ 'port' ] = $_SERVER[ 'SERVER_PORT' ]; // 端口
- $system_config[ 'dns' ] = $_SERVER[ 'HTTP_HOST' ]; // 服务器域名
- $system_config[ 'php_version' ] = PHP_VERSION; // php版本
- $system_config[ 'sockets' ] = extension_loaded('sockets'); //是否支付sockets
- $system_config[ 'openssl' ] = extension_loaded('openssl'); //是否支付openssl
- $system_config[ 'curl' ] = function_exists('curl_init'); // 是否支持curl功能
- $system_config[ 'upload_dir_jurisdiction' ] = check_dir_iswritable(realpath('./upload') . DIRECTORY_SEPARATOR); // upload目录读写权限
- $system_config[ 'runtime_dir_jurisdiction' ] = check_dir_iswritable(realpath('./runtime') . DIRECTORY_SEPARATOR); // runtime目录读写权限
- $system_config[ 'fileinfo' ] = extension_loaded('fileinfo'); //是否支付fileinfo
- return $this->success($system_config);
- }
- /**
- * 删除配置
- * @param $condition
- */
- public function deleteConfig($condition)
- {
- $res = model('config')->delete($condition);
- $this->success($res);
- }
- }
|