templates/forum/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}{% endblock %}
  3. {% block stylesheets %}
  4.     <link rel="stylesheet" href="{{ asset('css/index-forum.css') }}">
  5.         <link rel="stylesheet" href="{{ asset('css/centre-ressource.css') }}">
  6.             <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"/>
  7.         {% endblock %}
  8.         {% block body %}
  9.             <main class="section-services"></main>
  10.             <div class="section-about" id="section-about">
  11.                 <div class="section-FAQ">
  12.                     <div class="container bloc-list-forum">
  13.                         <div class="row">
  14.                             <div class="col-sm {{ app.request.locale == 'ar_TN' ? 'form_direction_rtl' : 'form_direction_ltr' }}">
  15.                                 <h5>{% trans %} forum.index.title {% endtrans %}</h5>
  16.                                 <h2>Lorem ipsum dolor</h2>
  17.                                 <div class="dc-description">
  18.                                     <p>Lorem ipsum dolor sit amet invidunt ut labore et sed diam voluptua. At vero eos et accusam et sed diam voluptua.</p>
  19.                                 </div>
  20.                                 <div
  21.                                     class="dc-btnarea">
  22.                                     <!-- Button trigger modal -->
  23.                                     <button type="button" class="btn-slider-text-for" data-toggle="modal" data-target="#exampleModalLong">
  24.                                         {% trans %} forum.index.proposer {% endtrans %}
  25.                                     </button>
  26.                                 </div>
  27.                             </div>
  28.                             <div class="col-sm">
  29.                                 <figure>
  30.                                     <img src="http://amentotech.com/projects/doctreat/wp-content/uploads/2019/08/girl.png" alt="Health Form"></figure>
  31.                                 </div>
  32.                             </div>
  33.                         </div>
  34.                     </div>
  35.                 </div>
  36.                 <!-- Modal -->
  37.                 <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
  38.                     <div class="modal-dialog" role="document">
  39.                         <div class="modal-content">
  40.                             <div class="modal-header">
  41.                                 <h5 class="modal-title" id="exampleModalLongTitle" style="margin-left: 5%;">{% trans %} forum.index.proposer {% endtrans %}</h5>
  42.                                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  43.                                     <span aria-hidden="true">&times;</span>
  44.                                 </button>
  45.                             </div>
  46.                             <div class="modal-body {{ app.request.locale == 'ar_TN' ? 'form_direction_rtl' : 'form_direction_ltr' }}">
  47.                                 <form method="post" action="{{ path('make_sujet') }}">
  48.                                     <div class="input-group row">
  49.                                         <div class="col-sm">
  50.                                             <span class="input-group-text">{% trans %} forum.index.name {% endtrans %}</span>
  51.                                         </div>
  52.                                         <div class="col-sm">
  53.                                             <input type="text" class="form-control" name="sujetName" placeholder="..." required></div>
  54.                                         </div>
  55.                                         <div class="col col-lg-12">
  56.                                             <span class="input-group-text">{% trans %} forum.index.description {% endtrans %}</span>
  57.                                         </div>
  58.                                         <div class="col col-lg-12">
  59.                                             <textarea name="sujetDescription" class="form-control" aria-label="With textarea" placeholder="..." required></textarea>
  60.                                         </div>
  61.                                         <button type="submit" class="btn-slider-text-sub">{% trans %} forum.index.send {% endtrans %}</button>
  62.                                     </form>
  63.                                 </div>
  64.                                 {#
  65.                                                                                                                                                                                                 <div class="modal-footer">
  66.                                                                                                                                                                                                     <button type="submit" class="btn-slider-text-for">Envoyer</button>
  67.                                                                                                                                                                                                 </div>
  68.                                                                                                                                                                                                 #}
  69.                             </div>
  70.                         </div>
  71.                     </div>
  72.                     {#      <div class="row justify-content-center mt-5">#}
  73.                     {% for forum in sujetForums %}
  74.                         {% if app.user != null and app.user.id == forum.user.id and forum.isPublic == false %}
  75.                             {# 
  76.                                                                                                                                                                 <div class="container"> 
  77.                                                                                                                                                                     <div class="accordion-content mx-5">
  78.                                                                                                                                                                         <div class="accordion-item">
  79.                                                                                                                                                                             <header class="item-header">
  80.                                                                                                                                                                                 <h4 id="item-quest-user" class="item-question">{{ forum.user }}  </h4>
  81.                                                                                                                                                                                 <span id="date-question"  >{{ forum.date |date("d/m/Y") }}</span>
  82.                                                                                                                                                         
  83.                                                                                                                                                                                 <form method="post" action="{{ path('update_forum_sujet', { id: forum.id }) }}">
  84.                                                                                                                                                                                     <div  >
  85.                                                                                                                                                                                         <input  class="form-control form-control-lg " type="text" value="{{ forum.sujet }}"
  86.                                                                                                                                                                                                name="sujetName" placeholder="Nom de sujet" required>
  87.                                                                                                                                                                                         <textarea name="sujetDescription"  class="form-control form-control-lg   "
  88.                                                                                                                                                                                                   aria-label="With textarea" placeholder="Description de sujet"
  89.                                                                                                                                                                                                   required>{{ forum.description }}</textarea>
  90.                                                                                                                                                                                     </div> 
  91.                                                                                                                                                                                      <button type="submit" class="btn-slider-text modif"> <i id="update-commentaire" class="fa-solid fa-pen-to-square"></i>   </button>
  92.                                                                                                                                                                                       <a class="col-md-10"  >   <i id="drop-commentaire"  onclick="supprimerReponse({{ forum.id }})" class="fa-sharp fa-solid fa-trash"></i> </a>
  93.                                                                                                                                                                                 </form>
  94.                                                                                                                                                                             </header>
  95.                                                                                                                                                                         </div>
  96.                                                                                                                                                                     </div>
  97.                                                                                                                                                              </div> #}
  98.                         {% elseif forum.isPublic == true %}
  99.                             <div class="container">
  100.                                 <div class="card row justify-content-center">
  101.                                     <div class="col-md-12">
  102.                                         <div class="col-md-12 txt {{ app.request.locale == 'ar_TN' ? 'form_direction_rtl' : 'form_direction_ltr' }}">
  103.                                             <h6 class="card-title ">
  104.                                                 <strong>{{ forum.sujet }}
  105.                                                 </strong>
  106.                                                 <span id="date">
  107.                                                   {{ app.request.locale == 'ar_TN' ? forum.getDatePublic | date('Y/m/d') : forum.getDatePublic | date('d/m/Y') }}                                    </p>
  108. </span>
  109.                                             </h6>
  110.                                             <hr>
  111.                                                 <p class="card-text">{{ forum.description | u.truncate(120,'...') | striptags }}</p>
  112.                                                 <a href="{{ path('show_forum_detail',{'id': forum.id}) }}">
  113.                                                     <button class="btn-slider-text-forum">{% trans %} forum.index.details {% endtrans %}</button>
  114.                                                 </a>
  115.                                             </div>
  116.                                         </div>
  117.                                     </div>
  118.                                 </div>
  119.                                 {#      </div> #}
  120.                             {% endif %}
  121.                         {% endfor %}
  122.                         <div class="container showMore">
  123.                             <div class="row justify-content-center">
  124.                                 <div class="col-md-12">
  125.                                     <div class="col-md-6">
  126.                                         <a>
  127.                                             <button id="addMore" class="btn-slider-text mt-5">
  128.                                                 {% trans %} forum.index.show {% endtrans %}
  129.                                             </button>
  130.                                         </a>
  131.                                     </div>
  132.                                 </div>
  133.                             </div>
  134.                         </div>
  135.                         {# <div class="navigation" style="margin-left:16% !important;">
  136.                                                                                                                                             {{ knp_pagination_render(sujetForums) }}
  137.                                                                                                                                         </div> #}
  138.                     </div>
  139.                 </div>
  140.             </div>
  141.         </div>
  142.     {% endblock %}
  143.     {% block javascripts %}
  144.         <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  145.         <script>
  146.             $(document).ready(function () {
  147.                 console.log('test')
  148.             });
  149.             function supprimerReponse(a) {
  150.                 event.preventDefault()
  151.                 Swal.fire({
  152.                     title: 'Êtes-vous sûr?',
  153.                     text: 'Vous ne pourrez pas revenir en arrière !',
  154.                     icon: 'warning',
  155.                     showCancelButton: true,
  156.                     confirmButtonColor: '#3085d6',
  157.                     cancelButtonColor: '#d33',
  158.                     confirmButtonText: 'Oui, supprimez-le!'
  159.                 }).then((result) => {
  160.                     if (result.isConfirmed) {
  161.                         $.ajax({
  162.                             type: 'POST',
  163.                             url: '/delete/forum/sujet/' + a,
  164.                             // data: JSON.stringify(item),
  165.                             dataType: 'json',
  166.                             success: function (response) {
  167.                                 console.log(response)
  168.                                 location.reload()
  169.                             }
  170.                         })
  171.                         // window.location.href = "/make/command/delete/"+a;
  172.                     }
  173.                 })
  174.             }
  175.             let offset = 2;
  176.             $('#addMore').on('click', function () {
  177.                 $.ajax({
  178.                     type: "GET",
  179.                     url: '/ajax/get/sujetForum',
  180.                     data: {
  181.                         'offset': offset
  182.                     },
  183.                     success: function (response) {
  184.                         console.log(JSON.stringify(response))
  185.                         response.result.map((value, index) => {
  186.                             var forumDate = value.date.date // Assurez-vous de remplacer cela par la valeur réelle en JavaScript
  187.                             var date = new Date(forumDate);
  188.                             var formattedDate = (date.getDate() < 10 ? '0' : '') + date.getDate() + '/' + (
  189.                             (date.getMonth() + 1) < 10 ? '0' : ''
  190.                         ) + (date.getMonth() + 1) + '/' + date.getFullYear();
  191.                             var formattedDate2 = date.getFullYear() + '/' +
  192.                                 ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1) + '/' +
  193.                                 (date.getDate() < 10 ? '0' : '') + date.getDate();
  194.                             if (response.userId != null && response.userId == value.userId && value.isPublic == false) {
  195.                                 let div = `
  196.                     <div class="accordion-content mx-5">
  197.                         <div class="accordion-item">
  198.                             <header class="item-header">
  199.                                 <h4 class="item-question">${
  200.                                     value.userName
  201.                                 } ${formattedDate}</h4>
  202.                                 <form method="post" action="/update/forum/sujet/${
  203.                                     value.id
  204.                                 }">
  205.                                     <div class="input-group">
  206.                                         <input class="form-control col-md-6" type="text" value="${
  207.                                     value.sujet
  208.                                 }"
  209.                                             name="sujetName" placeholder="Nom de sujet" required>
  210.                                         <textarea name="sujetDescription" class="form-control col-md-6"
  211.                                                 aria-label="With textarea" placeholder="Description de sujet"
  212.                                                 required>${
  213.                                     value.description
  214.                                 }</textarea>
  215.                                     </div>
  216.                                     <button type="submit" class="btn-slider-text">Modifier</button>
  217.                                     <a class="col-md-10" style="margin-top:10%; margin-bottom:10px;">
  218.                                         <button onclick="supprimerReponse(${
  219.                                     value.id
  220.                                 })" class="btn-slider-text">supprimer
  221.                                         </button>
  222.                                     </a>
  223.                                 </form>
  224.                             </header>
  225.                         </div>
  226.                     </div>
  227.                     `;
  228.                                 $(div).insertBefore(".showMore");
  229.                             } else {
  230.                                 let div = `
  231.                     <div class="container">
  232.                         <div class="card row justify-content-center">
  233.                             <div class="col-md-12 {{ app.request.locale == 'ar_TN' ? 'form_direction_rtl' : 'form_direction_ltr' }}">
  234.                                 <div class="col-md-12">
  235.                                      <h6 class="card-title"><strong>${
  236.                                     value.sujet
  237.                                 }  </strong> 
  238.                                 {% if  app.request.locale == 'ar_TN' %}
  239.                                 <span id="date"> ${formattedDate2} </span></h6>
  240.                                  {% else %}
  241.                                 <span id="date"> ${formattedDate}</span></h6> 
  242.                                 {% endif %}
  243.                                        <hr>
  244.                                      <p class="card-text" >
  245.                                     ${value.description.length > 120 ? value.description.slice(0, 120) + "..." : value.description }
  246.                                 </p>
  247.                                     <a href="/show/forum/detail/${
  248.                                     value.id
  249.                                 }">
  250.                                         <button class="btn-slider-text-forum">{% trans %} forum.index.details {% endtrans %}</button>
  251.                                     </a>
  252.                                 </div>
  253.                             </div>
  254.                         </div>
  255.                     </div>
  256.                     `;
  257.                                 $(div).insertBefore(".showMore");
  258.                             } offset = offset + 1;
  259.                         });
  260.                     }
  261.                 });
  262.             });
  263.         </script>
  264.     {% endblock %}