2
0

user_ban.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. from .tool.func import *
  2. def user_ban_2(conn, name):
  3. curs = conn.cursor()
  4. if ip_or_user(name) == 0:
  5. curs.execute("select acl from user where id = ?", [name])
  6. user = curs.fetchall()
  7. if not user:
  8. return re_error('/error/2')
  9. if user and user[0][0] != 'user':
  10. if admin_check() != 1:
  11. return re_error('/error/4')
  12. if ban_check(ip = ip_check(), tool = 'login') == 1:
  13. return re_error('/ban')
  14. if flask.request.method == 'POST':
  15. if admin_check(1, 'ban (' + name + ')') != 1:
  16. return re_error('/error/3')
  17. if flask.request.form.get('limitless', '') == '':
  18. end = flask.request.form.get('second', '0')
  19. else:
  20. end = '0'
  21. ban_insert(name, end, flask.request.form.get('why', ''), flask.request.form.get('login', ''), ip_check())
  22. return redirect('/ban/' + url_pas(name))
  23. else:
  24. if admin_check(1) != 1:
  25. return re_error('/error/3')
  26. curs.execute("select end, why from ban where block = ?", [name])
  27. end = curs.fetchall()
  28. if end:
  29. now = load_lang('release')
  30. if end[0][0] == '':
  31. data = '<ul><li>' + load_lang('limitless') + '</li>'
  32. else:
  33. data = '<ul><li>' + load_lang('period') + ' : ' + end[0][0] + '</li>'
  34. curs.execute("select block from ban where block = ? and login = 'O'", [name])
  35. if curs.fetchall():
  36. data += '<li>' + load_lang('login_able') + '</li>'
  37. if end[0][1] != '':
  38. data += '<li>' + load_lang('why') + ' : ' + end[0][1] + '</li></ul><hr class=\"main_hr\">'
  39. else:
  40. data += '</ul><hr class=\"main_hr\">'
  41. else:
  42. if re.search("^([0-9]{1,3}\.[0-9]{1,3})$", name):
  43. now = load_lang('band_ban')
  44. else:
  45. now = load_lang('ban')
  46. if ip_or_user(name) == 1:
  47. plus = '<input type="checkbox" name="login"> ' + load_lang('login_able') + '<hr class=\"main_hr\">'
  48. else:
  49. plus = ''
  50. data = '''
  51. <input placeholder="''' + load_lang('second') + '''" name="second" type="text">
  52. <hr class=\"main_hr\">
  53. <input type="checkbox" name="limitless"> ''' + load_lang('limitless') + '''
  54. <hr class=\"main_hr\">
  55. <input placeholder="''' + load_lang('why') + '''" name="why" type="text">
  56. <hr class=\"main_hr\">
  57. ''' + plus
  58. return easy_minify(flask.render_template(skin_check(),
  59. imp = [name, wiki_set(), custom(), other2([' (' + now + ')', 0])],
  60. data = '''
  61. <form method="post">
  62. ''' + data + '''
  63. <button type="submit">''' + now + '''</button>
  64. </form>
  65. ''',
  66. menu = [['manager', load_lang('return')]]
  67. ))