view_xref.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. curs.execute(db_change("" + \
  15. "select link, type from back " + \
  16. "where (title = ? and not type = 'cat' and not type = 'no') or (title like ? and type = 'redirect')" + \
  17. "order by link asc limit ?, 50" + \
  18. ""), [
  19. name,
  20. name + '#s-%',
  21. sql_num
  22. ])
  23. data_list = curs.fetchall()
  24. for data in data_list:
  25. div += '<li><a href="/w/' + url_pas(data[0]) + '">' + data[0] + '</a>'
  26. if data[1]:
  27. div += ' (' + data[1] + ')'
  28. curs.execute(db_change("select title from back where title = ? and type = 'include'"), [data[0]])
  29. db_data = curs.fetchall()
  30. if db_data:
  31. div += ' <a id="inside" href="/xref/' + url_pas(data[0]) + '">(' + load_lang('backlink') + ')</a>'
  32. div += '</li>'
  33. div += '</ul>' + next_fix('/xref/' + url_pas(name) + '?num=', num, data_list)
  34. return easy_minify(flask.render_template(skin_check(),
  35. imp = [name, wiki_set(), custom(), other2([' (' + load_lang('backlink') + ')', 0])],
  36. data = div,
  37. menu = [['w/' + url_pas(name), load_lang('return')]]
  38. ))