diff --git a/.gitignore b/.gitignore index 50f4e1cbc..21c659353 100644 --- a/.gitignore +++ b/.gitignore @@ -194,3 +194,4 @@ plugins/goedge-happy /plugins/flexcdn /plugins/tools /plugins/choose-linux-python +*.md5 diff --git a/web/admin/setup/__init__.py b/web/admin/setup/__init__.py index f9fb75aa2..323848d2a 100644 --- a/web/admin/setup/__init__.py +++ b/web/admin/setup/__init__.py @@ -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() diff --git a/web/admin/setup/sql/default.sql b/web/admin/setup/sql/default.sql index b4011cf77..78e17bf33 100755 --- a/web/admin/setup/sql/default.sql +++ b/web/admin/setup/sql/default.sql @@ -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, diff --git a/web/static/app/site.js b/web/static/app/site.js index 9b2ae8193..ece72ba91 100755 --- a/web/static/app/site.js +++ b/web/static/app/site.js @@ -1029,13 +1029,14 @@ function webEdit(id,website,endTime,addtime){ //

子目录绑定

\ layer.open({ type: 1, - area: ['700px','570px'], + area: ['700px','603px'], title: '站点修改['+website+'] -- 添加时间['+addtime+']', closeBtn: 1, shift: 0, content: "
\
\

域名管理

\ +

子目录绑定

\

网站目录

\

流量限制

\

伪静态

\ @@ -2118,7 +2119,7 @@ function renderDnsapiHtml(data){ var fields_html = ''; for (var d in fields) { - fields_html += ""+d+"\ + fields_html += ""+d+"\
\ \
"; @@ -2152,6 +2153,9 @@ function renderDnsapiHtml(data){
\
\ ", + success:function(){ + $('[data-toggle="tooltip"]').tooltip(); + }, yes:function(index,l) { var type_name = $('select[name="type_name"]').val(); var data_field = {}; diff --git a/web/thisdb/init.py b/web/thisdb/init.py index b6b690b3a..987c47240 100644 --- a/web/thisdb/init.py +++ b/web/thisdb/init.py @@ -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]) diff --git a/web/utils/site.py b/web/utils/site.py index 95ac5f5ce..bbd3c9f28 100644 --- a/web/utils/site.py +++ b/web/utils/site.py @@ -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) diff --git a/web/utils/system/monitor.py b/web/utils/system/monitor.py index 801aaabfe..1a2090a60 100644 --- a/web/utils/system/monitor.py +++ b/web/utils/system/monitor.py @@ -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