Merge pull request #745 from midoks/dev

放开子目录绑定
This commit is contained in:
Mr Chen 2025-05-24 19:32:18 +08:00 committed by GitHub
commit f0fc8a644b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 46 additions and 13 deletions

1
.gitignore vendored
View File

@ -194,3 +194,4 @@ plugins/goedge-happy
/plugins/flexcdn
/plugins/tools
/plugins/choose-linux-python
*.md5

View File

@ -25,8 +25,8 @@ def init():
# 检查数据库是否存在。如果没有就创建它。
if not os.path.isfile(config.SQLITE_PATH):
# 初始化用户信息
thisdb.initPanelData()
init_admin_user()
thisdb.initPanelData()
init_admin_user()
init_option()
init_db_system()

View File

@ -84,13 +84,16 @@ CREATE TABLE IF NOT EXISTS `site_types` (
);
CREATE UNIQUE INDEX site_types_name_idx ON site_types(name);
CREATE TABLE IF NOT EXISTS `domain` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`pid` INTEGER,
`name` TEXT,
`port` INTEGER,
`main` INTEGER DEFAULT '0',
`add_time` TEXT
);
ALTER TABLE `domain` ADD COLUMN `main` INTEGER DEFAULT '0';
CREATE TABLE IF NOT EXISTS `users` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,

View File

@ -1029,13 +1029,14 @@ function webEdit(id,website,endTime,addtime){
// <p onclick='dirBinding("+id+")'>子目录绑定</p>\
layer.open({
type: 1,
area: ['700px','570px'],
area: ['700px','603px'],
title: '站点修改['+website+'] -- 添加时间['+addtime+']',
closeBtn: 1,
shift: 0,
content: "<div class='bt-form'>\
<div class='bt-w-menu pull-left'>\
<p class='bgw' onclick=\"domainEdit(" + id + ",'" + website + "')\">域名管理</p>\
<p onclick='dirBinding("+id+")'>子目录绑定</p>\
<p onclick='webPathEdit("+id+")'>网站目录</p>\
<p onclick='limitNet("+id+")'>流量限制</p>\
<p onclick=\"rewrite('"+website+"')\">伪静态</p>\
@ -2118,7 +2119,7 @@ function renderDnsapiHtml(data){
var fields_html = '';
for (var d in fields) {
fields_html += "<span class='tname'>"+d+"</span>\
fields_html += "<span class='tname tips' data-toggle='tooltip' data-original-title='"+d+"'>"+d+"</span>\
<div class='info-r'>\
<input name='"+d+"' class='bt-input-text mr5' style='width:100%;' value='"+fields[d]+"' type='text'>\
</div>";
@ -2152,6 +2153,9 @@ function renderDnsapiHtml(data){
</div>\
</div>\
</form>",
success:function(){
$('[data-toggle="tooltip"]').tooltip();
},
yes:function(index,l) {
var type_name = $('select[name="type_name"]').val();
var data_field = {};

View File

@ -14,12 +14,22 @@ import core.mw as mw
def initPanelData():
__dbfile = mw.getPanelDataDir() + '/panel.db'
if os.path.exists(__dbfile):
return True
is_reload = False
sql_file = mw.getPanelDir() + '/web/admin/setup/sql/default.sql'
sql = mw.M().dbPos(mw.getPanelDataDir(),'panel')
sql_file_md5 = mw.getPanelDir() + '/web/admin/setup/sql/default.md5'
content = mw.readFile(sql_file)
content_md5 = mw.md5(content)
if not os.path.exists(sql_file_md5):
mw.writeFile(sql_file_md5, content_md5)
content_src_md5 = mw.readFile(sql_file)
if content_md5 != content_src_md5:
is_reload = True
__dbfile = mw.getPanelDataDir() + '/panel.db'
if os.path.exists(__dbfile) and not is_reload:
return True
sql = mw.M().dbPos(mw.getPanelDataDir(),'panel')
csql_data = content.split(';')
for i in range(len(csql_data)):
# print(csql_data[i])

View File

@ -261,6 +261,10 @@ class sites(object):
mw.restartWeb()
return mw.returnData(True, '站点已启用!')
def nginxAddDomainFilter(self, site_id, site_name, domain, port):
self.nginxAddDomain(site_name, domain, port)
return True
def nginxAddDomain(self, site_name, domain, port):
file = self.getHostConf(site_name)
conf = mw.readFile(file)
@ -312,7 +316,7 @@ class sites(object):
if thisdb.checkSitesDomainIsExist(name, port):
return mw.returnData(False, '您添加的域名[{}:{}],已使用。请仔细检查!'.format(name, port))
self.nginxAddDomain(site_name, name, port)
self.nginxAddDomainFilter(site_id, site_name, name, port)
msg = mw.getInfo('网站[{1}]添加域名[{2}]成功!', (site_name, name))
mw.writeLog('网站管理', msg)

View File

@ -51,12 +51,23 @@ class monitor:
return True
def initDBFile(self):
if os.path.exists(self._dbfile):
return True
is_reload = False
sql_file = mw.getPanelDir() + '/web/admin/setup/sql/system.sql'
sql_file_md5 = mw.getPanelDir() + '/web/admin/setup/sql/system.md5'
content = mw.readFile(sql_file)
content_md5 = mw.md5(content)
if not os.path.exists(sql_file_md5):
mw.writeFile(sql_file_md5, content_md5)
content_src_md5 = mw.readFile(sql_file)
if content_md5 != content_src_md5:
is_reload = True
if os.path.exists(self._dbfile) and not is_reload:
return True
sql = db.Sql().dbPos(mw.getPanelDataDir(),'system')
csql = mw.readFile(sql_file)
csql_list = csql.split(';')
csql_list = content.split(';')
for index in range(len(csql_list)):
sql.execute(csql_list[index], ())
return True