user_info.py 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. from .tool.func import *
  2. def user_info(name = ''):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. if name == '':
  6. ip = ip_check()
  7. else:
  8. ip = name
  9. login_menu = ''
  10. tool_menu = ''
  11. if name == '':
  12. curs.execute(db_change("select count(*) from user_notice where name = ? and readme = ''"), [ip])
  13. count = curs.fetchall()
  14. if count and count[0][0] != 0:
  15. tool_menu += '<li><a class="opennamu_not_exist_link" href="/alarm">' + get_lang(conn, 'alarm') + ' (' + str(count[0][0]) + ')</a></li>'
  16. else:
  17. tool_menu += '<li><a href="/alarm">' + get_lang(conn, 'alarm') + '</a></li>'
  18. if ip_or_user(ip) == 0:
  19. login_menu += '''
  20. <li><a href="/logout">''' + get_lang(conn, 'logout') + '''</a></li>
  21. <li><a href="/change">''' + get_lang(conn, 'user_setting') + '''</a></li>
  22. '''
  23. tool_menu += '<li><a href="/watch_list">' + get_lang(conn, 'watchlist') + '</a></li>'
  24. tool_menu += '<li><a href="/star_doc">' + get_lang(conn, 'star_doc') + '</a></li>'
  25. tool_menu += '<li><a href="/challenge">' + get_lang(conn, 'challenge_and_level_manage') + '</a></li>'
  26. tool_menu += '<li><a href="/acl/user:' + url_pas(ip) + '">' + get_lang(conn, 'user_document_acl') + '</a></li>'
  27. else:
  28. login_menu += '''
  29. <li><a href="/login">''' + get_lang(conn, 'login') + '''</a></li>
  30. <li><a href="/register">''' + get_lang(conn, 'register') + '''</a></li>
  31. <li><a href="/change">''' + get_lang(conn, 'user_setting') + '''</a></li>
  32. <li><a href="/login/find">''' + get_lang(conn, 'password_search') + '''</a></li>
  33. '''
  34. login_menu = '<h2>' + get_lang(conn, 'login') + '</h2><ul class="opennamu_ul">' + login_menu + '</ul>'
  35. tool_menu = '<h2>' + get_lang(conn, 'tool') + '</h2><ul class="opennamu_ul">' + tool_menu + '</ul>'
  36. if admin_check(conn, 1) == 1:
  37. curs.execute(db_change("select block from rb where block = ? and ongoing = '1'"), [ip])
  38. ban_name = get_lang(conn, 'release') if curs.fetchall() else get_lang(conn, 'ban')
  39. admin_menu = '''
  40. <h2>''' + get_lang(conn, 'admin') + '''</h2>
  41. <ul class="opennamu_ul">
  42. <li><a href="/auth/give/ban/''' + url_pas(ip) + '''">''' + ban_name + '''</a></li>
  43. <li><a href="/list/user/check/''' + url_pas(ip) + '''">''' + get_lang(conn, 'check') + '''</a></li>
  44. </ul>
  45. '''
  46. else:
  47. admin_menu = ''
  48. return easy_minify(conn, flask.render_template(skin_check(conn),
  49. imp = [get_lang(conn, 'user_tool'), wiki_set(conn), wiki_custom(conn), wiki_css([0, 0])],
  50. data = '''
  51. <h2>''' + get_lang(conn, 'state') + '''</h2>
  52. <div id="opennamu_get_user_info">''' + html.escape(ip) + '''</div>
  53. ''' + login_menu + '''
  54. ''' + tool_menu + '''
  55. <h2>''' + get_lang(conn, 'other') + '''</h2>
  56. <ul class="opennamu_ul">
  57. <li><a href="/record/''' + url_pas(ip) + '''">''' + get_lang(conn, 'edit_record') + '''</a></li>
  58. <li><a href="/record/topic/''' + url_pas(ip) + '''">''' + get_lang(conn, 'discussion_record') + '''</a></li>
  59. <li><a href="/record/bbs/''' + url_pas(ip) + '''">''' + get_lang(conn, 'bbs_record') + '''</a></li>
  60. <li><a href="/record/bbs_comment/''' + url_pas(ip) + '''">''' + get_lang(conn, 'bbs_comment_record') + '''</a></li>
  61. <li><a href="/topic/user:''' + url_pas(ip) + '''">''' + get_lang(conn, 'user_discussion') + '''</a></li>
  62. <li><a href="/count/''' + url_pas(ip) + '''">''' + get_lang(conn, 'count') + '''</a></li>
  63. </ul>
  64. ''' + admin_menu + '''
  65. ''',
  66. menu = [['other', get_lang(conn, 'other_tool')]]
  67. ))