templates/members/profile.html.twig line 1

Open in your IDE?
  1. {% include "header_pages.html.twig" %}
  2. <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  3. <link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
  4. <script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
  5. <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
  6. <main id="main">
  7.     <section id="doctors" class="doctors">
  8.         <div class="container">
  9.             <div class="section-title">
  10.                 <h2>Profile {{ profile.prenom }} {{ profile.nom }}</h2>
  11.             </div>
  12.             <div class="main-body">
  13.                 <div class="row gutters-sm">
  14.                     <div class="col-md-4 mb-3">
  15.                         <div class="card">
  16.                             <div class="card-body">
  17.                                 <div class="d-flex flex-column align-items-center text-center">
  18.                                     {% if (profile.photoProfil == null) %}
  19.                                         <img src="{{ asset("img/default-user-icon-4.jpg") }}" alt="Admin"
  20.                                              class="rounded-circle" width="150">
  21.                                     {% else %}
  22.                                         <img src="{{ asset("admin/uploads/") ~ profile.photoProfil }}" alt="Admin"
  23.                                              class="rounded-circle" width="150">
  24.                                     {% endif %}
  25.                                     <div class="mt-3">
  26.                                         <h4>{{ profile.prenom }} {{ profile.nom }}</h4>
  27.                                         <li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
  28.                                             <h6 class="mb-0">
  29.                                                 <a href="{{ asset('admin/uploads/'~ profile.CvEn ) }}" download="CV_{{ profile.prenom }}_{{ profile.nom }}"><i
  30.                                                             class="bi bi-file-text">curriculum vitae</i>
  31.                                                 </a> <br>
  32.                                             </h6>
  33.                                         </li>
  34.                                     </div>
  35.                                 </div>
  36.                             </div>
  37.                         </div>
  38.                         <div class="card mt-3">
  39.                             <ul class="list-group list-group-flush">
  40.                                 {% if profile.webPage != null %}
  41.                                     <li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
  42.                                         <h6 class="mb-0">
  43.                                             <a href="{{ profile.webPage starts with 'http' ? profile.webPage : 'https://' ~ profile.webPage }}" class="globe" target="_blank">
  44.                                                 <i class="bi bi-globe"></i> Website</a>
  45.                                         </h6>
  46.                                         <span class="text-secondary"></span>
  47.                                     </li>
  48.                                 {% endif %}
  49.                                 <li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
  50.                                     <h6 class="mb-0">
  51.                                         <a href="mailto: {{ profile.email }}" target="_blank"><i
  52.                                                     class="bi bi-mailbox"></i> Email</a>
  53.                                     </h6>
  54.                                 </li>
  55.                                 {% if profile.linkedin != null %}
  56.                                     <li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
  57.                                         <h6 class="mb-0">
  58.                                             <a href="{{ profile.linkedin }}" class="-linkedin" target="_blank"><i
  59.                                                         class="bi bi-linkedin"></i> Linkedin</a>
  60.                                         </h6>
  61.                                         <span class="text-secondary">link</span>
  62.                                     </li>
  63.                                 {% endif %}
  64.                             </ul>
  65.                         </div>
  66.                         {% if profile.DBLPLink != null or profile.ScopusID != null %}
  67.                             <div class="card mt-3">
  68.                                 <ul class="list-group list-group-flush">
  69.                                     {% if profile.DBLPLink != null %}
  70.                                         <li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
  71.                                             <h6 class="mb-0">
  72.                                                 <a href="{{ profile.DBLPLink }}" target="_blank">DBLP</a>
  73.                                             </h6>
  74.                                             <span class="text-secondary"></span>
  75.                                         </li>
  76.                                     {% endif %}
  77.                                     {% if profile.ScopusID != null %}
  78.                                         <li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
  79.                                             <h6 class="mb-0">
  80.                                                 <a href="{{ profile.ScopusID }}" target="_blank">SCOPUS</a>
  81.                                             </h6>
  82.                                         </li>
  83.                                     {% endif %}
  84.                                 </ul>
  85.                             </div>
  86.                         {% endif %}
  87.                     </div>
  88.                     <div class="col-md-8">
  89.                         <div class="card mb-3">
  90.                             <div class="card-body">
  91.                                 <div class="row">
  92.                                     <div class="col-sm-3">
  93.                                         <h6 class="mb-0">First Name</h6>
  94.                                     </div>
  95.                                     <div class="col-sm-9 text-secondary">
  96.                                         {{ profile.prenom }}
  97.                                     </div>
  98.                                 </div>
  99.                                 <hr>
  100.                                 <div class="row">
  101.                                     <div class="col-sm-3">
  102.                                         <h6 class="mb-0">Last Name</h6>
  103.                                     </div>
  104.                                     <div class="col-sm-9 text-secondary">
  105.                                         {{ profile.nom }}
  106.                                     </div>
  107.                                 </div>
  108.                                 <hr>
  109.                                 <div class="row">
  110.                                     <div class="col-sm-3">
  111.                                         <h6 class="mb-0"> Address</h6>
  112.                                     </div>
  113.                                     <div class="col-sm-9 text-secondary">
  114.                                         {{ profile.adresse }}
  115.                                     </div>
  116.                                 </div>
  117.                                 <hr>
  118.                                 <div class="row">
  119.                                     <div class="col-sm-3">
  120.                                         <h6 class="mb-0">Zip code</h6>
  121.                                     </div>
  122.                                     <div class="col-sm-9 text-secondary">
  123.                                         3038
  124.                                     </div>
  125.                                 </div>
  126.                                 <hr>
  127.                                 <div class="row">
  128.                                     <div class="col-sm-3">
  129.                                         <h6 class="mb-0">Biography </h6>
  130.                                     </div>
  131.                                     <div class="col-sm-9 text-secondary">
  132.                                         {{ profile.ShBiography }}
  133.                                     </div>
  134.                                 </div>
  135.                                 {% if profile.ResKeywords != null %}
  136.                                     <hr>
  137.                                     <div class="row">
  138.                                         <div class="col-sm-3">
  139.                                             <h6 class="mb-0"> Research Interests</h6>
  140.                                         </div>
  141.                                         <div class="col-sm-9 text-secondary">
  142.                                             {{ profile.ResKeywords }}
  143.                                         </div>
  144.                                     </div>
  145.                                 {% endif %}
  146.                                 <!--<hr>
  147.                             <div class="row">
  148.                                 <div class="col-sm-3">
  149.                                     <h6 class="mb-0">ResearcherID </h6>
  150.                                 </div>
  151.                                 <div class="col-sm-9 text-secondary">
  152.                                     {{ profile.ResKeywords }}
  153.                                 </div>
  154.                             </div>-->
  155.                             </div>
  156.                         </div>
  157. <div> <span class="badge bg-primary">H-index: {{ h_index }}</span>&nbsp; <span class="badge bg-primary">Total citation: {{total_citations}}</span></div>
  158. <canvas id="citationsChart" height="120"></canvas>
  159.  <div class="card">
  160.         <h4>📚 Scientific Publications</h4>
  161.     
  162. {% if publicationsMembre is not empty %}
  163.     <table id="publicationsTable" class="display">
  164.         <thead>
  165.             <tr>
  166.                 <th>Title & Authors</th>
  167.                 <th>Conference/Revue</th>
  168.                 <th>Year</th>
  169.                 <th>Citations</th>
  170.             </tr>
  171.         </thead>
  172.         <tbody>
  173.             {% for pub in publicationsMembre %}
  174.                 <tr>
  175.                     <td><a href="{{ pub.link }}"
  176.                                                                    target="_blank">{{ pub.titre }}</a><br><span>{{ pub.authors }}</span></td>
  177.                     <td>{{ pub.venue }}</td>
  178.                     <td>{{ pub.year }}</td>
  179.                     <td>{{ pub.citations }}</td>
  180.                 </tr>
  181.             {% endfor %}
  182.         </tbody>
  183.     </table>
  184. {% else %}
  185.     <div class="alert alert-info">No publication's.</div>
  186. {% endif %}
  187.     </div>
  188.                                         </div>
  189.             </div>
  190.         </div>
  191.     </section>
  192. </main><!-- End #main -->
  193. <script>
  194.     $(document).ready(function() {
  195.         $('#publicationsTable').DataTable({
  196.             "pageLength": 10,  // nombre de publications par page par défaut
  197.             "lengthMenu": [5, 10, 25, 50, 100],
  198.             "order": [[ 3, "desc" ]] // tri par année décroissante
  199.         });
  200.     });
  201. </script>
  202. <script>
  203.     const ctx = document.getElementById('citationsChart').getContext('2d');
  204.     const citationsChart = new Chart(ctx, {
  205.         type: 'bar',
  206.         data: {
  207.             labels: {{ citationsYears|json_encode|raw }},
  208.             datasets: [{
  209.                 label: 'Citations',
  210.                 data: {{ citationsCounts|json_encode|raw }},
  211.                 backgroundColor: 'rgba(54, 162, 235, 0.7)',
  212.                 borderColor: 'rgba(54, 162, 235, 1)',
  213.                 borderWidth: 1
  214.             }]
  215.         },
  216.         options: {
  217.             responsive: true,
  218.             scales: {
  219.                 y: { beginAtZero: true }
  220.             }
  221.         }
  222.     });
  223. </script>
  224. {% include "footer.html.twig" %}
  225. <style>
  226.     .th-scientific-pub {
  227.         background-color: #e2e2e2;
  228.         padding: 15px 12px 15px 8px;
  229.         white-space: nowrap;
  230.         color: #007095;
  231.         font-size: 16px;
  232.         margin-bottom: 1rem !important;
  233.     }
  234.     @media (min-width: 768px) {
  235.         .col-md-4 {
  236.             flex: 0 0 auto;
  237.             width: 24.33333333%;
  238.         }
  239.     }
  240.     @media (min-width: 768px) {
  241.         .col-md-8 {
  242.             flex: 0 0 auto;
  243.             width: 75.66666667%;
  244.         }
  245.     }
  246. </style>