|
@@ -4,63 +4,72 @@ def give_user_ban(name = None, ban_type = ''):
|
|
|
with get_db_connect() as conn:
|
|
with get_db_connect() as conn:
|
|
|
curs = conn.cursor()
|
|
curs = conn.cursor()
|
|
|
|
|
|
|
|
- band = ban_type
|
|
|
|
|
ip = ip_check()
|
|
ip = ip_check()
|
|
|
|
|
+
|
|
|
if ban_check(ip = ip, tool = 'login') == 1:
|
|
if ban_check(ip = ip, tool = 'login') == 1:
|
|
|
if ip_or_user(ip) == 1 or admin_check('all', None, ip) == 0:
|
|
if ip_or_user(ip) == 1 or admin_check('all', None, ip) == 0:
|
|
|
return re_error('/ban')
|
|
return re_error('/ban')
|
|
|
else:
|
|
else:
|
|
|
- if admin_check(1, None, ip) !=1:
|
|
|
|
|
|
|
+ if admin_check(1, None, ip) != 1:
|
|
|
return re_error('/error/3')
|
|
return re_error('/error/3')
|
|
|
|
|
|
|
|
if flask.request.method == 'POST':
|
|
if flask.request.method == 'POST':
|
|
|
end = flask.request.form.get('second', '0')
|
|
end = flask.request.form.get('second', '0')
|
|
|
end = end if end else '0'
|
|
end = end if end else '0'
|
|
|
- name = name if name else flask.request.form.get('name', 'test')
|
|
|
|
|
|
|
+
|
|
|
regex_get = flask.request.form.get('regex', None)
|
|
regex_get = flask.request.form.get('regex', None)
|
|
|
login = flask.request.form.get('login', '')
|
|
login = flask.request.form.get('login', '')
|
|
|
why = flask.request.form.get('why', '')
|
|
why = flask.request.form.get('why', '')
|
|
|
|
|
|
|
|
- if regex_get or band != '':
|
|
|
|
|
- type_d = 'regex' if regex_get else band
|
|
|
|
|
-
|
|
|
|
|
- try:
|
|
|
|
|
- re.compile(name)
|
|
|
|
|
- except:
|
|
|
|
|
- return re_error('/error/23')
|
|
|
|
|
|
|
+ if ban_type == 'multiple':
|
|
|
|
|
+ all_user = re.findall(r'([^\n]+)\n', flask.request.form.get('name', 'test').replace('\r\n', '\n') + '\n')
|
|
|
else:
|
|
else:
|
|
|
- type_d = None
|
|
|
|
|
|
|
+ if name:
|
|
|
|
|
+ all_user = [name]
|
|
|
|
|
+ else:
|
|
|
|
|
+ all_user = [flask.request.form.get('name', 'test')]
|
|
|
|
|
|
|
|
- if type_d:
|
|
|
|
|
- if admin_check(None, 'ban' + (' ' + type_d if type_d else '') + ' (' + name + ')') != 1:
|
|
|
|
|
- return re_error('/error/3')
|
|
|
|
|
- else:
|
|
|
|
|
- if name == ip:
|
|
|
|
|
- if admin_check('all', 'ban (' + name + ')') != 1:
|
|
|
|
|
- return re_error('/error/3')
|
|
|
|
|
|
|
+ for name in all_user:
|
|
|
|
|
+ if regex_get or ban_type == 'regex':
|
|
|
|
|
+ type_d = 'regex' if regex_get else ban_type
|
|
|
|
|
+
|
|
|
|
|
+ try:
|
|
|
|
|
+ re.compile(name)
|
|
|
|
|
+ except:
|
|
|
|
|
+ return re_error('/error/23')
|
|
|
else:
|
|
else:
|
|
|
- if admin_check(1, 'ban (' + name + ')') != 1:
|
|
|
|
|
|
|
+ type_d = None
|
|
|
|
|
+
|
|
|
|
|
+ if type_d:
|
|
|
|
|
+ if admin_check(None, 'ban' + (' ' + type_d if type_d else '') + ' (' + name + ')') != 1:
|
|
|
return re_error('/error/3')
|
|
return re_error('/error/3')
|
|
|
|
|
+ else:
|
|
|
|
|
+ if name == ip:
|
|
|
|
|
+ if admin_check('all', 'ban (' + name + ')') != 1:
|
|
|
|
|
+ return re_error('/error/3')
|
|
|
|
|
+ else:
|
|
|
|
|
+ if admin_check(1, 'ban (' + name + ')') != 1:
|
|
|
|
|
+ return re_error('/error/3')
|
|
|
|
|
|
|
|
- ban_insert(
|
|
|
|
|
- name,
|
|
|
|
|
- end,
|
|
|
|
|
- why,
|
|
|
|
|
- login,
|
|
|
|
|
- ip_check(),
|
|
|
|
|
- type_d
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ ban_insert(
|
|
|
|
|
+ name,
|
|
|
|
|
+ end,
|
|
|
|
|
+ why,
|
|
|
|
|
+ login,
|
|
|
|
|
+ ip_check(),
|
|
|
|
|
+ type_d
|
|
|
|
|
+ )
|
|
|
|
|
|
|
|
return redirect('/block_log')
|
|
return redirect('/block_log')
|
|
|
else:
|
|
else:
|
|
|
- curs.execute(db_change("select end, why from rb where block = ? and ongoing = '1' and band = ?"), [name, band])
|
|
|
|
|
|
|
+ curs.execute(db_change("select end, why from rb where block = ? and ongoing = '1' and band = ?"), [name, ban_type])
|
|
|
end = curs.fetchall()
|
|
end = curs.fetchall()
|
|
|
if end:
|
|
if end:
|
|
|
main_name = name
|
|
main_name = name
|
|
|
b_now = load_lang('release')
|
|
b_now = load_lang('release')
|
|
|
now = '(' + b_now + ')'
|
|
now = '(' + b_now + ')'
|
|
|
|
|
|
|
|
- if band != '':
|
|
|
|
|
|
|
+ if ban_type == 'regex':
|
|
|
action = 'action="/auth/give/ban_regex/' + url_pas(name) + '"'
|
|
action = 'action="/auth/give/ban_regex/' + url_pas(name) + '"'
|
|
|
else:
|
|
else:
|
|
|
action = 'action="/auth/give/ban/' + url_pas(name) + '"'
|
|
action = 'action="/auth/give/ban/' + url_pas(name) + '"'
|
|
@@ -79,13 +88,22 @@ def give_user_ban(name = None, ban_type = ''):
|
|
|
else:
|
|
else:
|
|
|
data += '</ul><hr class="main_hr">'
|
|
data += '</ul><hr class="main_hr">'
|
|
|
else:
|
|
else:
|
|
|
- main_name = load_lang('ban')
|
|
|
|
|
- n_name = '<input placeholder="' + load_lang('name_or_ip_or_regex') + '" value="' + (name if name else '') + '" name="name" type="text"><hr class="main_hr">'
|
|
|
|
|
- regex = '<input type="checkbox" name="regex" ' + ('checked' if band == 'regex' else '') + '> ' + load_lang('regex') + '<hr class="main_hr">'
|
|
|
|
|
|
|
+ if ban_type == 'multiple':
|
|
|
|
|
+ main_name = load_lang('multiple_ban')
|
|
|
|
|
+ n_name = '<textarea rows="25" placeholder="' + load_lang('name_or_ip_or_regex_multiple') + '" name="name"></textarea><hr class="main_hr">'
|
|
|
|
|
+ else:
|
|
|
|
|
+ main_name = load_lang('ban')
|
|
|
|
|
+ n_name = '<input placeholder="' + load_lang('name_or_ip_or_regex') + '" value="' + (name if name else '') + '" name="name"><hr class="main_hr">'
|
|
|
|
|
+
|
|
|
|
|
+ regex = '<input type="checkbox" name="regex" ' + ('checked' if ban_type == 'regex' else '') + '> ' + load_lang('regex') + '<hr class="main_hr">'
|
|
|
plus = '<input type="checkbox" name="login"> ' + load_lang('login_able') + '<hr class="main_hr">'
|
|
plus = '<input type="checkbox" name="login"> ' + load_lang('login_able') + '<hr class="main_hr">'
|
|
|
now = 0
|
|
now = 0
|
|
|
b_now = load_lang('ban')
|
|
b_now = load_lang('ban')
|
|
|
- action = 'action="/auth/give/ban"'
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if ban_type == 'multiple':
|
|
|
|
|
+ action = 'action="/auth/give/ban_multiple"'
|
|
|
|
|
+ else:
|
|
|
|
|
+ action = 'action="/auth/give/ban"'
|
|
|
|
|
|
|
|
time_data = [
|
|
time_data = [
|
|
|
['86400', load_lang('1_day')],
|
|
['86400', load_lang('1_day')],
|