diff --git a/web/admin/setting/setting.py b/web/admin/setting/setting.py index ed4910d31..72010d808 100644 --- a/web/admin/setting/setting.py +++ b/web/admin/setting/setting.py @@ -191,6 +191,7 @@ def set_ipv6_status(): ipv6_file = __file['ipv6'] if os.path.exists(ipv6_file): os.remove(ipv6_file) + mw.writeLog('面板设置', '关闭面板IPv6兼容!') mw.returnData('面板设置', '关闭面板IPv6兼容!') else: mw.writeFile(ipv6_file, 'True') @@ -222,7 +223,7 @@ def set_port(): # firewall_api.firewall_api().addAcceptPort(port) # firewall_api.firewall_api().firewallReload() - # system_api.system_api().restartMw() + mw.restartMw() return mw.returnJson(True, '端口保存成功!') \ No newline at end of file diff --git a/web/thisdb/__init__.py b/web/thisdb/__init__.py index 47539da16..fa43ddfe9 100644 --- a/web/thisdb/__init__.py +++ b/web/thisdb/__init__.py @@ -11,3 +11,4 @@ from .init import * from .option import * from .user import * +from .sites import * diff --git a/web/thisdb/option.py b/web/thisdb/option.py index 1c197d1ce..033a13925 100644 --- a/web/thisdb/option.py +++ b/web/thisdb/option.py @@ -8,7 +8,8 @@ # Author: midoks # --------------------------------------------------------------------------------- - +import os +import json import core.mw as mw def getOption(name, @@ -25,4 +26,33 @@ def getOption(name, if len(data) == 0: return default - return data \ No newline at end of file + return data + + +def getOptionByJson(name, + type: str | None = 'common', + default : object | None = None +) -> object: + ''' + 获取配置的值,返回对象类型 + :name -> str 名称 (必填) + :type -> str 类型 (可选|默认common) + :default -> str 默认值 (可选) + ''' + data = mw.M('option').field('name').where('name=? and type=?',(name, type,)).getField('value') + if len(data) == 0: + return default + if data is not None: + return json.loads(data) + +def setOption(name, value, + type: str | None = 'common' +) -> bool: + ''' + 设置配置的值 + :name -> str 名称 (必填) + :value -> object值 (必填) + :type -> str 类型 (可选|默认common) + ''' + mw.M('option').field('name').where('name=? and type=?',(name, type,)).setField('value', value) + return True \ No newline at end of file diff --git a/web/thisdb/sites.py b/web/thisdb/sites.py new file mode 100644 index 000000000..b1f5a7082 --- /dev/null +++ b/web/thisdb/sites.py @@ -0,0 +1,15 @@ +# coding:utf-8 + +# --------------------------------------------------------------------------------- +# MW-Linux面板 +# --------------------------------------------------------------------------------- +# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved. +# --------------------------------------------------------------------------------- +# Author: midoks +# --------------------------------------------------------------------------------- + +import core.mw as mw + +def getSitesCount(): + return mw.M('sites').count() + diff --git a/web/utils/config.py b/web/utils/config.py index 5bdb8b049..878dc74d3 100644 --- a/web/utils/config.py +++ b/web/utils/config.py @@ -13,6 +13,7 @@ import os from admin import model import core.mw as mw +import thisdb def getUnauthStatus( code: str | None = '0' @@ -44,15 +45,15 @@ def getGlobalVar(): 获取全局变量 ''' data = {} - data['title'] = model.getOption('title', default='后羿面板') - data['ip'] = model.getOption('server_ip', default='127.0.0.1') + data['title'] = thisdb.getOption('title', default='后羿面板') + data['ip'] = thisdb.getOption('server_ip', default='127.0.0.1') - data['site_path'] = model.getOption('site_path', default=mw.getFatherDir()+'/wwwroot') - data['backup_path'] = model.getOption('backup_path', default=mw.getFatherDir()+'/backup') - data['admin_path'] = '/'+model.getOption('admin_path', default='') - data['debug'] = model.getOption('debug', default='close') - data['admin_close'] = model.getOption('admin_close', default='no') - data['site_count'] = model.getSitesCount() + data['site_path'] = thisdb.getOption('site_path', default=mw.getFatherDir()+'/wwwroot') + data['backup_path'] = thisdb.getOption('backup_path', default=mw.getFatherDir()+'/backup') + data['admin_path'] = '/'+thisdb.getOption('admin_path', default='') + data['debug'] = thisdb.getOption('debug', default='close') + data['admin_close'] = thisdb.getOption('admin_close', default='no') + data['site_count'] = thisdb.getSitesCount() data['port'] = mw.getHostPort() __file = mw.getCommonFile() @@ -62,16 +63,16 @@ def getGlobalVar(): data['ipv6'] = '' # 获取未认证状态信息 - unauthorized_status = model.getOption('unauthorized_status', default='0') + unauthorized_status = thisdb.getOption('unauthorized_status', default='0') data['unauthorized_status'] = getUnauthStatus(code=unauthorized_status) - data['basic_auth'] = model.getOptionByJson('basic_auth', default={'open':False}) + data['basic_auth'] = thisdb.getOptionByJson('basic_auth', default={'open':False}) # 服务器时间 sformat = 'date +"%Y-%m-%d %H:%M:%S %Z %z"' data['systemdate'] = mw.execShell(sformat)[0].strip() - data['hook_menu'] = model.getOptionByJson('hook_menu',type='hook',default=[]) - data['hook_global_static'] = model.getOptionByJson('hook_global_static',type='hook',default=[]) + data['hook_menu'] = thisdb.getOptionByJson('hook_menu',type='hook',default=[]) + data['hook_global_static'] = thisdb.getOptionByJson('hook_global_static',type='hook',default=[]) return data \ No newline at end of file