src/Aqarmap/Bundle/DiscussionBundle/Resources/views/Discussion/discussionComments.html.twig line 1

  1. {% extends "base.html.twig" %}
  2. {% form_theme quick_registration_form 'Form/form_div_layout.html.twig' %}
  3. {% set SHARING_IMAGE = constant('Aqarmap\\Bundle\\DiscussionBundle\\Constant\\SharingConstant::IMAGE') %}
  4. {# Page title #}
  5. {% block title %}{{ discussion.content|length > 50 ? discussion.content|slice(0, 50) ~ '...' : discussion.content }} - {{ parent() }}{% endblock %}
  6. {% block meta_description %}
  7. {% trans with {'%area%': discussion.location.title } %}
  8. neighborhoods.discussion.meta_description
  9. {% endtrans %} {% if discussion.comments|length > 0 %}({{ "neighborhoods.comment.answers"|trans({'%count%' : discussion.comments|length}) }}) - {{ discussion.comments[0].content|length > 120 ? discussion.comments[0].content|slice(0, 120) ~ '...' : discussion.comments[0].content }}{% else %}{{ '' }}{% endif %}
  10. {% endblock %}
  11. {% block htmlhead %}
  12. <link rel="alternate" hreflang="ar"
  13. href="{{ url(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'ar'})) }}"/>
  14. <link rel="alternate" hreflang="en"
  15. href="{{ url(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}"/>
  16. <link rel="alternate" hreflang="x-default"
  17. href="{{ url(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'ar'})) }}"/>
  18. <meta name="twitter:card" content="summary_large_image" />
  19. <meta name="twitter:site" content="{{ "%s%s"|format('@', 'layout.app_name'|trans) }}" />
  20. <meta name="twitter:creator" content="{{ "%s%s"|format('@', 'layout.app_name'|trans) }}" />
  21. <meta property="og:title" content="{{ discussion.content|length > 50 ? discussion.content|slice(0, 50) ~ '...' : discussion.content }} - {{ 'layout.app_name'|trans }}"/>
  22. <meta property="og:description" content="{{ 'neighborhoods.discussion.sharing.description'|trans }}" />
  23. <meta property="og:image" content="{{ SHARING_IMAGE }}" />
  24. <meta property="og:site_name" content="{{ 'layout.app_name'|trans }}" />
  25. <meta property="fb:app_id" content="{{ facebook_app_id }}"/>
  26. {% endblock %}
  27. {% block body %}
  28. {% set COMMENT_TYPE_LIKE = constant('Aqarmap\\Bundle\\DiscussionBundle\\Constant\\CommentLikeTypes::LIKE') %}
  29. {% set COMMENT_TYPE_UNLIKE = constant('Aqarmap\\Bundle\\DiscussionBundle\\Constant\\CommentLikeTypes::UNLIKE') %}
  30. {% set sharingEvent = "ask-neighbors" %}
  31. <section id="{{ app.request.get('_route') }}">
  32. <div class="discussions" ng-controller="neighborhoodDiscussionController" itemscope itemtype="https://schema.org/QAPage" data-sticky-container>
  33. <div class="container">
  34. <div class="row">
  35. <div class="col-lg-8 col-md-8 col-sm-8 col-xs-12">
  36. <div class="row" itemprop="mainEntity" itemscope itemtype="https://schema.org/Question">
  37. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 hidden-sm hidden-xs">
  38. {% set discussion_breadcrumb = knp_menu_get( 'aqarmap.discussion.breadcrumb' , [], {'location': discussion.location, "discussion" : discussion, 'userAgent': app.request.headers.get('User-Agent')}) %}
  39. {{ knp_menu_render(discussion_breadcrumb , {
  40. 'allow_safe_labels': true,
  41. 'template': 'knp_breadcrumbs.html.twig',
  42. 'currentAsLink': true,
  43. 'currentClass': 'active'
  44. }) }}
  45. </div>
  46. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
  47. <div class="main-comment-discussion-container">
  48. <div class="page-header">
  49. <span itemprop="name" class="hidden">{{ discussion.content|trim(10) }}</span>
  50. <h1 class="comment-discussion" itemprop="text">
  51. {{ discussion.content }}
  52. {% if app.user and app.user == discussion.user %}
  53. <div class="pull-right flip comment-discussion-setting">
  54. <a id="discussion-{{ discussion.id }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" ><i class="fa fa-ellipsis-v" aria-hidden="true"></i></a>
  55. <ul class="dropdown-menu pull-right flip" aria-labelledby="discussion-{{ discussion.id }}">
  56. <li><a class="dropdown-item" href="{{ path('neighborhood_discussion_edit' , {'discussion' : discussion.id}) }}">{{ "layout.admin.edit"|trans }}</a></li>
  57. <li><a id="delete_discussion" onclick="return confirm('{{ "neighborhoods.discussion.delete_message"|trans }}');" href="{{ path('discussion_delete', {'discussion': discussion.id}) }}" >{{ "listing.delete"|trans }}</a></li>
  58. </ul>
  59. </div>
  60. {% endif %}
  61. </h1>
  62. </div>
  63. <div class="discussion-replies-header"`>
  64. <div class="discussion-main-data">
  65. <small>
  66. <div itemprop="author" itemscope itemtype="https://schema.org/Person">
  67. <span itemprop="name" class="comment-author">{% if discussion.user.fullName %}{{ discussion.user.fullName }} {% else %}{{ discussion.user.username }}{% endif %}</span>
  68. </div>
  69. <time itemprop="dateCreated" datetime="{{ discussion.createdAt|date }}">{{ discussion.createdAt|date("d-m-Y") }}</time>
  70. {% if discussion.category %}, <a target="_blank" href="{{ path('neighborhood_discussion_list' , {'category': discussion.category.id }) }}">{{ discussion.category.title }}</a>{% endif %}
  71. {% if discussion.location %}, <a
  72. href="{{ path('neighborhood_discussion_list' , {'location':discussion.location.id }) }}">{{ discussion.location.title }}</a>{% endif %}
  73. </small>
  74. </div>
  75. <div class="pull-left flip">
  76. <div>
  77. {% if app.user %}
  78. {% if app.user in discussion.subscribers %}
  79. <label>
  80. <i class="fa fa-user" aria-hidden="true"></i>
  81. <a id="subscribe_button"
  82. href="{{ path('neighborhood_discussion_remove_subscriber',{'discussion' : discussion.id }) }}"
  83. class="">
  84. {{ "neighborhoods.discussion.unsubscribe"|trans }}
  85. </a>
  86. </label>
  87. {% else %}
  88. <label>
  89. <i class="fa fa-user" aria-hidden="true"></i>
  90. <a id="subscribe_button"
  91. href="{{ path('neighborhood_discussion_add_subscriber',{'discussion' : discussion.id }) }}"
  92. class="">
  93. {{ "neighborhoods.discussion.subscribe"|trans }}
  94. </a>
  95. </label>
  96. {% endif %}
  97. {% endif %}
  98. </div>
  99. </div>
  100. <div class="pull-right flip">
  101. {% if isEnabledFeature('web.sharing.page') %}
  102. <a class="action-btn" data-toggle="modal" data-target="#discussionSharingModal">
  103. <i class="fa fa-share-alt" aria-hidden="true"></i>
  104. {{ "layout.share"|trans }}</a>
  105. {% endif %}
  106. <a class="action-btn" href="#reply"><i class="fa fa-reply-all" aria-hidden="true"></i>
  107. {{ "neighborhoods.comment.reply"|trans }}</a>
  108. </div>
  109. </div>
  110. </div>
  111. <hr/>
  112. <div>
  113. <h2 class="answers-count"><span itemprop="answerCount" class="hidden">{{ discussion.comments|length }}</span>{{ "neighborhoods.comment.answers"|trans({'%count%' : discussion.comments|length}) }}</h2>
  114. </div>
  115. </div>
  116. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
  117. {% if discussion.comments|length > 0 %}
  118. <div>
  119. {% for discussionComment in discussionComments %}
  120. {% set comment = discussionComment[0] %}
  121. {% set likesCount = discussionComment['likesCount'] %}
  122. {% set unlikesCount = discussionComment['unLikesCount'] %}
  123. <div id="comment-{{ comment.id }}" class="media">
  124. <div class="media-body" itemscope itemtype="https://schema.org/Answer" itemprop="{% if loop.index == 1 %}acceptedAnswer{% else %}suggestedAnswer{% endif %}">
  125. <link itemprop="url" href="{{ url('neighborhood_discussion_comments', {'discussion': discussion.id}) }}#{{ 'comment-' ~ comment.id }}" />
  126. <div class="comment-heading">
  127. <small>
  128. <div itemprop="author" itemscope itemtype="https://schema.org/Person">
  129. <span
  130. class="comment-author" itemprop="name">{% if comment.user %}{{ comment.user.fullName }}{% endif %}</span>
  131. </div>
  132. <time itemprop="dateCreated" datetime="{{ comment.createdAt|date }}">{{ comment.createdAt|date("d-m-Y") }}</time>
  133. </small>
  134. {% if app.user and app.user == comment.user %}
  135. <div class="pull-right flip">
  136. <a id="comment-{{ comment.id }}" data-toggle="dropdown"
  137. role="menu" class="pull-right flip"><i
  138. class="fa fa-ellipsis-v" aria-hidden="true"></i></a>
  139. <ul class="dropdown-menu pull-right flip"
  140. aria-labelledby="comment-{{ comment.id }}">
  141. <li><a target="_blank" class="dropdown-item"
  142. href="{{ path('neighborhood_comment_edit' , {'discussion' : discussion.id, 'comment' : comment.id}) }}">{{ "layout.admin.edit"|trans }}</a></li>
  143. <li><a id="delete_comment" onclick="return confirm('{{ "neighborhoods.comment.delete_message"|trans }}');" href="{{ path('comment_delete', {'discussion': discussion.id, 'comment' : comment.id}) }}" >{{ "listing.delete"|trans }}</a></li>
  144. </ul>
  145. </div>
  146. {% endif %}
  147. </div>
  148. <p class="media-heading comment-content comment-discussion" itemprop="text">
  149. {{ comment.content }}
  150. </p>
  151. <div class="likes-container" >
  152. <a {% if app.user and comment.isUserLike(app.user, COMMENT_TYPE_LIKE) %}
  153. class="comment-like active" id="like_{{ comment.id }}" ng-click='setCurrentAction("removeLike");toggleLikeEvents($event, data);'
  154. {% else %}
  155. class="comment-like" id="like_{{ comment.id }}" ng-click="setCurrentAction('removeLike');toggleLikeEvents($event, data);"
  156. {% endif %}
  157. href=""><i class="fa fa-thumbs-up" aria-hidden="true"></i>
  158. <span id="likeCounter_{{ comment.id }}" class="likesCount" itemprop="upvoteCount">{{ likesCount }}</span>
  159. </a>
  160. <input type="hidden" class="commentId" value="{{ comment.id }}">
  161. <a {% if app.user and comment.isUserLike(app.user, COMMENT_TYPE_UNLIKE) %}
  162. class="comment-unlike active" id="unlike_{{ comment.id }}" ng-click="setCurrentAction('removeUnLike');toggleLikeEvents($event, data);"
  163. {% else %}
  164. class="comment-unlike" id="unlike_{{ comment.id }}" ng-click="setCurrentAction('removeUnLike');toggleLikeEvents($event, data);"
  165. {% endif %}
  166. href=""><i class="fa fa-thumbs-down" aria-hidden="true"></i>
  167. <span id="unlikeCounter_{{ comment.id }}" class="likesCount">{{ unlikesCount }}</span></a>
  168. </div>
  169. </div>
  170. </div>
  171. <hr/>
  172. {% endfor %}
  173. </div>
  174. {% endif %}
  175. {{ form_start(commentForm, {attr: {'ng-submit': 'submitDiscussion($event, data)' }}) }}
  176. <div class="reply_content" id="reply">
  177. {{ form_row(commentForm.content, {'attr': {'placeholder': "neighborhoods.comment.content"|trans } }) }}
  178. </div>
  179. <button type="submit" id="discussion-submit-btn"
  180. class="btn btn-lg btn-primary pull-right flip ">{{ "neighborhoods.comment.reply"|trans }}</button>
  181. {{ form_end(commentForm) }}
  182. </div>
  183. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 mobile-breadcrumb visible-sm visible-xs">
  184. {% set discussion_breadcrumb = knp_menu_get( 'aqarmap.discussion.breadcrumb' , [], {'location': discussion.location, "discussion" : discussion, 'userAgent': app.request.headers.get('User-Agent')}) %}
  185. {{ knp_menu_render(discussion_breadcrumb , {
  186. 'allow_safe_labels': true,
  187. 'template': 'knp_menu_ordered.html.twig',
  188. 'currentClass': 'active'
  189. }) }}
  190. </div>
  191. </div>
  192. </div>
  193. <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 panel-white padding-md-zero small-container">
  194. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
  195. {% if interestsListings|length > 0 %}
  196. <div class="page-header">
  197. <p class="custom-small-header">{{ 'advice.Properties_intersted_in'|trans }}
  198. </p>
  199. </div>
  200. {% endif %}
  201. <div class="interested-listings">
  202. {% include "@AqarmapDiscussionBundle/Discussion/ListingsYouMaybeInterestedIn.html.twig" %}
  203. </div>
  204. </div>
  205. {% if popularArticles|length > 0 %}
  206. {% include '@AqarmapDiscussion/Discussion/popularArticles.html.twig' %}
  207. {% endif %}
  208. </div>
  209. <div class="container ask-question-container-parent">
  210. <div class="ask-question-container sticky" data-sticky-class="sticky-on">
  211. <div class="container-fluid">
  212. <div class="row">
  213. <div class="col-xs-12">
  214. <div class="header">
  215. <h2 class="custom-header white">{{ "neighborhoods.discussion.main_title"|trans }}</h2>
  216. <p class="responsive_style">
  217. {{ 'neighborhoods.discussion.location_sub_title'|trans }}
  218. {% if discussion.location %}
  219. {% trans with {'%location%': discussion.location.title } %}
  220. neighborhoods.discussion.about_sub_title
  221. {% endtrans %}
  222. {% endif %}
  223. </p>
  224. <div class="ask-question-btn-container">
  225. <a class="btn btn-block btn-warning"
  226. href="{{ path('neighborhood_discussion_list', {'location': discussion.location.id ? discussion.location.id : discussion.location.parent.id, 'category': discussion.category ? discussion.category.id : null}) }}">
  227. {{ "neighborhoods.discussion.explore_more"|trans }}
  228. </a>
  229. </div>
  230. </div>
  231. </div>
  232. </div>
  233. </div>
  234. </div>
  235. </div>
  236. </div>
  237. </div>
  238. </div>
  239. </section>
  240. {% if isEnabledFeature('web.sharing.page') %}
  241. {% include "@AqarmapDiscussionBundle/Discussion/discussionSharingModal.html.twig" %}
  242. {% endif %}
  243. {% endblock %}
  244. {% block footer %}
  245. {% include "footer.v2.html.twig" %}
  246. {% endblock %}
  247. {% block javascripts %}
  248. <script src="//maps.google.com/maps/api/js?v=3.2&amp;sensor=false&amp;key={{ google_maps_key }}"></script>
  249. {{ parent() }}
  250. <script>
  251. $("#explore-more").click(function () {
  252. $(this).hide();
  253. });
  254. $(document).ready(function () {
  255. if ($(window).width() > mobileWindowSize){
  256. var sticky = new Sticky('.sticky');
  257. }
  258. });
  259. </script>
  260. {% endblock %}