give_user_check.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. from .tool.func import *
  2. def give_user_check_2(conn, name):
  3. curs = conn.cursor()
  4. curs.execute(db_change("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 ip_or_user(name) == 0:
  17. curs.execute(db_change("select data from user_set where name = \"approval_question\" and id = ?"), [name])
  18. approval_question = curs.fetchall()
  19. if approval_question and approval_question[0][0]:
  20. curs.execute(db_change("select data from user_set where name = \"approval_question_answer\" and id = ?"), [name])
  21. approval_question_answer = curs.fetchall()
  22. if approval_question_answer and approval_question_answer[0]:
  23. div = '''
  24. <table id="main_table_set">
  25. <tbody>
  26. <tr>
  27. <td>Q</td>
  28. <td>''' + approval_question[0][0] + '''</td>
  29. <td>A</td>
  30. <td>''' + approval_question_answer[0][0] + '''</td>
  31. </tr>
  32. </tbody>
  33. </table>
  34. <hr class=\"main_hr\">
  35. '''
  36. else:
  37. div = ''
  38. if flask.request.args.get('plus', None):
  39. end_check = 1
  40. curs.execute(db_change("" + \
  41. "select name, ip, ua, today from ua_d " + \
  42. "where " + ('ip' if ip_or_user(name) == 1 else 'name') + " = ? or " + \
  43. ('ip' if ip_or_user(flask.request.args.get('plus', None)) == 1 else 'name') + " = ? " + \
  44. "order by today desc limit ?, 50" + \
  45. ""), [
  46. name,
  47. flask.request.args.get('plus', None),
  48. sql_num
  49. ])
  50. else:
  51. end_check = 0
  52. curs.execute(db_change("" + \
  53. "select name, ip, ua, today from ua_d " + \
  54. "where " + ('ip' if ip_or_user(name) == 1 else 'name') + " = ? order by today desc limit ?, 50" + \
  55. ""), [name, sql_num])
  56. record = curs.fetchall()
  57. if record:
  58. if not flask.request.args.get('plus', None):
  59. div = '<a href="/manager/14?plus=' + url_pas(name) + '">(' + load_lang('compare') + ')</a><hr class=\"main_hr\">' + div
  60. else:
  61. 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\">' + div
  62. div += '''
  63. <table id="main_table_set">
  64. <tbody>
  65. <tr>
  66. <td id="main_table_width">''' + load_lang('name') + '''</td>
  67. <td id="main_table_width">ip</td>
  68. <td id="main_table_width">''' + load_lang('time') + '''</td>
  69. </tr>
  70. '''
  71. for data in record:
  72. if data[2]:
  73. ua = data[2]
  74. else:
  75. ua = '<br>'
  76. div += '''
  77. <tr>
  78. <td>''' + ip_pas(data[0]) + '''</td>
  79. <td>''' + ip_pas(data[1]) + '''</td>
  80. <td>''' + data[3] + '''</td>
  81. </tr>
  82. <tr>
  83. <td colspan="3">''' + ua + '''</td>
  84. </tr>
  85. '''
  86. div += '''
  87. </tbody>
  88. </table>
  89. '''
  90. else:
  91. return re_error('/error/2')
  92. if end_check == 1:
  93. div += next_fix('/check/' + url_pas(name) + '?plus=' + flask.request.args.get('plus', None) + '&num=', num, record)
  94. else:
  95. div += next_fix('/check/' + url_pas(name) + '?num=', num, record)
  96. return easy_minify(flask.render_template(skin_check(),
  97. imp = [load_lang('check'), wiki_set(), custom(), other2([0, 0])],
  98. data = div,
  99. menu = [['manager', load_lang('return')]]
  100. ))