user_setting_top_menu.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from .tool.func import *
  2. async def user_setting_top_menu():
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. ip = ip_check()
  6. if (await ban_check(ip))[0] == 1:
  7. return await re_error(conn, 0)
  8. if ip_or_user(ip) == 1:
  9. return redirect(conn, '/login')
  10. if flask.request.method == 'POST':
  11. curs.execute(db_change("select data from user_set where name = 'top_menu' and id = ?"), [ip])
  12. if curs.fetchall():
  13. curs.execute(db_change("update user_set set data = ? where name = 'top_menu' and id = ?"), [flask.request.form.get('content', ''), ip])
  14. else:
  15. curs.execute(db_change("insert into user_set (name, data, id) values ('top_menu', ?, ?)"), [flask.request.form.get('content', ''), ip])
  16. return redirect(conn, '/change/top_menu')
  17. else:
  18. curs.execute(db_change("select data from user_set where name = 'top_menu' and id = ?"), [ip])
  19. db_data = curs.fetchall()
  20. db_data = db_data[0][0] if db_data else ''
  21. return await render_template(
  22. await get_lang('user_added_menu'),
  23. '''
  24. <span>
  25. EX)
  26. <br>
  27. ONTS
  28. <br>
  29. https://2du.pythonanywhere.com/
  30. <br>
  31. FrontPage
  32. <br>
  33. /w/FrontPage
  34. </span>
  35. <hr class="main_hr">
  36. ''' + await get_lang('not_support_skin_warning') + '''
  37. <hr class="main_hr">
  38. <form method="post">
  39. <textarea class="opennamu_textarea_500 __ON_TEXTAREA__" placeholder="''' + await get_lang('enter_top_menu_setting') + '''" name="content" id="content">''' + html.escape(db_data) + '''</textarea>
  40. <hr class="main_hr">
  41. <button id="opennamu_save_button" type="submit">''' + await get_lang('save') + '''</button>
  42. </form>
  43. ''',
  44. 0,
  45. [['setting', await get_lang('return')]]
  46. )