main_setting_main_logo.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from .tool.func import *
  2. async def main_setting_main_logo():
  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. skin_list = [0] + await load_skin('', 1)
  8. i_list = []
  9. for i in skin_list:
  10. i_list += [['logo', '' if i == 0 else i]]
  11. if flask.request.method == 'POST':
  12. for i in i_list:
  13. curs.execute(db_change("update other set data = ? where name = ? and coverage = ?"), [
  14. flask.request.form.get(('main_css' if i[1] == '' else i[1]), ''),
  15. i[0],
  16. i[1]
  17. ])
  18. await acl_check(tool = 'owner_auth', memo = 'edit_set (logo)')
  19. return redirect(conn, '/setting/main/logo')
  20. else:
  21. d_list = []
  22. for i in i_list:
  23. curs.execute(db_change('select data from other where name = ? and coverage = ?'), [i[0], i[1]])
  24. sql_d = curs.fetchall()
  25. if sql_d:
  26. d_list += [sql_d[0][0]]
  27. else:
  28. curs.execute(db_change('insert into other (name, data, coverage) values (?, ?, ?)'), [i[0], '', i[1]])
  29. d_list += ['']
  30. end_data = ''
  31. for i in range(0, len(skin_list)):
  32. end_data += '' + \
  33. '<span>' + await get_lang('wiki_logo') + ' ' + ('(' + skin_list[i] + ')' if skin_list[i] != 0 else '') + ' (HTML)' + \
  34. '<hr class="main_hr">' + \
  35. '<input class="__ON_INPUT__" name="' + (skin_list[i] if skin_list[i] != 0 else 'main_css') + '" value="' + html.escape(d_list[i]) + '">' + \
  36. '<hr class="main_hr">' + \
  37. ''
  38. return await render_template(
  39. await get_lang('wiki_logo'),
  40. '''
  41. <form method="post">
  42. ''' + end_data + '''
  43. <button id="opennamu_save_button" type="submit">''' + await get_lang('save') + '''</button>
  44. </form>
  45. ''',
  46. 0,
  47. [['setting/main', await get_lang('return')]]
  48. )