api_user_info.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from .tool.func import *
  2. def api_user_info_2(conn, name):
  3. curs = conn.cursor()
  4. if flask.request.args.get('render', None):
  5. plus_d = ''
  6. plus_t = []
  7. curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
  8. conn.commit()
  9. plus_d = '''
  10. <table class="user_info_table">
  11. <tbody>
  12. <tr>
  13. <td>''' + load_lang('user_name') + '''</td>
  14. <td>{}</td>
  15. </tr>
  16. <tr>
  17. <td>''' + load_lang('authority') + '''</td>
  18. <td>{}</td>
  19. </tr>
  20. <tr>
  21. <td>''' + load_lang('state') + '''</td>
  22. <td>{}</td>
  23. </tr>
  24. </tbody>
  25. </table>
  26. '''
  27. curs.execute(db_change("select acl from user where id = ?"), [name])
  28. data = curs.fetchall()
  29. if data:
  30. if data[0][0] != 'user':
  31. curs.execute(db_change("select name from alist where name = ?"), [data[0][0]])
  32. if curs.fetchall():
  33. plus_t += [data[0][0]]
  34. else:
  35. plus_t += [load_lang('member')]
  36. else:
  37. plus_t += [load_lang('member')]
  38. else:
  39. plus_t += [load_lang('normal')]
  40. if ban_check(name) == 0:
  41. plus_t += [load_lang('normal')]
  42. else:
  43. plus_t += [load_lang('blocked') + '<br>']
  44. regex_ban = 0
  45. curs.execute(db_change("select login, block, end, why from rb where band = 'regex' and ongoing = '1'"))
  46. for test_r in curs.fetchall():
  47. if re.compile(test_r[1]).search(name):
  48. plus_t[1] += load_lang('type') + ' : ' + load_lang('regex')
  49. plus_t[1] += '<br>' + load_lang('period') + ' : ' + (test_r[2] if test_r[2] != '' else load_lang('limitless'))
  50. plus_t[1] += ('<br>' + load_lang('login_able') if test_r[0] == 'O' else '')
  51. plus_t[1] += ('<br>' + load_lang('why') + ' : ' + test_r[3] if test_r[3] != '' else '')
  52. regex_ban = 1
  53. if regex_ban == 0:
  54. curs.execute(db_change("select end, login, band, why from rb where block = ? and ongoing = '1'"), [name])
  55. block_data = curs.fetchall()
  56. if block_data:
  57. plus_t[1] += load_lang('type') + ' : ' + (load_lang('band_blocked') if block_data[0][2] == 'O' else load_lang('normal'))
  58. plus_t[1] += (' (' + load_lang('login_able') + ')' if block_data[0][1] != '' else '')
  59. plus_t[1] += '<br>' + load_lang('period') + ' : ' + (block_data[0][0] if block_data[0][0] != '' else load_lang('limitless'))
  60. plus_t[1] += ('<br>' + load_lang('band_blocked') if block_data[0][2] == 'O' else '')
  61. plus_t[1] += ('<br>' + load_lang('why') + ' : ' + block_data[0][3] if block_data[0][3] != '' else '')
  62. plus_d = plus_d.format(ip_pas(name), plus_t[0], plus_t[1])
  63. return flask.jsonify({ "data" : plus_d })
  64. else:
  65. return flask.jsonify({})