user_check.py 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. from .tool.func import *
  2. def user_check_2(conn, name):
  3. curs = conn.cursor()
  4. curs.execute("select acl from user where id = ? or id = ?", [name, flask.request.args.get('plus', '-')])
  5. user = curs.fetchall()
  6. if user and user[0][0] != 'user':
  7. if admin_check() != 1:
  8. return re_error('/error/4')
  9. if admin_check(4, 'check (' + name + ')') != 1:
  10. return re_error('/error/3')
  11. num = int(number_check(flask.request.args.get('num', '1')))
  12. if num * 50 > 0:
  13. sql_num = num * 50 - 50
  14. else:
  15. sql_num = 0
  16. if flask.request.args.get('plus', None):
  17. end_check = 1
  18. if ip_or_user(name) == 1:
  19. if ip_or_user(flask.request.args.get('plus', None)) == 1:
  20. curs.execute("select name, ip, ua, today from ua_d where ip = ? or ip = ? order by today desc limit ?, '50'", [name, flask.request.args.get('plus', None), sql_num])
  21. else:
  22. curs.execute("select name, ip, ua, today from ua_d where ip = ? or name = ? order by today desc limit ?, '50'", [name, flask.request.args.get('plus', None), sql_num])
  23. else:
  24. if ip_or_user(flask.request.args.get('plus', None)) == 1:
  25. curs.execute("select name, ip, ua, today from ua_d where name = ? or ip = ? order by today desc limit ?, '50'", [name, flask.request.args.get('plus', None), sql_num])
  26. else:
  27. curs.execute("select name, ip, ua, today from ua_d where name = ? or name = ? order by today desc limit ?, '50'", [name, flask.request.args.get('plus', None), sql_num])
  28. else:
  29. end_check = 0
  30. if ip_or_user(name) == 1:
  31. curs.execute("select name, ip, ua, today from ua_d where ip = ? order by today desc limit ?, '50'", [name, sql_num])
  32. else:
  33. curs.execute("select name, ip, ua, today from ua_d where name = ? order by today desc limit ?, '50'", [name, sql_num])
  34. record = curs.fetchall()
  35. if record:
  36. if not flask.request.args.get('plus', None):
  37. div = '<a href="/manager/14?plus=' + url_pas(name) + '">(' + load_lang('compare') + ')</a><hr class=\"main_hr\">'
  38. else:
  39. div = '<a href="/check/' + url_pas(name) + '">(' + name + ')</a> <a href="/check/' + url_pas(flask.request.args.get('plus', None)) + '">(' + flask.request.args.get('plus', None) + ')</a><hr class=\"main_hr\">'
  40. div += '''
  41. <table id="main_table_set">
  42. <tbody>
  43. <tr>
  44. <td id="main_table_width">''' + load_lang('name') + '''</td>
  45. <td id="main_table_width">ip</td>
  46. <td id="main_table_width">''' + load_lang('time') + '''</td>
  47. </tr>
  48. '''
  49. for data in record:
  50. if data[2]:
  51. ua = data[2]
  52. else:
  53. ua = '<br>'
  54. div += '''
  55. <tr>
  56. <td>''' + ip_pas(data[0]) + '''</td>
  57. <td>''' + ip_pas(data[1]) + '''</td>
  58. <td>''' + data[3] + '''</td>
  59. </tr>
  60. <tr>
  61. <td colspan="3">''' + ua + '''</td>
  62. </tr>
  63. '''
  64. div += '''
  65. </tbody>
  66. </table>
  67. '''
  68. else:
  69. return re_error('/error/2')
  70. if end_check == 1:
  71. div += next_fix('/check/' + url_pas(name) + '?plus=' + flask.request.args.get('plus', None) + '&num=', num, record)
  72. else:
  73. div += next_fix('/check/' + url_pas(name) + '?num=', num, record)
  74. return easy_minify(flask.render_template(skin_check(),
  75. imp = [load_lang('check'), wiki_set(), custom(), other2([0, 0])],
  76. data = div,
  77. menu = [['manager', load_lang('return')]]
  78. ))