from .tool.func import *
def recent_block_2(conn, name, tool):
curs = conn.cursor()
num = int(number_check(flask.request.args.get('num', '1')))
sql_num = (num * 50 - 50) if num * 50 > 0 else 0
div = '''
| ''' + load_lang('blocked') + ''' |
''' + load_lang('admin') + ''' |
''' + load_lang('period') + ''' |
'''
curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
conn.commit()
get_type = flask.request.args.get('type', '')
sub_type = flask.request.args.get('s_type', '')
if not name:
if get_type == 'ongoing':
sub = ' (' + load_lang('in_progress') + ')'
if sub_type == '':
div = '' + \
'(' + load_lang('regex') + ') ' + \
'(' + load_lang('normal') + ')' + \
'
' + \
'' + div
menu = [['block_log', load_lang('return')]]
plus_sql = ''
else:
menu = [['block_log?type=ongoing', load_lang('return')]]
if sub_type == 'regex':
sub += ' (' + load_lang('regex') + ')'
plus_sql = 'and band = \'regex\' '
else:
sub += ' (' + load_lang('normal') + ')'
plus_sql = 'and band = \'\' '
curs.execute(db_change("" + \
"select why, block, blocker, end, today, band, ongoing from rb " + \
"where ((end > ? and end like '2%') or end = '') and ongoing = '1' " + plus_sql + \
"order by end desc limit ?, 50" + \
""), [
get_time(),
sql_num
])
else:
sub = 0
menu = 0
div = '' + \
'(' + load_lang('blocked') + ') ' + \
'(' + load_lang('admin') + ') ' + \
'(' + load_lang('in_progress') + ')' + \
'
' + \
'' + div
curs.execute(db_change("" + \
"select why, block, blocker, end, today, band, ongoing " + \
"from rb order by today desc limit ?, 50" + \
""), [sql_num])
else:
menu = [['block_log', load_lang('normal')]]
if tool == 'block_user':
sub = ' (' + load_lang('blocked') + ')'
curs.execute(db_change("" + \
"select why, block, blocker, end, today, band, ongoing " + \
"from rb where block = ? order by today desc limit ?, 50" + \
""), [
name,
sql_num
])
else:
sub = ' (' + load_lang('admin') + ')'
curs.execute(db_change("" + \
"select why, block, blocker, end, today, band, ongoing " + \
"from rb where blocker = ? order by today desc limit ?, 50" + \
""), [
name,
sql_num
])
data_list = curs.fetchall()
all_ip = ip_pas([i[1] for i in data_list] + [i[2] for i in data_list])
for data in data_list:
why = '
' if data[0] == '' else html.escape(data[0])
if data[5] == 'regex':
ip = data[1]
if data[6] == '1':
ip = '' + ip + ' (' + load_lang('release') + ')'
else:
ip += ' (' + load_lang('ban') + ')'
ip += ' (' + load_lang('regex') + ')'
else:
ip = all_ip[data[1]]
if data[3] == '':
end = load_lang('limitless')
elif data[3] == 'release':
end = load_lang('release')
else:
end = data[3]
if data[2] == '':
admin = ''
elif re.search(r'^tool:', data[2]):
admin = data[2]
else:
admin = all_ip[data[2]]
start = load_lang('start') + ' : ' + (data[4] if data[4] != '' else '0')
div += '''
| ''' + ip + ''' |
''' + admin + ''' |
''' + start + '''
''' + load_lang('end') + ' : ' + end + '''
|
| ''' + why + ''' |
'''
div += '
'
div += next_fix('/block_log?num=', num, data_list) if not name else next_fix('/' + url_pas(tool) + '/' + url_pas(name) + '?num=', num, data_list)
return easy_minify(flask.render_template(skin_check(),
imp = [load_lang('recent_ban'), wiki_set(), custom(), other2([sub, 0])],
data = div,
menu = menu
))