from .tool.func import * def give_user_ban(name = None, ban_type = ''): with get_db_connect() as conn: curs = conn.cursor() ip = ip_check() if ban_check(ip = ip, tool = 'login') == 1: if ip_or_user(ip) == 1 or admin_check('all', None, ip) == 0: return re_error('/ban') else: if admin_check(1, None, ip) != 1: return re_error('/error/3') if flask.request.method == 'POST': end = flask.request.form.get('second', '0') end = end if end else '0' regex_get = flask.request.form.get('regex', None) login = flask.request.form.get('login', '') why = flask.request.form.get('why', '') if ban_type == 'multiple': all_user = re.findall(r'([^\n]+)\n', flask.request.form.get('name', 'test').replace('\r', '') + '\n') else: if name: all_user = [name] else: all_user = [flask.request.form.get('name', 'test')] 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: type_d = None 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') else: if admin_check(1, 'ban (' + name + ')') != 1: return re_error('/error/3') ban_insert( name, end, why, login, ip_check(), type_d ) return redirect('/block_log') else: curs.execute(db_change("select end, why from rb where block = ? and ongoing = '1' and band = ?"), [name, ban_type]) end = curs.fetchall() if end: main_name = name b_now = load_lang('release') now = '(' + b_now + ')' if ban_type == 'regex': action = 'action="/auth/give/ban_regex/' + url_pas(name) + '"' else: action = 'action="/auth/give/ban/' + url_pas(name) + '"' if end[0][0] == '': data = '