2
0

list_block.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. from .tool.func import *
  2. def list_block_2(conn, name, tool):
  3. curs = conn.cursor()
  4. num = int(number_check(flask.request.args.get('num', '1')))
  5. if num * 50 > 0:
  6. sql_num = num * 50 - 50
  7. else:
  8. sql_num = 0
  9. div = '''
  10. <table id="main_table_set">
  11. <tbody>
  12. <tr>
  13. <td id="main_table_width">''' + load_lang('blocked') + '''</td>
  14. <td id="main_table_width">''' + load_lang('admin') + '''</td>
  15. <td id="main_table_width">''' + load_lang('period') + '''</td>
  16. </tr>
  17. '''
  18. data_list = ''
  19. curs.execute(db_change("delete from ban where (end < ? and end like '2%')"), [get_time()])
  20. conn.commit()
  21. if not name:
  22. if flask.request.args.get('type', '') == 'ongoing':
  23. sub = ' (' + load_lang('in_progress') + ')'
  24. menu = [['block_log', load_lang('normal')]]
  25. curs.execute(db_change("select why, block, '', end, '', band from ban where ((end > ? and end like '2%') or end = '') order by end desc limit ?, 50"), [
  26. get_time(),
  27. sql_num
  28. ])
  29. else:
  30. sub = 0
  31. menu = 0
  32. div = '''
  33. <a href="/manager/11">(''' + load_lang('blocked') + ''')</a> <a href="/manager/12">(''' + load_lang('admin') + ''')</a> <a href="?type=ongoing">(''' + load_lang('in_progress') + ''')</a>
  34. <hr class=\"main_hr\">
  35. ''' + div
  36. curs.execute(db_change("select why, block, blocker, end, today, band from rb order by today desc limit ?, 50"), [sql_num])
  37. else:
  38. menu = [['block_log', load_lang('normal')]]
  39. if tool == 'block_user':
  40. sub = ' (' + load_lang('blocked') + ')'
  41. curs.execute(db_change("select why, block, blocker, end, today, band from rb where block = ? order by today desc limit ?, 50"), [name, sql_num])
  42. else:
  43. sub = ' (' + load_lang('admin') + ')'
  44. curs.execute(db_change("select why, block, blocker, end, today, band from rb where blocker = ? order by today desc limit ?, 50"), [name, sql_num])
  45. if data_list == '':
  46. data_list = curs.fetchall()
  47. for data in data_list:
  48. why = html.escape(data[0])
  49. if why == '':
  50. why = '<br>'
  51. if data[5] == 'O':
  52. ip = data[1] + ' (' + load_lang('range') + ')'
  53. elif data[5] == 'regex':
  54. ip = data[1] + ' (' + load_lang('regex') + ')'
  55. else:
  56. ip = ip_pas(data[1])
  57. if data[3] == '':
  58. end = load_lang('limitless')
  59. elif data[3] == 'release':
  60. end = load_lang('release')
  61. else:
  62. end = data[3]
  63. if data[2] == '':
  64. admin = ''
  65. elif re.search('^tool:', data[2]):
  66. admin = data[2]
  67. else:
  68. admin = ip_pas(data[2])
  69. if data[4] == '':
  70. start = ''
  71. else:
  72. start = load_lang('start') + ' : ' + data[4]
  73. div += '''
  74. <tr>
  75. <td>''' + ip + '''</td>
  76. <td>''' + admin + '''</td>
  77. <td>
  78. ''' + start + '''
  79. <br>
  80. ''' + load_lang('end') + ' : ' + end + '''
  81. </td>
  82. </tr>
  83. <tr>
  84. <td colspan="3">''' + why + '''</td>
  85. </tr>
  86. '''
  87. div += '</tbody></table>'
  88. if not name:
  89. div += next_fix('/block_log?num=', num, data_list)
  90. else:
  91. div += next_fix('/' + url_pas(tool) + '/' + url_pas(name) + '?num=', num, data_list)
  92. return easy_minify(flask.render_template(skin_check(),
  93. imp = [load_lang('recent_ban'), wiki_set(), custom(), other2([sub, 0])],
  94. data = div,
  95. menu = menu
  96. ))