view_xref.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from .tool.func import *
  2. def view_xref_2(conn, name):
  3. curs = conn.cursor()
  4. if acl_check(name, 'render') == 1:
  5. return re_error('/ban')
  6. num = int(number_check(flask.request.args.get('num', '1')))
  7. if num * 50 > 0:
  8. sql_num = num * 50 - 50
  9. else:
  10. sql_num = 0
  11. div = '<ul>'
  12. if re.search('#', name):
  13. name = re.sub('#', '\\\\#', name)
  14. print(name + '#s-%')
  15. curs.execute("" + \
  16. "select link, type from back " + \
  17. "where (title = ? and not type = 'cat' and not type = 'no') or (title like ? and type = 'redirect')" + \
  18. "order by link asc limit ?, '50'" + \
  19. "", [
  20. name,
  21. name + '#s-%',
  22. str(sql_num)
  23. ])
  24. data_list = curs.fetchall()
  25. for data in data_list:
  26. div += '<li><a href="/w/' + url_pas(data[0]) + '">' + data[0] + '</a>'
  27. if data[1]:
  28. div += ' (' + data[1] + ')'
  29. curs.execute("select title from back where title = ? and type = 'include'", [data[0]])
  30. db_data = curs.fetchall()
  31. if db_data:
  32. div += ' <a id="inside" href="/xref/' + url_pas(data[0]) + '">(' + load_lang('backlink') + ')</a>'
  33. div += '</li>'
  34. div += '</ul>' + next_fix('/xref/' + url_pas(name) + '?num=', num, data_list)
  35. return easy_minify(flask.render_template(skin_check(),
  36. imp = [name, wiki_set(), custom(), other2([' (' + load_lang('backlink') + ')', 0])],
  37. data = div,
  38. menu = [['w/' + url_pas(name), load_lang('return')]]
  39. ))