templates/site/evenement.html.twig line 1

Open in your IDE?
  1. {% extends '/site/base_site.html.twig' %}
  2. {% block title %}{{evenement.titre}}{% endblock %}
  3. {% block metadescription %}{{evenement.metadescription is not null ? evenement.metadescription }}{% endblock %}
  4. {% block body %}
  5.     {% set jours = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'] %}
  6.     {% set mois = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ] %}
  7.  
  8.     {# {% if evenement.enteteMasque == false %}
  9.         <div class="eventEntete charteLigne {{evenement.enteteMasque == true ? 'eventEnteteMasque' }}" style="background-image:url('/site/upload/{{evenement.bandeau}}');">
  10.             <h1><span>{{evenement.titre}}</span></h1>
  11.             <p><span><i class="fas fa-map-marker-alt"></i> {{evenement.ville}}</span></p>
  12.             <p><span><i class="fas fa-calendar-alt"></i> {{evenement.date|date('j')}} {{mois[evenement.date|date('n')-1]}} {{evenement.date|date('Y')}}</span></p>
  13.         </div>
  14.     {% else %}
  15.         <div class="eventEntete demarcheEntete bgEntete eventEntete2">
  16.             <p class="bandeauTitre">&Eacute;vénement</p>
  17.             <img src="/site/upload/{{evenement.bandeau}}" class="visuel" />
  18.         </div>
  19.     {% endif %} #}
  20.         <header style="background-image:url('/site/upload/{{evenement.bandeauFond}}');">
  21.         <div class="wrapper">
  22.             <img src="/site/upload/{{evenement.bandeau}}" class="logo" />
  23.         </div>
  24.     </header>
  25.     <div class="homeBgBlanc">
  26.         <div class="wrapper event">
  27.             {% if inscription is not null and questionnaire is not defined  %}
  28.             <div style="padding:70px 0; text-align:center;">
  29.             
  30.                 {# {% if evenement.id == 6 %}
  31.                 <script>
  32.                     window.lintrk('track', { conversion_id: 12541986 });
  33.                 </script>
  34.                 {% endif %} #}
  35.                 <h2>Merci !</h2>
  36.                 <p style="font-size: 1.7em;">Votre inscription a bien été enregistrée.</p>    
  37.             </div>
  38.             {% endif %}
  39.             <div class="intro">
  40.                 {% if evenement.introTitre is not empty %}
  41.                 <h1>{{evenement.introTitre|raw}}</h1>
  42.                 {% endif %}
  43.                 
  44.                 {% if evenement.introTexte is not empty %}
  45.                 <p>{{evenement.introTexte|raw}}</p>
  46.                 {% endif %}
  47.                 
  48.             </div>
  49.             <div class="eventDetail">
  50.                 <div class="eventTexte">
  51.                     <div class="eventPratique">
  52.                         <div class="eventPratiqueQuand">
  53.                             <i class="fas fa-calendar-alt"></i> 
  54.                             {% if evenement.programmeOrder|length > 1 %}
  55.                                 {% for jour in evenement.programmeOrder %}
  56.                                     {% for item in jour %}
  57.                                         {% if loop.index0 == 0 %}
  58.                                         <p>{{item.jour|date('j')}} {{mois[item.jour|date('n')-1]}} {{item.jour|date('Y')}}</p>
  59.                                         {% endif %}                                    
  60.                                     {% endfor %}
  61.                                 {% endfor %}
  62.                             {% else %}
  63.                                 <p>{{evenement.date|date('j')}} {{mois[evenement.date|date('n')-1]}} {{evenement.date|date('Y')}}</p>
  64.                                 <p>{{evenement.heure|date('H')}}h{{evenement.heure|date('i')}}</p>
  65.                             {% endif %}
  66.                             
  67.                             
  68.                         </div>
  69.                         <div class="eventPratiqueOu">
  70.                             <i class="fas fa-map-marked-alt"></i>
  71.                             <p>{{evenement.ville}}</p>
  72.                             {% if evenement.lieu is not null %}
  73.                             <p>{{evenement.lieu}}</p>                            
  74.                             {% endif %}                            
  75.                         </div>
  76.                         {# {% if evenement.fichiers|length %}
  77.                         <div class="eventPratiqueDoc">
  78.                             <h4><i class="fas fa-download"></i> Ressources</h4>
  79.                             {% for item in evenement.fichiers %}
  80.                             <p><a href="/uploaddoc/{{item.fichier}}" download>{{item.titre}}</a></p>                            
  81.                             {% endfor %}
  82.                         </div>
  83.                         {% endif %} #}
  84.                     </div>
  85.                     <div class="eventDescription">
  86.                     <h1 style="color: #21d4ba;font-size: 1.5em;">{{evenement.titre}}</h1>
  87.                     {{evenement.texte|raw}}
  88.                     </div>
  89.                     
  90.                     {% if evenement.fichiers|length %}
  91.                     <div class="eventRestitution">
  92.                         <span>Restitution</span>
  93.                         {% for item in evenement.fichiers %}
  94.                         <p>{{item.titre}}</p>                        
  95.                         <a href="/uploaddoc/{{item.fichier}}">Télécharger</a>                        
  96.                         {% endfor %}
  97.                     </div>
  98.                     {% endif %}
  99.                     {% if inscription is null and evenement.date|date('Ymd')>"now"|date('Ymd') %}
  100.                     <div><a href="#form" class="btShowForm btEffects"> <i class="fas fa-angle-double-right"></i> Je m'inscris <i class="fas fa-angle-double-left"></i></a></div>
  101.                     {% endif %}
  102.                 </div>
  103.                 <div class="eventRecap">
  104.                     
  105.                     <div class="eventEnjeux">
  106.                         <h2><i class="fas fa-angle-double-right"></i> Les enjeux</h2>
  107.                         <ul>
  108.                             {{evenement.enjeux|toList|raw}}
  109.                         </ul>
  110.                     </div>
  111.                     <div class="eventVideo">
  112.                         
  113.                         {% set first = true %}
  114.                         {% for item in evenement.galeries %}
  115.                             {% if item.youtube is not null and item.youtube is not empty %}
  116.                                 {% if first %}
  117.                                     <span>VIDÉO</span>
  118.                                     {% set first = false %}
  119.                                 {% endif %}
  120.                                 {% if item.titre is not empty %}
  121.                                 <p style="margin-bottom:0px;">{{item.titre}}</p>
  122.                                 {% endif %}
  123.                                 
  124.                                 <a href="{{item.youtube}}" style="background-image:url('/site/upload/{{item.photo|replace({'mini_':''})}}');"></a>
  125.                             {% endif %}
  126.                         {% endfor %}
  127.                     </div>
  128.                 </div>
  129.             </div>
  130.             <div class="wrapper inscription">
  131.                 {% if inscription is null and questionnaire is not defined %}
  132.                     <a name="form"></a>
  133.                     <div id="inscriptionForm" class="formulaire" style="display:none;">
  134.                     {% if contact is not null %}
  135.                         <h2>Pour terminer votre inscription, vérifiez les informations du formulaire puis validez.</h2> 
  136.                                  
  137.                     {% else %}
  138.                         <h2>Pour terminer votre inscription, saisissez les informations du formulaire puis validez.</h2>                          
  139.                     {% endif %}
  140.                     
  141.                     <form action="{{path('site_evenement', {'titre':titre, 'idevent':idevent, 'idmessage':idmessage, 'hashmessage': idmessage|shasalt, 'iduser':iduser, 'hashuser':iduser|shasalt })}}" method="POST">
  142.                         <div class="formCol">
  143.                             <div class="formgroup">
  144.                                 <div><label>Civilité</label></div>
  145.                                 <div>
  146.                                     <select name="civilite">
  147.                                         <option value="M." {{contact is not null and contact.civilite == "M." ? 'selected'}}>M.</option>
  148.                                         <option value="Mme" {{contact is not null and contact.civilite == "Mme" ? 'selected'}}>Mme</option>
  149.                                     </select>
  150.                                 </div>
  151.                             </div>
  152.                             <div class="formgroup">
  153.                                 <div><label>Nom</label></div>
  154.                                 <div>
  155.                                     <input type="text" name="nom" value="{{contact is not null ? contact.nom}}" required />
  156.                                 </div>
  157.                             </div>
  158.                             <div class="formgroup">
  159.                                 <div><label>Prénom</label></div>
  160.                                 <div>
  161.                                     <input type="text" name="prenom" value="{{contact is not null ? contact.prenom}}" required />
  162.                                 </div>
  163.                             </div>
  164.                             <div class="formgroup">
  165.                                 <div><label>Email</label></div>
  166.                                 <div>
  167.                                     <input type="text" name="email" value="{{contact is not null ? contact.email}}" required />
  168.                                 </div>
  169.                             </div>
  170.                             <div class="formgroup">
  171.                                 <div><label>Fonction</label></div>
  172.                                 <div>
  173.                                     <input type="text" name="fonction" value="{{contact is not null ? contact.fonction}}" required />
  174.                                 </div>
  175.                             </div>
  176.                             <div class="formgroup">
  177.                                 <div><label>Entité / Collectivité</label></div>
  178.                                 <div>
  179.                                     <input type="text" name="societe" value="{{contact is not null ? contact.societe}}" required />
  180.                                 </div>
  181.                             </div>
  182.                         </div>
  183.                         <div class="formCol">
  184.                             {% if evenement.id == 5 %}
  185.                             <div class="formgroup">
  186.                                 <div style="margin:30px 0;">
  187.                                 <label><input type="checkbox" name="integralite" /> Je souhaite participer à l'intégralité de l'événement, les 21 et 22 février</label>
  188.                                 </div>
  189.                             </div>
  190.                             <div class="formgroup">
  191.                                 <div style="margin:30px 0;">
  192.                                 <label><input type="checkbox" name="visite" /> Je participerai uniquement à la visite de la plateforme bois, le 21 février</label>
  193.                                 </div>
  194.                             </div>
  195.                             <div class="formgroup">
  196.                                 <div style="margin:30px 0;">
  197.                                 <label><input type="checkbox" name="navette" />
  198.                                 Pour la visite de la plateforme bois du mardi 21 février, je souhaite prendre la navette qui sera disponible au départ du centre-ville de Périgueux à 14h00</label>
  199.                                 </div>
  200.                             </div>
  201.                             <div class="formgroup">
  202.                                 <div style="margin:30px 0;">
  203.                                 <label><input type="checkbox" name="deuxieme" />Je participerai uniquement au programme du 22 février</label>
  204.                                 </div>
  205.                             </div>
  206.                             {% endif %}
  207.                             <div class="formgroup" {{evenement.id == 6 or evenement.id == 8  or evenement.id == 2 ? 'style="display:none;"'}}>
  208.                                 <div style="margin:30px 0;">
  209.                                 <label><input type="checkbox" name="hebergement" /> Je souhaite bénéficier d'un hébergement pour la veille de l'évènement (pris en charge par ENGIE Solutions)</label>
  210.                                 </div>
  211.                             </div>
  212.                             <div class="formgroup">
  213.                                 <div style="margin:30px 0;">
  214.                                 <label><input type="radio" name="droitImage" id="consentRadio" value="1" required /> Je consens à la captation et exploitation de mon image au cours du déroulement de l'événement organisé par ENGIE Solutions</label>
  215.                                 </div>
  216.                                 <div style="margin:30px 0;">
  217.                                 <label><input type="radio" name="droitImage" value="0" required /> Je refuse que la captation et exploitation de mon image soit opérée par ENGIE Solutions pendant le déroulement de l'événement et j'en avertirai le photographe</label>
  218.                                 </div>
  219.                             </div>
  220.                             <br/>
  221.                             <div style="text-align:center;">
  222.                                 <input type="submit" value="Valider mon inscription" />
  223.                             </div>
  224.                             <div>
  225.                             <p>ENGIE ENERGIE SERVICES - agissant sous la marque ENGIE Solutions traite les données recueillies aux fins d'inscription aux évènements qu'elle organise.
  226.                             Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, reportez-vous à <a href="{{path('site_rgpd')}}">la notice</a>.<br/>
  227.                             RGPD : Les données à caractère personnel du formulaire sont collectées par ENGIE ENERGIE
  228.                             SERVICES - ENGIE Solutions en qualité de responsable de traitement sur la base de son intérêt
  229.                             légitime de gestion des relations commerciales et a pour sous finalité l'organisation
  230.                             d'événements lien avec son activité à destination de ses client et prospects. Pour en savoir
  231.                             plus sur les caractéristiques des traitement réalisés sur vos données <a href="{{path('site_rgpd')}}">cliquez ici</a></p>
  232.                             </div>
  233.                         </div>
  234.                         <div id="modalConsent" class="modal" style="display: none;">
  235.                             <div class="modal-content">
  236.                                 <span class="close">&times;</span>
  237.                                 <h2>Confirmation de votre consentement à la captation</h2>
  238.                                 {# <h3><span>1</span> Prenez connaissance des modalités</h3> #}
  239.                                 <h3>Merci de prendre connaissance des modalités puis de valider</h3>
  240.                                 <div id="modalites">
  241.                                               <h1><strong>AUTORISATION POUR L&rsquo;UTILISATION DE L&rsquo;IMAGE ET DES DONNEES PERSONNELLES D&rsquo;UNE PERSONNE - PHOTO ET VIDEO (personne externe)</strong></h1>
  242.                                                 <h2><strong>I &ndash; Droit &agrave; l&rsquo;image </strong></h2>
  243.                                                 <p>Je d&eacute;clare &ecirc;tre majeur et autorise ENGIE Solutions et/ou ses filiales &agrave; exploiter et notamment &agrave; diffuser, &agrave; reproduire, &agrave; repr&eacute;senter et &agrave; exposer mon image fix&eacute;e sur support photo et vid&eacute;o lors du reportage ayant pour th&egrave;me <em><strong>{{evenement.titre}} </strong></em></p>
  244.                                                 <p><strong>R&eacute;alis&eacute; le </strong><em><strong> {{evenement.date|date('d/m/Y')}} </strong></em><strong>&agrave; </strong><em><strong> {{evenement.ville}} .</strong></em></p>
  245.                                                 <p>Je suis inform&eacute;(e) que mon image pourra &ecirc;tre utilis&eacute;e &agrave; des fins de communication et de promotion d&rsquo;ENGIE Solutions, de ses filiales et de ses produits et services en France et dans le monde entier. ENGIE Solutions pourra exploiter ou faire exploiter mon image sous toute forme, par tout proc&eacute;d&eacute; (notamment num&eacute;rique) connu ou inconnu &agrave; ce jour et sur tout support connu ou non encore connu &agrave; ce jour et notamment :</p>
  246.                                                 <h3><strong>Pour la vid&eacute;o : </strong></h3>
  247.                                                 <p>-Internet avec achat d&rsquo;espace (incluant internet mobile et objets connect&eacute;s) : tous sites internet, incluant ceux &eacute;dit&eacute;s par ENGIE Solutions ou ses filiales, r&eacute;seaux sociaux (Facebook, Twitter, Instagram, Snapchat, LinkedIn, etc.), sites de partage de vid&eacute;os (YouTube, Dailymotion, etc.), applications mobiles, blogs, vlogs, incluant tout type d&rsquo;achat d&rsquo;espace tels que banni&egrave;res publicitaires, posts sponsoris&eacute;s, pr&eacute;-roll, sous tout format tel que vid&eacute;o, jpeg, png et gif,</p>
  248.                                                 <p>- Diffusion sur un ordinateur ou un r&eacute;seau informatique, et notamment internet, intranet, site web, site wap, applications internet mobiles, sites internet mobiles, en ce inclus les sites d&rsquo;ENGIE Solutions et/ou de ses filiales,</p>
  249.                                                 <p>- Diffusion sur les pages des sites de r&eacute;seaux sociaux, les pages des sites de partage vid&eacute;o et les cha&icirc;nes de sites de partage vid&eacute;o d&rsquo;ENGIE Solutions et de ses filiales,</p>
  250.                                                 <h3><strong>Pour la photo : </strong></h3>
  251.                                                 <p>- Editions sous toutes ses formes, y compris documents de communication destin&eacute;s &agrave; restituer l&rsquo;&eacute;v&egrave;nement</p>
  252.                                                 <p>- Diffusion sur un ordinateur ou un r&eacute;seau informatique, et notamment internet, intranet, site web, site wap, applications internet mobiles, sites internet mobiles, en ce inclus les sites d&rsquo;ENGIE Solutions et/ou de ses filiales,</p>
  253.                                                 <p>J&rsquo;accepte que mon image soit adapt&eacute;e (recadrage ou extrait) en fonction du support sur lequel elle sera reproduite, d&egrave;s lors que celle-ci n&rsquo;est pr&eacute;judiciable ni &agrave; mon honneur, ni &agrave; ma r&eacute;putation.</p>
  254.                                                 <p>Cette autorisation est valable 5 ans &agrave; compter de la date de sa signature et est consentie &agrave; titre gracieux et pour le monde entier.</p>
  255.                                                 <h2><strong>II &ndash; Protection de mes donn&eacute;es personnelles </strong></h2>
  256.                                                 <p>Le traitement de donn&eacute;es personnelles issu de la participation aux &eacute;v&egrave;nements organis&eacute;s par ENGIE Solutions est mis en &oelig;uvre par ENGIE ENERGIE SERVICES &ndash; agissant sous la marque ENGIE Solutions dont le si&egrave;ge se situe&nbsp;au 1 Place Samuel de Champlain, Faubourg de l&rsquo;Arche, 92930 Paris la D&eacute;fense. Mes donn&eacute;es seront collect&eacute;es sur la base de mon consentement afin d&rsquo;int&eacute;grer aux fins d&rsquo;utilisation &agrave; des fins de communication et de promotion d&rsquo;ENGIE Solutions.</p>
  257.                                                 <p>Mes donn&eacute;es seront conserv&eacute;es pendant la dur&eacute;e de l&rsquo;autorisation d&rsquo;utilisation de mon image telle que d&eacute;finie ci-dessus et seront r&eacute;serv&eacute;es prioritairement aux actions de communication interne et externe de ENGIE Solutions et dans tous les cas, &agrave; un usage strictement professionnel. Mes donn&eacute;es ne peuvent &ecirc;tre communiqu&eacute;es qu&rsquo;aux destinataires suivants : (i) les &eacute;quipes de la direction de la communication d&rsquo;ENGIE Solutions, (ii) toute entit&eacute; tierce avec laquelle ENGIE Solutions a confi&eacute; la r&eacute;alisation pour son compte de tout ou partie des actions de communication pr&eacute;cit&eacute;es, ainsi que (iii) tout salari&eacute; d&rsquo;ENGIE Solutions ayant demand&eacute; d&rsquo;avoir acc&egrave;s &agrave; mes donn&eacute;es pour le seul usage pr&eacute;cit&eacute;.</p>
  258.                                                 <p>Conform&eacute;ment &agrave; la r&egrave;glementation applicable, je peux demander l&rsquo;acc&egrave;s, la rectification ou l&rsquo;effacement de mes donn&eacute;es personnelles. Je dispose &eacute;galement d&rsquo;un droit d&rsquo;opposition et de limitation de mes donn&eacute;es personnelles. La collecte et le traitement de mes donn&eacute;es personnelles &eacute;tant fond&eacute;s sur mon consentement, j&rsquo;ai la possibilit&eacute; de le retirer &agrave; tout moment, mais ce retrait ne compromet pas la lic&eacute;it&eacute; du traitement effectu&eacute; ant&eacute;rieurement. Je peux exercer l&rsquo;ensemble de ces droits en adressant un email et en pr&eacute;cisant l&rsquo;&eacute;v&eacute;nement concern&eacute; par courrier postal &agrave; l&rsquo;adresse suivante :&nbsp; ENGIE Energie Services, A l&rsquo;attention du Data Privacy Manager, Tour T1 &ndash; Case courrier 13.12 &ndash; 1 place Samuel de Champlain &ndash; Faubourg de l&rsquo;Arche - 92930 Paris La D&eacute;fense Cedex &ndash; France ou par voie &eacute;lectronique, &agrave; l&rsquo;adresse suivante : <a href="mailto:dpm.engie-solutions@engie.com" target="_blank">dpm.engie-solutions@engie.com</a>.&nbsp;Toute demande devra &ecirc;tre accompagn&eacute;e d&rsquo;un justificatif d&rsquo;identit&eacute;. Je suis &eacute;galement inform&eacute;(e) que je peux faire valoir mes droits aupr&egrave;s de la CNIL au sujet du traitement de mes donn&eacute;es par ENGIE Solutions.<br />
  259.                                                 J&rsquo;ai lu la pr&eacute;sente autorisation de droit &agrave; l&rsquo;image et je l&rsquo;accepte<br />
  260.                                                 J&rsquo;ai lu la mention d&rsquo;information ci-dessus et je consens &agrave; ce que mes donn&eacute;es personnelles soient trait&eacute;es dans les conditions d&eacute;crites ci-dessus.</p>
  261.                                 </div>
  262.                                 {# <h3><span>2</span> Signez en indiquant votre nom et prénom</h3>
  263.                                 <input type="text" placeholder="Indiquez ici votre nom et prénom" id="nomprenomConsentement" name="nomprenomConsentement" /> #}
  264.                                 <div class="btsConsentement">
  265.                                     <span class="btConsentement" id="refuserConsentement">Refuser</span>
  266.                                     <span class="{#disabled#} btConsentement" id="validerConsentement">Accepter</span>
  267.                                 </div>
  268.                             </div>
  269.                         </div>
  270.                     </form>
  271.                     </div>
  272.                 {% endif %}
  273.             </div>
  274.         </div>
  275.     </div>
  276.     {% if evenement.galeries|length and "now"|date('Ymd') < (evenement.date|date('Ymd') + 50000) %}
  277.     <div class="galerieContainer">
  278.         <div class="wrapper">
  279.                 <h2>Galerie photos</h2>
  280.                 <div>
  281.                     <i class="fas fa-angle-double-left" id="galerieGauche"></i>
  282.                     <i class="fas fa-angle-double-right" id="galerieDroite"></i>
  283.                     <ul class="galerie" id="galerie">
  284.                         {% for item in evenement.galeries %}
  285.                             {% if item.youtube is empty %}
  286.                                 <li style="order:{{item.ordre}}">             
  287.                                     <img src="/site/upload/mini_{{item.photo}}" onclick="openGallery({{item.ordre}});" />
  288.                                 </li>
  289.                             {% endif %}                        
  290.                         {% endfor %}
  291.                     </ul>
  292.                 </div>
  293.         </div>
  294.     </div>
  295.     {% endif %}
  296.     {% if evenement.programmes|length >0 %}
  297.     <div class="eventProgrammeContainer">
  298.         <div class="wrapper" style="position:relative;">
  299.             <h2>Découvrez le programme complet</h2>
  300.             {# {% if evenement.date|date('Ymd')<"now"|date('Ymd') %} #}
  301.                 <span style="position:absolute; top:0; right:0;font-size: 2em;display: inline-block;background: transparent;padding: .2em 0.45em;border-radius: 50%;color: #23dbc0;border: 4px solid #23dbc0;" id="toggleProg"><i class="fas fa-angle-double-down" id="progBt"></i></span>
  302.             {# {% endif %} #}
  303.             <div id="programme" {% if evenement.date|date('Ymd')<"now"|date('Ymd') %}style="display:none;"{% endif %}>
  304.                 {% for jour in evenement.programmeOrder %}
  305.                     {% for item in jour %}
  306.                     <div class="itemProgramme">
  307.                         {% if loop.index0 == 0 %}
  308.                         <p class="date">{{item.jour|date('j')}} {{mois[item.jour|date('n')-1]}} {{item.jour|date('Y')}}</p>
  309.                         {% endif %}
  310.                         <div class="eventProgramme">
  311.                             
  312.                             <div {{item.chapo == "" and item.texte == "" ? 'class="eventProgrammeEmpty"'}}>
  313.                                 <p class="horaire">{{item.heureDebut|date('H')}}h{{item.heureDebut|date('i')!="00" ? item.heureDebut|date('i')}} 
  314.                                     {% if item.heureFin is not null %}
  315.                                     - {{item.heureFin|date('H')}}h{{item.heureFin|date('i')!="00" ? item.heureFin|date('i')}}
  316.                                     {% endif %}
  317.                                 </p>
  318.                                 <h3>{{item.titre}}</h3>
  319.                             </div>
  320.             
  321.                             <div class="itemProgrammeTexte" >
  322.                                 {% if item.chapo != "" %}
  323.                                     <p>{{item.chapo|raw|nl2br}}</p>
  324.                                 {% endif %}
  325.                                 {% if item.texte != "" %}
  326.                                     <p>{{item.texte|raw|nl2br}}</p>
  327.                                 {% endif %}                                
  328.                             </div>
  329.                         </div>
  330.                         
  331.                     </div>
  332.                     {% endfor %}
  333.                 {% endfor %}
  334.             </div>
  335.         </div>
  336.         {% if inscription is null and evenement.date|date('Ymd')>"now"|date('Ymd') %}
  337.         <div class="eventProgrammeInscription"><a href="#form" class="btShowForm btEffects"> <i class="fas fa-angle-double-right"></i> Je m'inscris <i class="fas fa-angle-double-left"></i></a></div>    
  338.         {% endif %}
  339.     {% endif %}
  340.     </div>
  341.     {# <div class="eventComplements wrapper">
  342.         <div class="eventDocuments">
  343.             <h2><i class="fas fa-angle-double-right"></i> Documents</h2>
  344.             <div>
  345.                 <p><i class="fas fa-file-download"></i> <a href="">Plan d'accès</a></p>
  346.                 <p><i class="fas fa-file-download"></i> <a href="">Plan d'accès</a></p>
  347.             </div>
  348.         </div>
  349.     </div> #}
  350.     {% if evenement.infoPratique is not null and (evenement.date is null or (evenement.date is not null and evenement.date|date('Ymd') >= "now"|date('Ymd') ))   %}
  351.     <div class="infoPratique">
  352.         <div class="wrapper">
  353.             <h2><i class="fas fa-angle-double-right"></i> Informations pratiques</h2>
  354.             <div class="infoPratiqueContent">
  355.                 {% if evenement.infoPratiqueMap is not null %}
  356.                 <div class="infoPratiqueMap"><img src="/site/upload/{{evenement.infoPratiqueMap}}" /></div>
  357.                 {% endif %}
  358.                 
  359.                 <div class="infoPratiqueText">{{evenement.infoPratique|raw}}</div>
  360.             </div>
  361.             
  362.         </div>
  363.     </div>
  364.     {% else %}
  365.             
  366.     
  367.     {% endif %}
  368.     {% if intervenants|length > 0 %}
  369.     <div class="homeIntervenants">
  370.         <div class="wrapper">
  371.             <h2><i class="fas fa-angle-double-right"></i> Intervenants</h2>
  372.             <ul>
  373.                 {% for item in intervenants %}
  374.                 <li>
  375.                     {% if item.intervenant.image is not null %}
  376.                         <div style="background-image:url('/site/upload/{{item.intervenant.image}}');">
  377.                         </div>
  378.                     {% else %}
  379.                         <div style="background-image:url('/site/img/profile.jpg');">   
  380.                         </div>
  381.                     {% endif %}
  382.                     <div>
  383.                         <p class="nom">{{item.intervenant.prenom}} {{item.intervenant.nom}}</p>
  384.                         <p class="poste">{{item.intervenant.poste}}</p>
  385.                         <p class="societe">{{item.intervenant.societe}}</p>
  386.                         {% if item.intervenant.linkedin is not null %}
  387.                             <a href="{{item.intervenant.linkedin}}" target="_blank"><i class="fab fa-linkedin"></i></a>
  388.                         {% endif %}
  389.                     </div>
  390.                 </li>
  391.                 {% endfor %}
  392.             </ul>
  393.         </div>
  394.     </div>        
  395.     {% endif %}
  396.     {% if evenement.articles is defined and evenement.articles|filter(a => a.datePublication is not null and a.datePublication|date('Ymd') <= "now"|date('Ymd'))|length > 0 %}
  397.     <div style="padding: 60px 0;background-color: #dcf9f4 !important;">
  398.         <div class="wrapper articles">
  399.             <h2><i class="fas fa-angle-double-right"></i> Pour aller plus loin</h2>
  400.             <ul>
  401.                 {% for item in evenement.articles|filter(a => a.datePublication is not null and a.datePublication|date('Ymd') <= "now"|date('Ymd') ) %}
  402.                 <li>
  403.                     <a href="{{path('site_ressources_article', {'slug': item.slug} )}}">
  404.                     <span class="img" style="background-image:url('/site/upload/{{item.vignette}}');"></span>   
  405.                     <span class="titre">{{item.titre}}</span>
  406.                     </a>
  407.                     <span class="extract"><i>{{item.date|date('d/m/y')}}</i> {{item.chapo|extract|raw}}</span>
  408.                     <span class="themes">
  409.                         {% for theme in item.themes %}
  410.                         <b>{{theme.titre}}</b>&nbsp;&nbsp;
  411.                         {% endfor %}
  412.                     </span>
  413.                 </li>
  414.                 {% endfor %}
  415.             </ul>
  416.         </div>
  417.     </div>
  418.     {% endif %}
  419.     
  420.     <div class="homeEventPassed">
  421.         <div class="wrapper homeEvent ">
  422.             <h2><i class="fas fa-angle-double-right"></i>
  423.             {% if evenementsPrev is defined and evenementsPrev is not null %}
  424.                 {% set evenementsNext = evenementsPrev %}
  425.                 Revivez les derniers événements
  426.             {% else %}
  427.                 Prochains rendez-vous
  428.             {% endif %}    </h2>
  429.             <ul>
  430.                 {% for item in evenementsNext %}
  431.                 <li {{evenementsPrev is defined and evenementsPrev is not null ? 'class="archive"'}}>
  432.                     <div style="background-image:url('/site/upload/{{item.vignette}}');">
  433.                         {% if item.date is not null %}
  434.                         <a href="{{path('site_evenement', {titre:item.titre|slugify, idevent:item.id})}}"><span><i>{{item.titre}}</i></span></a>
  435.                         {% else %}
  436.                         <span><i>{{item.titre}}</i></span>
  437.                                                     
  438.                         {% endif %}
  439.                     </div>
  440.                     {% if item.soustitre is not null %}
  441.                     <p class="soustitre">{{item.soustitre}}</p>
  442.                     {% endif %} 
  443.                     <p><i class="fas fa-map-marker-alt"></i> {{item.ville}}</p>
  444.                     {% if item.date is not null %}
  445.                     <p><i class="fas fa-calendar-alt"></i> {{item.date|date('j')}} {{mois[item.date|date('n')-1]}} {{item.date|date('Y')}}</p>
  446.                     {% else %}
  447.                     <p><i class="fas fa-calendar-alt"></i> A définir</p>
  448.                     {% endif %}
  449.                 </li>
  450.                 {% endfor %}
  451.             </ul>
  452.         </div>
  453.     </div>
  454.     
  455.     <div id="popupGalerie">
  456.         <div id="popupGalerieContainer">
  457.             <span>
  458.             <img src="" id="popupGalerieImg" />
  459.             <a href="" target="_blank" id="play"><i class="fas fa-play"></i></a>
  460.             {% if evenement.galeries|length >1 %}
  461.             <span class="popupGalerieNav" style="margin-left:-20px; left:auto;"><i class="fas fa-angle-left" data-direction="prev"></i></span>
  462.             <span class="popupGalerieNav popupGalerieNavRight" ><i class="fas fa-angle-right" data-direction="next"></i></span>
  463.             {% endif %}
  464.             <i class="fas fa-times" id="popupGalerieClose"></i>
  465.             </span>
  466.             
  467.         </div>
  468.     </div>
  469. {% endblock %}
  470. {% block extracss %}
  471.     <style>
  472.         .modal {
  473.         position: fixed;
  474.         z-index: 5000;
  475.         left: 0;
  476.         top: 0;
  477.         width: 100%;
  478.         height: 100%;
  479.         background-color: rgba(0, 0, 0, 0.5);
  480.         }
  481.         .modal-content {
  482.         background-color: #fff;
  483.         margin: 40px auto;
  484.         padding: 20px;
  485.         width: 90%;  
  486.         max-width: 840px;
  487.         }
  488.         .modal h2 {
  489.             font-size: 1.8em;
  490.         }
  491.         .modal h3 span {
  492.             display: inline-block;
  493.             border-radius: 50%;
  494.             background: #003a55;
  495.             padding: ;
  496.             height: 20px;
  497.             width: 30px;
  498.             text-align: center;
  499.             padding: 5px 0;
  500.             color: #fff;
  501.         }
  502.         #modalites {
  503.             max-height: 200px;
  504.             overflow-y: scroll;
  505.             background: #ddd;
  506.             padding: 10px 20px;  
  507.             font-size: 1.05em !important;
  508.             line-height: 1.2em;
  509.         }
  510.         #modalites h1 {
  511.             font-size: 1.1em;
  512.             font-weight: bold;
  513.         }
  514.         #modalites h2 {
  515.             font-size: 1.1em;
  516.         }
  517.         #modalites h3 {
  518.             font-size: 0.8em;
  519.         }
  520.         #modalites p {
  521.             margin-top:0;
  522.             color:#000 !important;
  523.         }
  524.         .modal input {
  525.             width: 100%;
  526.             box-sizing: border-box;
  527.             padding: .7em 1em;
  528.         }
  529.         .btsConsentement {
  530.             text-align:center;
  531.             margin:15px 0;
  532.         }
  533.         .btsConsentement span {  
  534.             display: inline-block;
  535.             background-color: #003a55;
  536.             color: #fff;
  537.             text-transform: uppercase;
  538.             font-weight: bold;
  539.             border: 0;
  540.             padding: .8em 1.6em;
  541.             margin: 0 10px;
  542.             cursor: pointer;
  543.         }
  544.         
  545.         #validerConsentement.disabled {  
  546.             background-color: #555;
  547.         }
  548.         #annulerConsentement {
  549.             background-color: #b96868;
  550.         }       
  551.         
  552.         #validerConsentement {
  553.             background-color: #0f640f;
  554.         }
  555.         .close {
  556.         color: #aaa;
  557.         float: right;
  558.         font-size: 28px;
  559.         font-weight: bold;
  560.         }
  561.         .close:hover,
  562.         .close:focus {
  563.         color: black;
  564.         text-decoration: none;
  565.         cursor: pointer;
  566.         }
  567.     </style>
  568. {% endblock %}
  569. {% block extrajs %}
  570.     <script>   
  571.         // Consentement image
  572.         const modal = document.getElementById("modalConsent");
  573.         const consentRadio = document.getElementById("consentRadio");
  574.         //const nomprenomInput = document.getElementById("nomprenomConsentement");
  575.         const closeBtn = document.getElementsByClassName("close")[0];
  576.         const validerButton = document.getElementById("validerConsentement");
  577.         const refuserButton = document.getElementById("refuserConsentement");
  578.         // nomprenomInput.addEventListener("input", function() {
  579.         //     const texte = nomprenomInput.value.trim();
  580.         //     if (texte.length > 5 && texte.split(/\s+/).length > 1) {
  581.         //         validerButton.classList.remove("disabled");
  582.         //         validerButton.classList.add("enabled");
  583.         //     } else {
  584.         //         validerButton.classList.remove("enabled");
  585.         //         validerButton.classList.add("disabled");
  586.         //     }
  587.         // });
  588.         refuserButton.addEventListener("click", function() {
  589.             //nomprenomInput.value = "";
  590.             document.querySelector('input[name="droitImage"][value="0"]').checked = true;            
  591.             modal.style.display = "none";
  592.         });
  593.         consentRadio.addEventListener("change", function() {
  594.             if (consentRadio.checked) {
  595.                 modal.style.display = "block";
  596.             }
  597.         });
  598.         validerButton.onclick = function() {
  599.             //if(this.classList.contains('enabled')) {
  600.                 modal.style.display = "none";
  601.             //}
  602.         }
  603.         
  604.         closeBtn.onclick = function() {
  605.             modal.style.display = "none";
  606.             
  607.         //     const texte = nomprenomInput.value.trim();
  608.         //     if (texte.length < 5 || texte.split(/\s+/).length == 0) {
  609.         //         document.querySelector('input[name="droitImage"][value="0"]').checked = true;     
  610.         //     }
  611.         };
  612.         window.onclick = function(event) {
  613.             if (event.target === modal) {
  614.                 
  615.                 // const texte = nomprenomInput.value.trim();
  616.                 // if (texte.length < 5 || texte.split(/\s+/).length == 0) {
  617.                 //     document.querySelector('input[name="droitImage"][value="0"]').checked = true;    
  618.                 // }
  619.                 modal.style.display = "none";
  620.             }
  621.         };
  622.         document.addEventListener("DOMContentLoaded", function() {
  623.             const galerie = document.getElementById("galerie");
  624.             const flecheGauche = document.getElementById("galerieGauche");
  625.             const flecheDroite = document.getElementById("galerieDroite");
  626.             //const largeurItem = galerie.querySelector("li").offsetWidth;
  627.             const largeurItem = document.getElementById("galerie").offsetWidth;
  628.             if(window.innerWidth >= 480) {
  629.                 
  630.                 flecheGauche.addEventListener("mouseenter", function() {
  631.                     scrollInterval = setInterval(function() {
  632.                         galerie.scrollBy(-2, 0);
  633.                     }, 10);
  634.                 });
  635.                 flecheDroite.addEventListener("mouseenter", function() {
  636.                     scrollInterval = setInterval(function() {
  637.                         galerie.scrollBy(2, 0);
  638.                     }, 10);
  639.                 });
  640.                 flecheGauche.addEventListener("mouseleave", function() {
  641.                     clearInterval(scrollInterval);
  642.                 });
  643.                 flecheDroite.addEventListener("mouseleave", function() {
  644.                     clearInterval(scrollInterval);
  645.                 });
  646.             } else {
  647.                 flecheGauche.addEventListener("click", function() {
  648.                     galerie.scrollBy(-largeurItem+30, 0);
  649.                 });
  650.                 flecheDroite.addEventListener("click", function() {
  651.                     galerie.scrollBy(largeurItem+30, 0);
  652.                 });
  653.             }
  654.         });
  655.         $(function () {
  656.             $('.btShowForm').click(function() {
  657.                 {% if evenement.id == 6 %}
  658.                 console.log('Tag 12541978');
  659.                 window.lintrk('track', { conversion_id: 12541978 });
  660.                 {% endif %}
  661.                 $('#inscriptionForm').fadeIn(400);
  662.                 $('.btInscription').hide();
  663.             });
  664.             
  665.             {% if inscription is not null and questionnaire is not defined and evenement.id == 6 %}
  666.             console.log('Tag 12541986');
  667.             window.lintrk('track', { conversion_id: 12541986 });
  668.             {% endif %}      
  669.         });
  670.         let gallery = [];
  671.         let current = 0;
  672.         {% for item in evenement.galeries %}
  673.             gallery[{{item.ordre}}] = {
  674.                 'photo' : '{{item.photo}}',
  675.                 'youtube' : '{{item.youtube}}'
  676.             };
  677.         {% endfor %}      
  678.         function openGallery(req) {
  679.             current = req;
  680.             $('#popupGalerieImg').css("max-height", ($(window).height()+40)+"px");
  681.             $('#popupGalerieImg').attr('src', '/site/upload/'+gallery[req]['photo']);
  682.             $('#popupGalerie').fadeIn(500, function() {
  683.                 // console.log(gallery[req]['photo']);
  684.                 // console.log($('#popupGalerieImg').height());
  685.                 // $('.popupGalerieNav').css('top', ($('#popupGalerieImg').height()/2)+'px');
  686.             });
  687.             
  688.             //$('#popupGalerieContainer').width($('#popupGalerieImg').width);
  689.             
  690.             if(gallery[req]['youtube'] != "") {
  691.                 $('#play').show();
  692.                 $('#play').attr('href', gallery[req]['youtube']);
  693.             } else {
  694.                 $('#play').hide();
  695.             }
  696.         }
  697.         $('.popupGalerieNav').click(function(e) {
  698.             const direction = e.target.dataset.direction;
  699.             
  700.             if(direction === "next") {
  701.                 if(current+1 >= gallery.length) {
  702.                     openGallery(1);
  703.                 } else {
  704.                     openGallery(current+1);
  705.                 }
  706.             }
  707.             if(direction === "prev") {
  708.                 if(current-1 <= 0) {
  709.                     openGallery(gallery.length-1);
  710.                 } else {
  711.                     openGallery(current-1);
  712.                 }
  713.             }
  714.         });
  715.         $('#popupGalerie').click(function(e) {
  716.             if(e.target.id == "popupGalerie" || e.target.id == "popupGalerieClose") {
  717.                 $('#popupGalerie').fadeOut(300);
  718.             }
  719.         });
  720.         $('#toggleProg').click(function(e) {
  721.             $('#programme').toggle();
  722.             if($('#progBt').hasClass('fa-angle-double-down')) {
  723.                 $('#progBt').removeClass('fa-angle-double-down');
  724.                 $('#progBt').addClass('fa-angle-double-up');
  725.             } else {
  726.                 $('#progBt').removeClass('fa-angle-double-up');
  727.                 $('#progBt').addClass('fa-angle-double-down');
  728.             }
  729.         });
  730.         window.addEventListener('resize', resizeDiapo);
  731.         resizeDiapo();
  732.         function resizeDiapo() {
  733.             $('#popupGalerie>div').height(window.innerHeight);
  734.             //$('#popupGalerie>div').width(window.innerWidth);
  735.         }
  736.         
  737.     </script>
  738. {% endblock %}