templates/site/evenement.html.twig line 1

Open in your IDE?
  1. <!doctype html>
  2. <html lang="fr">
  3. <head>
  4.     <meta charset="utf-8">
  5.     <title>{{evenement.titre}} - ENGIE Solutions</title>
  6.     <meta name="description" content="">
  7.     <meta name="viewport" content="width=device-width, initial-scale=1">
  8.     <link rel="stylesheet" href="/site/css/normalize.css">
  9.     <link rel="stylesheet" href="/site/bastille/bastille.css?v={{"now"|date('YmdHis')}}">
  10.     
  11.     <link rel="shortcut icon" href="/favicon.ico">
  12.     <link rel = "stylesheet" href = "/plugins/fontawesome-free/css/all.min.css">
  13.     <link rel="preconnect" href="https://fonts.googleapis.com">
  14.     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  15.     <link href="https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;700&family=Roboto+Condensed:wght@400;700&display=swap" rel="stylesheet">
  16.     
  17.     <meta name="theme-color" content="#003a55">
  18.     {% if evenement.bgIntervenants is not null %}
  19.     <style>
  20.         .homeIntervenants ul li::before {
  21.             border-top-color: {{evenement.bgIntervenants}} !important;
  22.         }
  23.         .homeIntervenants ul li::after {
  24.             border-bottom-color: {{evenement.bgIntervenants}} !important;
  25.         }
  26.     </style>
  27.     {% endif %}
  28.     <!-- Matomo -->
  29.     <script>
  30.     var _paq = window._paq = window._paq || [];
  31.     /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  32.     _paq.push(['trackPageView']);
  33.     _paq.push(['enableLinkTracking']);
  34.     (function() {
  35.         var u="//matomo.tooling.myoddcloud.com/";
  36.         _paq.push(['setTrackerUrl', u+'matomo.php']);
  37.         _paq.push(['setSiteId', '16']);
  38.         var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  39.         g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  40.     })();
  41.     </script>
  42.     <!-- End Matomo Code -->
  43. </head>
  44. <body class="bastille">
  45.     
  46.     <header style="background-image:url('/site/upload/{{evenement.bandeauFond}}');">
  47.         <div class="wrapper">
  48.             <img src="/site/upload/{{evenement.bandeau}}" class="logo" />
  49.         </div>
  50.     </header>
  51.     
  52.     
  53.     <main>
  54.         {% set jours = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'] %}
  55.         {% set mois = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre' ] %}
  56.         {# {% if evenement.date  %}{% endif %} #}
  57.         {% if "now"|date('Ymd') <= evenement.date|date('Ymd') %}
  58.             {% if inscription is defined and inscription is not null %}
  59.             <div class="wrapper" style="text-align: center;font-size: 1.2em;">
  60.                 <br/>
  61.                 <p style="font-family: 'clan_probold';font-size: 2.5em;margin-bottom: 10px;">Merci,</p>
  62.                 <p>Votre inscription a bien été enregistrée, vous allez recevoir un email de confirmation.</p>
  63.                 <p>Nous aurons le plaisir de vous retrouver le <span style="font-family: 'clan_probold';">{{jours[evenement.date|date('N')-1]}} {{evenement.date|date('d')}} {{mois[evenement.date|date('n')-1]}} {{evenement.date|date('Y')}} à partir de {{evenement.heure|date('H')}}h{{evenement.heure|date('i')}}</span>.</p>
  64.                 <br/>
  65.                 {% if warning is defined and warning is not null %}
  66.                 <p style="color:red;">{{warning}}</p>
  67.                 {% endif %}
  68.                 <br/>
  69.             </div>
  70.             {% endif %}
  71.             {% if inscription is defined and inscription is null %}    
  72.                 <div class="wrapper description">
  73.                 
  74.                     <div class="">
  75.                         <p>{{evenement.intro}}</p>
  76.                         <h3>{{evenement.titre}}</h3>
  77.                         {{evenement.texte|raw}}
  78.                         <div>
  79.                             {{jours[evenement.date|date('N')-1]}} {{evenement.date|date('d')}} {{mois[evenement.date|date('n')-1]}} {{evenement.date|date('Y')}}
  80.                             <br/>
  81.                             {% if evenement.heureFin is not null %}
  82.                                 de {{evenement.heure|date('H')}}h{{evenement.heure|date('i')}} à {{evenement.heureFin|date('H')}}h{{evenement.heureFin|date('i')}}
  83.                             {% else %}
  84.                                 à partir de {{evenement.heure|date('H')}}h{{evenement.heure|date('i')}}
  85.                             {% endif %}
  86.                         </div>
  87.                         {{evenement.texte2|raw}}
  88.                     </div>
  89.                     {% if inscription is defined and inscription is null %}
  90.                         {% if evenement.btInscriptionImg is not null %}
  91.                             <a href="#formulaire"><img src="/site/upload/{{evenement.btInscriptionImg}}" style="display:block;margin:0 auto;max-width:95%;" /></a>
  92.                         {% else %}
  93.                             <span><a href="#formulaire" class="btn">Je m'inscris</a></span>
  94.                         {% endif %}
  95.                     {% endif %}
  96.                     
  97.                     {% if evenement.videoTeasing is not null and evenement.videoTeasing != '' %}
  98.                         {% set link = evenement.videoTeasing|split('=') %}
  99.                         <iframe width="100%" height="500" src="https://www.youtube.com/embed/{{link[1]}}?si=0FUPcdvb56giAhBc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen style="margin:40px auto 0px auto;display: block;"></iframe>
  100.                     {% endif %}
  101.                 </div>
  102.             {% endif %}
  103.             {% if evenement.programmes|length %}
  104.             <div class="programme" style="background-image:url('/site/upload/{{evenement.programmeFond}}');">
  105.                 <div class="wrapper">
  106.                     <h2>Déroulé</h2>
  107.                     <ul {% if evenement.programmes|length < 2 %}style="columns:1;"{% endif %}>
  108.                         {% for item in evenement.programmes %}
  109.                             <li><b>{{item.heureDebut|date('H')}}h{{item.heureDebut|date('i')}}</b> {{item.titre}}
  110.                                 <br/><span>{{item.texte|nl2br}}</span>
  111.                             </li>
  112.                         {% endfor %}
  113.                     </ul>
  114.                 </div>
  115.             </div>
  116.             {% endif %}
  117.             {% if intervenants|length > 0 %}
  118.             <div class="homeIntervenants eventIntervenants" 
  119.             {% if evenement.bgIntervenants is not null %}
  120.                 style="background-color:{{evenement.bgIntervenants}} !important;"
  121.             {% endif %}>
  122.                 <div class="wrapper">
  123.                     <h2>Intervenants</h2>
  124.                     <ul>
  125.                         {% for item in intervenants %}
  126.                         <li>
  127.                             {% if item.intervenant.image is not null %}
  128.                                 <div style="background-image:url('/site/upload/{{item.intervenant.image}}');">
  129.                                 </div>
  130.                             {% else %}
  131.                                 <div style="background-image:url('/site/img/profile.jpg');">   
  132.                                 </div>
  133.                             {% endif %}
  134.                             <div>
  135.                                 <p class="nom">{{item.intervenant.prenom}} {{item.intervenant.nom}}</p>
  136.                                 <p class="poste">{{item.intervenant.poste}}</p>
  137.                                 <p class="societe">{{item.intervenant.societe}}</p>
  138.                                 {% if item.intervenant.linkedin is not null %}
  139.                                 <a href="{{item.intervenant.linkedin}}" target="_blank"><i class="fab fa-linkedin"></i></a>
  140.                                 {% endif %}
  141.                             </div>
  142.                         </li>
  143.                         {% endfor %}
  144.                     </ul>
  145.                 </div>
  146.             </div>        
  147.             {% endif %}
  148.             <div class="pratique">
  149.                 <div>
  150.                     <div>
  151.                         <h2>Informations <br/>pratiques</h2>
  152.                         {{evenement.infoPratique|raw}}
  153.                     </div>
  154.                 </div>
  155.                 <div  style="background-image:url('/site/upload/{{evenement.infoPratiqueMap}}');">
  156.                 </div>
  157.             </div>
  158.             {% if inscription is defined and inscription is null %}
  159.             <div class="inscription" style="background-image:url('/site/upload/{{evenement.formulaireFond}}');">
  160.                 <a name="formulaire"></a>
  161.                 <div class="wrapper">
  162.                     <h2>Inscription</h2>
  163.                     {# <p id="switchIndiv">Inscription indiv</p>
  164.                     <p id="switchGroupe">Inscription groupe</p> #}
  165.                     <form action="{{path( 'evenement', {'slug': evenement.slug, 'idmessage':(idmessage is defined ? idmessage : 0), 'hashmessage': (idmessage is defined ? idmessage|shasalt : ''), 'iduser':(iduser is defined ? iduser : 0), 'hashuser':(iduser is defined ? iduser|shasalt : '') } ) }}" method="POST"  enctype="multipart/form-data"> 
  166.                         <div>
  167.                             <div>
  168.                                 <input type="hidden" name="type" id="inputType" value="indiv" />
  169.                                 
  170.                                 {% if evenement.formatFormulaire == "completIndivGroupe" %}  
  171.                                 <div>
  172.                                     <select name="type" id="selectType">
  173.                                         <option value="indiv">Je souhaite m'inscrire individuellement</option>
  174.                                         <option value="groupe">Je souhaite inscrire un groupe</option>
  175.                                     </select>
  176.                                 </div>
  177.                                 {% endif %}
  178.                                 <div>
  179.                                     <input type="text" name="nom" id="inputNom" value="{{contact is not null and contact.nom is not null ? contact.nom}}" placeholder="Nom" required />
  180.                                 </div>
  181.                                 <div>
  182.                                     <input type="text" name="prenom" id="inputPrenom" value="{{contact is not null and contact.prenom is not null ? contact.prenom}}" placeholder="Prénom" required />
  183.                                 </div>
  184.                                 <div>
  185.                                     <input type="email" name="email" value="{{contact is not null ? contact.email}}" placeholder="Email" required />
  186.                                 </div>
  187.                                 <div>
  188.                                     <input type="tel" name="telephone" placeholder="Téléphone" />
  189.                                 </div>
  190.                                 <div>
  191.                                     <input type="text" name="postal" placeholder="Code postal" />
  192.                                 </div>
  193.                                 <div>
  194.                                     <input type="text" name="societe" id="inputSociete" value="{{contact is not null ? contact.societe}}" placeholder="Société / Organisme" />
  195.                                 </div>
  196.                                 <div>
  197.                                     <input type="text" name="fonction" id="inputFonction" value="{{contact is not null ? contact.fonction}}" placeholder="Fonction" />
  198.                                 </div>
  199.                             </div>
  200.                             <div class="colDroite">
  201.                                 {% if evenement.cvFormulaire %}                            
  202.                                 <div class="indiv">
  203.                                     <p>Joindre un CV</p>
  204.                                     <input type="file" name="cv" />
  205.                                     <br/><i>Format PDF ou Word - 3Mo maximum</i>
  206.                                 </div>
  207.                                 {% endif %}
  208.                                 
  209.                                 {% if evenement.formatFormulaire == "completIndivGroupe" %}  
  210.                                 <div class="groupe">
  211.                                     <input type="text" name="nbparticipants" id="nbparticipants"  placeholder="Nombre de participants" required />
  212.                                 </div>
  213.                                 <div class="groupe">
  214.                                     <p>Créneau horaire d'arrivée :</p>
  215.                                     <select name="creneau">
  216.                                         <option value="">Choisir un créneau</option>
  217.                                         <option value="9h - 10h">9h - 10h</option>
  218.                                         <option value="10h - 11h">10h - 11h</option>
  219.                                         <option value="11h - 12h">11h - 12h</option>
  220.                                         <option value="12h - 13h">12h - 13h</option>
  221.                                         <option value="13h - 14h">13h - 14h</option>
  222.                                         <option value="14h - 15h">14h - 15h</option>
  223.                                         <option value="15h - 16h">15h - 16h</option>
  224.                                     </select>
  225.                                 </div>
  226.                                 {% endif %}
  227.                                 {% if evenement.formatFormulaire == "completIndivGroupe" or evenement.formatFormulaire == "completIndiv" %}  
  228.                                 <div>
  229.                                     <p>Qu'attendez-vous de cet événement ?</p>
  230.                                     <select name="attentes" id="attentes" required>
  231.                                         <option value=""></option>
  232.                                         <option value="En apprendre plus sur ENGIE Solutions">En apprendre plus sur ENGIE Solutions</option>
  233.                                         <option value="Recherche d'emploi">Recherche d'emploi</option>
  234.                                         <option value="Recherche d'emploi">Recherche de stage ou alternance</option>
  235.                                         <option value="Autre">Autre (préciser ci-dessous)</option>
  236.                                     </select>
  237.                                     <textarea name="attentesAutre" id="attentesAutre" style="display:none;" placeholder="Précisez vos attentes"></textarea>
  238.                                 </div>
  239.                                 <div>
  240.                                     <p>Comment avez-vous connu l'événement ?</p>
  241.                                     <textarea name="connu" required></textarea>
  242.                                 </div>
  243.                                 {% endif %}
  244.                                 
  245.                                 {% if evenement.formatFormulaire == "classiqueDuo" %}  
  246.                                 <div>
  247.                                     <div>
  248.                                         <label class="container">Je souhaite venir accompagné(e)
  249.                                             <input type="checkbox" onchange="switchPlusOne()" id="checkPlusOne" name="plusOne">
  250.                                             <span class="checkmark"></span>
  251.                                         </label>
  252.                                     </div>                            
  253.                                     <div id="invite" style="display:none;">
  254.                                         <input type="text" name="inviteNom" placeholder="Nom"  />
  255.                                     </div>
  256.                                     <div id="invite2" style="display:none;">
  257.                                         <input type="text" name="invitePrenom" placeholder="Prénom" />
  258.                                     </div>
  259.                                     <br/>
  260.                                     <script>
  261.                                         function switchPlusOne() {
  262.                                             const box = document.getElementById('checkPlusOne');
  263.                                             console.log(box.checked);
  264.                                             if(box.checked) {
  265.                                                 document.getElementById('invite').style.display = 'block';
  266.                                                 document.getElementById('invite2').style.display = 'block';
  267.                                             } else {
  268.                                                 document.getElementById('invite').style.display = 'none';
  269.                                                 document.getElementById('invite2').style.display = 'none';
  270.                                             }
  271.                                         }
  272.                                     </script>
  273.                                 </div>
  274.                                 {% endif %}
  275.                                 <br/>
  276.                                 {% if evenement.captationFormulaire %} 
  277.                                 <div>
  278.                                     <label class="containerRadio">
  279.                                         <input type="radio" name="droitImage" value="1" required>
  280.                                         <span class="checkmarkRadio"></span> Je consens à la captation et exploitation de mon image au cours du déroulement de l’événement organisé par ENGIE Solutions selon les modalités décrites <a href="{{path('site_mentions', {'slug': evenement.slug })}}#captation"><u>ICI</u></a>
  281.                                     </label>
  282.                                 </div>
  283.                                 <div>
  284.                                     <label class="containerRadio">
  285.                                         <input type="radio" name="droitImage" value="0" required>
  286.                                         <span class="checkmarkRadio"></span> 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</a>
  287.                                     </label>
  288.                                 </div>
  289.                                 {% endif %}
  290.                             </div>
  291.                         </div>
  292.                         <span class="btn"><button type="submit">Valider mon inscription</button></span>
  293.                     </form>
  294.                 </div>
  295.             </div>
  296.             {% endif %}
  297.         {% else %}
  298.             <div class="wrapper" style="text-align: center;font-size: 1.1em;padding: 3em 0;">
  299.             {{evenement.messagePasse|raw}}
  300.             </div>
  301.         {% endif %}
  302.     </main>
  303.     
  304.    <footer>
  305.         <div class="wrapper">
  306.             <div>
  307.                 <a href="https://www.engie-solutions.com/fr" target="_blank"><img src="/site/bastille/engie_logo_blanc.png" /></a>
  308.             </div>
  309.             <div>
  310.                 <a href="{{path('site_mentions', {'slug': evenement.slug } )}}" target="_blank">Mentions Légales</a> - 
  311.                 <a href="{{path('site_rgpd', {'slug': evenement.slug })}}" target="_blank">RGPD</a>
  312.             </div>
  313.             <div>                         
  314.                 <p>Copyright &copy; ENGIE {{"now"|date('Y')}}</p>
  315.             </div>
  316.         </div>
  317.     </footer>
  318.     <script src = "/plugins/jquery/jquery.min.js"></script>
  319.     {% block extrajs %}
  320.     
  321.     <script>
  322.         let type = "indiv";
  323.         switchType(type);
  324.         // document.getElementById('switchGroupe').addEventListener('click', function() {
  325.         //     type = "groupe";
  326.         //     switchType(type);
  327.         // });
  328.         // document.getElementById('switchIndiv').addEventListener('click', function() {
  329.         //     type = "indiv";
  330.         //     switchType(type);
  331.         // });
  332.         if(document.getElementById('selectType') != null) {
  333.             document.getElementById('selectType').addEventListener('change', function() {
  334.                 switchType(document.getElementById('selectType').value);
  335.             });
  336.         }
  337.         console.log(document.getElementById('selectType'));
  338.         
  339.         document.getElementById('attentes').addEventListener('change', function() {
  340.             console.log(this.value);
  341.             if(this.value == "Autre") {
  342.                 document.getElementById('attentesAutre').style.display = "block";
  343.             } else {
  344.                 document.getElementById('attentesAutre').style.display = "none";
  345.             }
  346.         });
  347.         function switchType(type) {
  348.             document.getElementById('inputType').value = type;
  349.             if(type == "groupe") {
  350.                 const afficher = document.getElementsByClassName('groupe');
  351.                 console.log(afficher);
  352.                 for (let i = 0; i < afficher.length; i++) {
  353.                     afficher[i].style.display = "block";
  354.                 }
  355.                 
  356.                 const masquer = document.getElementsByClassName('indiv');
  357.                 for (let i = 0; i < masquer.length; i++) {
  358.                     masquer[i].style.display = "none";
  359.                 }
  360.                 
  361.                 document.getElementById('inputSociete').required = true;
  362.                 document.getElementById('inputFonction').required = true;
  363.                 document.getElementById('inputNom').placeholder = "Nom du référent";
  364.                 document.getElementById('inputPrenom').placeholder = "Prénom du référent";
  365.             } else {
  366.                 const afficher = document.getElementsByClassName('indiv');
  367.                 if(document.getElementById('nbparticipants') != null) {
  368.                     document.getElementById('nbparticipants').required = false;
  369.                     document.getElementById('inputSociete').required = false;
  370.                     document.getElementById('inputFonction').required = false;
  371.                 }
  372.                 for (let i = 0; i < afficher.length; i++) {
  373.                     afficher[i].style.display = "block";
  374.                 }
  375.                 
  376.                 const masquer = document.getElementsByClassName('groupe');
  377.                 for (let i = 0; i < masquer.length; i++) {
  378.                     masquer[i].style.display = "none";
  379.                 }
  380.                 document.getElementById('inputNom').placeholder = "Nom";
  381.                 document.getElementById('inputPrenom').placeholder = "Prénom";
  382.             }
  383.             /*
  384.             const box = document.getElementById('checkPlusOne');
  385.             console.log(box.checked);
  386.             if(box.checked) {
  387.                 document.getElementById('invite').style.display = 'block';
  388.                 document.getElementById('invite2').style.display = 'block';
  389.             } else {
  390.                 document.getElementById('invite').style.display = 'none';
  391.                 document.getElementById('invite2').style.display = 'none';
  392.             }
  393.             */
  394.         }
  395.     </script>
  396.     {% endblock %}
  397. </body>
  398. </html>