search_result.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. {% set page_title = _("Search") %}
  2. {% extends theme("layout.html") %}
  3. {% block content %}
  4. {% from theme('macros.html') import render_pagination, group_field, topic_pages %}
  5. <div class="page-view">
  6. <ol class="breadcrumb flaskbb-breadcrumb">
  7. <li><a href="{{ url_for('forum.index') }}">{% trans %}Forum{% endtrans %}</a></li>
  8. <li class="active">{% trans %}Search{% endtrans %}</li>
  9. </ol>
  10. {% if result['post'] %}
  11. <div class="panel topic-panel">
  12. <div class="panel-heading topic-head">
  13. {% trans %}Posts{% endtrans %}
  14. </div>
  15. <div class="panel-body topic-body">
  16. {% for post in result['post'] %}
  17. <div id="{{ post.id }}" class="row post-row clearfix">
  18. <div class="author col-md-2 col-sm-3 col-xs-12">
  19. <!-- Registered User -->
  20. {% if post.user_id %}
  21. <div class="author-name"><h4><a href="{{ post.user.url }}">{{ post.user.username }}</a></h4></div>
  22. <!-- check if user is online or not -->
  23. {% if post.user|is_online %}
  24. <div class="author-online" data-toggle="tooltip" data-placement="top" title="online"></div>
  25. {% else %}
  26. <div class="author-offline" data-toggle="tooltip" data-placement="top" title="offline"></div>
  27. {% endif %}
  28. <div class="author-title"><h5>{{ post.user.primary_group.name }}</h5></div>
  29. {% if post.user.avatar %}
  30. <div class="author-avatar"><img src="{{ post.user.avatar }}" alt="avatar"></div>
  31. {% endif %}
  32. <div class="author-registered">{% trans %}Joined{% endtrans %}: {{ post.user.date_joined|format_date('%b %d %Y') }}</div>
  33. <div class="author-posts">{% trans %}Posts{% endtrans %}: {{ post.user.post_count }}</div>
  34. <div class="author-pm">
  35. {% if current_user.is_authenticated and post.user_id %}
  36. <a href="{{ url_for('message.new_conversation') }}?to_user={{ post.user.username }}">{% trans %}Message{% endtrans %}</a>
  37. {% endif %}
  38. </div>
  39. {% if post.user.website %}
  40. <div class="author-website"><a href="{{ post.user.website }}" rel="nofollow">{% trans %}Website{% endtrans %}</a></div>
  41. {% endif %}
  42. {% else %}
  43. <!-- user deleted or guest -->
  44. <div class="author-name"><h4><a href="{{ post.user.url }}">{{ post.username }}</a></h4></div>
  45. <div class="author-title"><h5>{% trans %}Guest{% endtrans %}</h5></div>
  46. {% endif %}
  47. </div>
  48. <div class="post-box col-md-10 col-sm-9 col-xs-12">
  49. <div class="post-meta clearfix">
  50. <div class="pull-left">
  51. <!-- Creation date / Date modified -->
  52. <a href="{{ post.url }}">
  53. {{ post.date_created|format_date('%d %B %Y - %H:%M') }}
  54. </a>
  55. {% if post.user_id and post.date_modified %}
  56. <small>
  57. (Last modified: {{ post.date_modified|format_date('%d %B %Y - %H:%M') }} by
  58. <a href="{{ url_for('user.profile', username=post.modified_by) }}">{{ post.modified_by }}</a>.)
  59. </small>
  60. {% endif %}
  61. </div>
  62. <!-- Post number -->
  63. <div class="pull-right">
  64. <strong>#{{ post.id }}</strong>
  65. </div>
  66. </div>
  67. <div class="post-content post_body clearfix" id="pid{{ post.id }}">
  68. {{ post.content|markup|safe }}
  69. </div>
  70. </div>
  71. </div>
  72. {% else %}
  73. <!-- cheating a bit here with page-row :P -->
  74. <div class="row page-row clearfix">
  75. <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No posts found matching your search criteria.{% endtrans %}</div>
  76. </div>
  77. {% endfor %}
  78. </div>
  79. </div>
  80. {% endif %}
  81. {% if result['user'] %}
  82. <div class="panel panel-default page-panel">
  83. <div class="panel-heading page-head">
  84. {% trans %}Users{% endtrans %}
  85. </div>
  86. <div class="panel-body page-body">
  87. <div class="page-meta">
  88. <div class="col-md-1 col-sm-1 col-xs-1 meta-item">#</div>
  89. <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Username{% endtrans %}</div>
  90. <div class="col-md-2 col-sm-2 hidden-xs meta-item">{% trans %}Posts{% endtrans %}</div>
  91. <div class="col-md-3 col-sm-3 hidden-xs meta-item">{% trans %}Date registered{% endtrans %}</div>
  92. <div class="col-md-3 col-sm-3 col-xs-5 meta-item">{% trans %}Group{% endtrans %}</div>
  93. </div>
  94. {% for user in result['user'].all() %}
  95. <div class="row page-row hover clearfix">
  96. <div class="col-md-1 col-sm-1 col-xs-1">{{ user.id }}</div>
  97. <div class="col-md-3 col-sm-3 col-xs-5"><a href="{{ user.url }}">{{ user.username }}</a></div>
  98. <div class="col-md-2 col-sm-2 hidden-xs">{{ user.post_count }}</div>
  99. <div class="col-md-3 col-sm-3 hidden-xs">{{ user.date_joined|format_date('%b %d %Y') }}</div>
  100. <div class="col-md-3 col-sm-3 col-xs-5">{{ user.primary_group.name }}</div>
  101. </div>
  102. {% else %}
  103. <div class="row page-row hover clearfix">
  104. <div class="col-md-12 col-sm-12 col-xs-12">{% trans %}No users found matching your search criteria.{% endtrans %}</div>
  105. </div>
  106. {% endfor %}
  107. </div>
  108. </div>
  109. {% endif %}
  110. {% if result['topic'] %}
  111. <div class="panel panel-default forum-panel">
  112. <div class="panel-heading forum-head">
  113. {% trans %}Topics{% endtrans %}
  114. </div>
  115. <div class="panel-body forum-body">
  116. <div class="forum-meta">
  117. <div class="col-md-5 col-sm-5 col-xs-8 topic-name">{% trans %}Topic{% endtrans %}</div>
  118. <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Posts{% endtrans %}</div>
  119. <div class="col-md-2 col-sm-2 hidden-xs topic-stats">{% trans %}Views{% endtrans %}</div>
  120. <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">{% trans %}Last Post{% endtrans %}</div>
  121. </div>
  122. {% for topic in result['topic'].all() %}
  123. <div class="row forum-row hover clearfix">
  124. <div class="col-md-5 col-sm-5 col-xs-8 topic-info">
  125. <div class="row">
  126. <div class="col-md-1 col-sm-2 col-xs-2 topic-status">
  127. {% if topic.locked %}
  128. <span class="fa fa-lock topic-locked"></span>
  129. {% elif topic.important %}
  130. <span class="fa fa-star-o topic-starred-read"></span>
  131. {% else %}
  132. <span class="fa fa-comment-o topic-read"></span>
  133. {% endif %}
  134. </div>
  135. <div class="col-md-11 col-sm-10 col-xs-10">
  136. <div class="topic-name">
  137. <a href="{{ topic.url }}">{{ topic.title }}</a>
  138. <!-- Topic Pagination -->
  139. <span class="topic-pages">{{ topic_pages(topic, flaskbb_config["POSTS_PER_PAGE"]) }}</span>
  140. </div>
  141. <div class="topic-author">
  142. {% trans %}by{% endtrans %}
  143. {% if topic.user_id %}
  144. <a href="{{ topic.user.url }}">{{ topic.user.username }}</a>
  145. {% else %}
  146. {{ topic.username }}
  147. {% endif %}
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
  153. {{ topic.post_count }}
  154. </div>
  155. <div class="col-md-2 col-sm-2 hidden-xs topic-stats">
  156. {{ topic.views }}
  157. </div>
  158. <div class="col-md-3 col-sm-3 col-xs-4 topic-last-post">
  159. <a href="{{ topic.last_post.url }}">{{ topic.last_post.date_created|time_since }}</a><br />
  160. <div class="topic-author">
  161. {% trans %}by{% endtrans %}
  162. {% if topic.last_post.user_id %}
  163. <a href="{{ topic.last_post.user.url }}">{{ topic.last_post.user.username }}</a>
  164. {% else %}
  165. {{ topic.last_post.username }}
  166. {% endif %}
  167. </div>
  168. </div>
  169. </div> <!-- end forum-row -->
  170. {% else %}
  171. <div class="row forum-row clearfix">
  172. <div class="col-md-12 col-sm-12 co-xs-12">
  173. {% trans %}No topics found matching your search criteria.{% endtrans %}
  174. </div>
  175. </div> <!-- end forum-row -->
  176. {% endfor %}
  177. </div>
  178. </div>
  179. {% endif %}
  180. {% if result['forum'] %}
  181. <div class="panel panel-default category-panel">
  182. <div class="panel-heading category-head">
  183. Forums
  184. </div>
  185. <div class="panel-body category-body">
  186. <div class="category-meta">
  187. <div class="col-md-5 col-sm-5 col-xs-8 forum-name">{% trans %}Forum{% endtrans %}</div>
  188. <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Topics{% endtrans %}</div>
  189. <div class="col-md-2 col-sm-2 hidden-xs forum-stats">{% trans %}Posts{% endtrans %}</div>
  190. <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">{% trans %}Last Post{% endtrans %}</div>
  191. </div>
  192. {% for forum in result['forum'].all() %}
  193. <div class="row category-row hover">
  194. {% if forum.external %}
  195. <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
  196. <div class="row">
  197. <!-- Icon -->
  198. <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
  199. <span class="fa fa-external-link forum-external"></span>
  200. </div>
  201. <div class="col-md-11 col-sm-10 col-xs-10">
  202. <!-- Forum Name -->
  203. <div class="forum-name">
  204. <span class="forum-link">{% trans %}Link to{% endtrans %}:</span> <a href="{{ forum.url }}">{{ forum.title }}</a>
  205. </div>
  206. <!-- Forum Description -->
  207. <div class="forum-description">
  208. {{ forum.description|markup|safe }}
  209. </div>
  210. </div>
  211. </div>
  212. </div> <!-- end forum-info -->
  213. <!-- Post Cunt -->
  214. <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
  215. -
  216. </div>
  217. <!-- Topic Count -->
  218. <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
  219. -
  220. </div>
  221. <!-- Last Post -->
  222. <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
  223. ---
  224. </div>
  225. {% else %}
  226. <div class="col-md-5 col-sm-5 col-xs-8 forum-info">
  227. <div class="row">
  228. <!-- Icon -->
  229. <div class="col-md-1 col-sm-2 col-xs-2 forum-status">
  230. {% if forum.locked %}
  231. <span class="fa fa-lock forum-locked"></span>
  232. {% else %}
  233. <span class="fa fa-comments-o forum-read"></span>
  234. {% endif %}
  235. </div>
  236. <div class="col-md-11 col-sm-10 col-xs-10">
  237. <!-- Forum Name -->
  238. <div class="forum-name">
  239. <a href="{{ forum.url }}">{{ forum.title }}</a>
  240. </div>
  241. <!-- Forum Description -->
  242. <div class="forum-description">
  243. {{ forum.description|markup|safe }}
  244. </div>
  245. <!-- Forum Moderators -->
  246. {% if forum.show_moderators %}
  247. <div class="forum-moderators">
  248. {% trans %}Moderators{% endtrans %}:
  249. {% for moderator in forum.moderators %}
  250. <a href="{{ url_for('user.profile', username=moderator.username) }}">{{ moderator.username }}</a>{% if not loop.last %}, {% endif %}
  251. {% endfor %}
  252. </div>
  253. {% endif %}
  254. </div>
  255. </div>
  256. </div> <!-- end forum-info -->
  257. <!-- Post Cunt -->
  258. <div class="col-md-2 col-sm-2 hidden-xs forum-topics">
  259. {{ forum.topic_count }}
  260. </div>
  261. <!-- Topic Count -->
  262. <div class="col-md-2 col-sm-2 hidden-xs forum-posts">
  263. {{ forum.post_count }}
  264. </div>
  265. <!-- Last Post -->
  266. <div class="col-md-3 col-sm-3 col-xs-4 forum-last-post">
  267. {% if forum.last_post_id %}
  268. <div class="last-post-title">
  269. <a href="{{ forum.last_post_url }}" title="{{ forum.last_post_title }}">
  270. {{ forum.last_post_title|crop_title }}
  271. </a>
  272. </div>
  273. <div class="last-post-time">
  274. {{ forum.last_post_created|time_since }}
  275. </div>
  276. <div class="last-post-author">
  277. {% trans %}by{% endtrans %}
  278. {% if forum.last_post_user_id %}
  279. <a href="{{ url_for('user.profile', username=forum.last_post_username) }}">{{ forum.last_post_username }}</a>
  280. {% else %}
  281. {{ forum.last_post_username }}
  282. {% endif %}
  283. </div>
  284. {% else %}
  285. {% trans %}No posts.{% endtrans %}
  286. {% endif %} {# endif forum.last_post_id #}
  287. </div>
  288. {% endif %} {# endif forum.external #}
  289. </div> <!-- end category-content -->
  290. {% else %}
  291. <div class="row category-row">
  292. <div class="col-md-12 col-sm-12 col-xs-12">
  293. {% trans %}No forums found matching your search criteria.{% endtrans %}
  294. </div>
  295. </div>
  296. {% endfor %}
  297. </div>
  298. </div>
  299. {% endif %}
  300. </div>
  301. {% endblock %}