main_setting_top_menu.py 2.3 KB

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