mdserver-web/web/thisdb/sites.py

130 lines
3.7 KiB
Python
Raw Permalink Normal View History

2024-11-03 08:16:13 -05:00
# coding:utf-8
# ---------------------------------------------------------------------------------
# MW-Linux面板
# ---------------------------------------------------------------------------------
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
# ---------------------------------------------------------------------------------
# Author: midoks <midoks@163.com>
# ---------------------------------------------------------------------------------
import core.mw as mw
2024-11-20 13:54:46 -05:00
from .option import getOption
2024-11-06 07:58:22 -05:00
__FIELD = 'id,name,path,status,ps,edate,type_id,add_time,update_time'
2024-11-22 08:47:33 -05:00
def checkSitesDomainIsExist(domain, port):
nums = mw.M('domain').where("name=? AND port=?", (domain, port,)).count()
if nums>0:
return True
nums = mw.M('binding').where("name=? AND port=?", (domain, port,)).count()
if nums>0:
return True
return False
2024-11-03 08:16:13 -05:00
def getSitesCount():
2024-11-04 06:08:39 -05:00
return mw.M('sites').count()
2024-11-06 07:58:22 -05:00
def getSitesById(site_id):
return mw.M('sites').field(__FIELD).where("id=?", (site_id,)).find()
2024-11-20 03:40:06 -05:00
def getSitesByName(site_name):
return mw.M('sites').field(__FIELD).where("name=?", (site_name,)).find()
def getSitesDomainById(site_id):
data = {}
domains = mw.M('domain').where('pid=?', (site_id,)).field('name,id').select()
binding = mw.M('binding').where('pid=?', (site_id,)).field('domain,id').select()
for b in binding:
t = {}
t['name'] = b['domain']
t['id'] = b['id']
domains.append(t)
data['domains'] = domains
2024-11-20 13:54:46 -05:00
data['email'] = getOption('ssl_email', default='')
2024-11-20 03:40:06 -05:00
return data
2024-11-06 07:58:22 -05:00
def addSites(name, path):
now_time = mw.getDateFromNow()
insert_data = {
'name': name,
'path': path,
'status': 1,
'ps':name,
'type_id':0,
'edate':'0000-00-00',
'add_time': now_time,
'update_time': now_time
}
return mw.M('sites').insert(insert_data)
def isSitesExist(name):
if mw.M('sites').where("name=?", (name,)).count() > 0:
return True
return False
2024-11-25 09:13:45 -05:00
def getSitesEdateList(edate):
elist = mw.M('sites').field(__FIELD).where('edate>? AND edate<? AND status=?', ('0000-00-00', edate, 1,)).select()
return elist
2024-11-04 06:08:39 -05:00
def getSitesList(
2024-11-26 12:47:53 -05:00
page = 1,
size = 10,
type_id = 0,
search = '',
order = None,
2024-11-04 06:08:39 -05:00
):
sql_where = ''
if search != '' :
sql_where = " name like '%" + search + "%' or ps like '%" + search + "%' "
if type_id != '' and int(type_id) >= 0 and search != '' :
sql_where = sql_where + " and type_id=" + str(type_id) + ""
if type_id != '' and int(type_id) >= 0:
sql_where = " type_id=" + str(type_id)
2024-11-06 07:58:22 -05:00
dbM = dbC = mw.M('sites').field(__FIELD)
2024-11-04 06:08:39 -05:00
if sql_where != '':
count = dbC.where(sql_where).count()
2025-08-18 11:41:06 -04:00
dbM.where(sql_where)
2024-11-04 06:08:39 -05:00
else:
count = dbC.count()
start = (int(page) - 1) * (int(size))
limit = str(start) + ',' +str(size)
2024-11-25 09:38:16 -05:00
2025-08-18 12:02:33 -04:00
if order.find("none") > -1:
site_list = dbM.limit(limit).order('').select()
elif order is not None:
2024-11-25 09:38:16 -05:00
site_list = dbM.limit(limit).order(order).select()
else:
site_list = dbM.limit(limit).order('id desc').select()
2024-11-04 06:08:39 -05:00
data = {}
data['list'] = site_list
data['count'] = count
return data
2024-11-03 08:16:13 -05:00
2024-11-06 07:58:22 -05:00
def deleteSitesById(site_id):
return mw.M('sites').where("id=?", (site_id,)).delete()
2024-11-26 12:46:54 -05:00
def setSitesData(site_id, edate = None, ps = None, path = None,status = None):
2024-11-06 07:58:22 -05:00
update_data = {}
if edate is not None:
update_data['edate'] = edate
if ps is not None:
update_data['ps'] = ps
2024-11-09 10:25:16 -05:00
if path is not None:
update_data['path'] = path
2024-11-25 03:52:18 -05:00
if status is not None:
update_data['status'] = status
2024-11-06 07:58:22 -05:00
return mw.M('sites').where('id=?',(site_id,)).update(update_data)