templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="en" class="h-100">
  3.   <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6.     <meta name="description" content="">
  7.     <link rel="shortcut icon" href="/images/favicon.png">
  8.     <title>Paleontica
  9. {% if block('title') is defined %}
  10.     - {{ block('title') }}
  11. {% endif %}
  12.     </title>
  13.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
  14.     <link href="/css/paleontica.css" rel="stylesheet">
  15. {% if get_env("SITE_TYPE") == 'beta' %}
  16.     <link href="/css/paleontica.beta.css" rel="stylesheet">
  17. {% endif %}
  18.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fullcalendar/core@4.1.0/main.min.css">
  19.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fullcalendar/daygrid@4.1.0/main.min.css">
  20.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fullcalendar/timegrid@4.1.0/main.min.css">
  21.     {% block css %}{% endblock %}
  22.   </head>
  23.     <body class="d-flex flex-column h-100">
  24.     <!-- Start Header -->
  25.     <header>
  26.       <div class="container">
  27.         {% if is_granted('IS_IMPERSONATOR') %}
  28.             <div class="alert alert-warning" style="position: fixed; z-index: 99;">
  29.                 {{ 'Je bent nu het profiel van \'{user}\' aan het naboosten'|trans({'{user}' : app.user.username }) }}
  30.                 <a href="{{ path('frontpage', {'_switch_user': '_exit'}) }}">{{ 'Uit nabootsing-modus gaan'|trans }}</a>
  31.             </div>
  32.         {% endif %}
  33.         <div class="row" >
  34.             <div class="col-11 mt-auto">
  35.                   <a href="/"><img src="/images/PaleonticaLogo-408.png" alt="paleontica-logo" class="img-fluid img-responsive"></a>
  36.             </div>
  37.             <div class="col-1 mt-auto">
  38.             </div>
  39.         </div>
  40.       </div>
  41.     </header>
  42.     <!-- End Header -->
  43.     {#{% include 'navigation.twig' %}#}
  44.     {{ render(controller('App\\Controller\\NavigationController::navigation')) }}
  45.     {# {{ render(controller('App\\Controller\\Menu::menubar', { 'current_path': path(app.request.attributes.get('_route'),app.request.attributes.get('_route_params')) } )) }} #}
  46.     <!-- Start Main Content -->
  47.     <main>
  48.       <div class="container flex-shrink-0">
  49.         {% for message in app.flashes('info') %}
  50.           <div class="alert alert-info">{{ message }}</div>
  51.         {% endfor %}
  52.         {% for message in app.flashes('success') %}
  53.           <div class="alert alert-success">{{ message }}</div>
  54.         {% endfor %}
  55.         {% for message in app.flashes('warning') %}
  56.           <div class="alert alert-warning">{{ message }}</div>
  57.         {% endfor %}
  58.         {% for message in app.flashes('error') %}
  59.           <div class="alert alert-danger">{{ message }}</div>
  60.         {% endfor %}
  61.         {% block body %}{% endblock %}
  62.       </div>
  63.     </main>
  64.     <!-- End Main Content -->
  65.     <!-- Start Footer -->
  66.     <footer>
  67.       <div class="container mt-auto text-center">
  68.         &copy; {{'Stichting Paleontica'|trans }}. {{ 'Alle rechten voorbehouden'|trans }}.<br />
  69.         <a href="/contact">{{ 'Contact'|trans }}</a> {#| <a href="/page/privacy-statement">{{ 'Privacy statement'|trans }}</a> | <a href="/page/disclamer">{{ 'Disclaimer'|trans }}</a>#} | <a href="/article/99/Copyright">{{ 'Copyright'|trans }}</a>
  70.       </div>
  71.     </footer>
  72.     {#<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>#}
  73.     <script src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script>
  74.     <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
  75.     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
  76.     <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
  77.     <script src="https://cdn.jsdelivr.net/npm/@fullcalendar/core@4.1.0/main.min.js"></script>
  78.     <script src="https://cdn.jsdelivr.net/npm/@fullcalendar/interaction@4.1.0/main.min.js"></script>
  79.     <script src="https://cdn.jsdelivr.net/npm/@fullcalendar/daygrid@4.1.0/main.min.js"></script>
  80.     <script src="https://cdn.jsdelivr.net/npm/@fullcalendar/timegrid@4.1.0/main.min.js"></script>
  81.     <script>feather.replace()</script>
  82.     {% if site_type != 'beta' %}
  83.     <!-- Matomo -->
  84.     <script type="text/javascript">
  85.       var _paq = window._paq = window._paq || [];
  86.       /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  87.       _paq.push(['trackPageView']);
  88.       _paq.push(['enableLinkTracking']);
  89.       (function() {
  90.         var u="//analytics.paleontica.org/";
  91.         _paq.push(['setTrackerUrl', u+'matomo.php']);
  92.         _paq.push(['setSiteId', '1']);
  93.         var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  94.         g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  95.       })();
  96.     </script>
  97.     <!-- End Matomo Code -->
  98.     {% endif %}
  99.     <script>
  100.       var xhr = new XMLHttpRequest();
  101.       xhr.open('GET', 'https://georockshop.nl/advertisement/index.php');
  102.       xhr.onload = function() {
  103.               var ad = JSON.parse(xhr.responseText);
  104.               document.getElementById('advertisement_img').innerHTML = "<img src=\""+ad.thumb+"\" width='190' height='144' class='img-fluid img-responsive'>";
  105.               document.getElementById('advertisement_img').href = ad.link;
  106.               document.getElementById('advertisement_link').innerHTML = "<a href=\"" + ad.link + "\">" + ad.name + "</a><br><b>&euro; " + ad.price + "</b>";
  107.       };
  108.       xhr.send();
  109.     </script>
  110.     <script type="text/javascript">
  111.         document.addEventListener('DOMContentLoaded', () => {
  112.             var calendarEl = document.getElementById('minicalendar-holder');
  113.             var calendar = new FullCalendar.Calendar(calendarEl, {
  114.                 defaultView: 'dayGridMonth',
  115.                 editable: true,
  116.                 firstDay: 1,
  117.                 locale: '{% if app.request.locale == 'nl' %}nl{% else %}en{% endif %}',
  118.                 eventSources: [
  119.                     {
  120.                         url: "{{ path('fc_load_events') }}",
  121.                         method: "POST",
  122.                         extraParams: {
  123.                             filters: JSON.stringify({})
  124.                         },
  125.                         failure: () => {
  126.                             console.log("There was an error while fetching FullCalendar!");
  127.                         },
  128.                     },
  129.                 ],
  130. {% if app.request.locale == 'nl' %}{% else %}
  131.                 eventDataTransform: function(eventData) {
  132.                   eventData.title_nl = eventData.title;
  133.                   eventData.title = eventData.title_en;
  134.                   return eventData;
  135.                 },
  136. {% endif %}
  137.                 header: {
  138.                     left: 'prev,next today',
  139.                     center: 'title',
  140.                     right: 'dayGridMonth',
  141.                 },
  142.                 plugins: [ 'interaction', 'dayGrid', 'timeGrid' ], // https://fullcalendar.io/docs/plugin-index
  143.                 timeZone: 'UTC',
  144.             });
  145.             calendar.render();
  146.             
  147.         });
  148.     </script>
  149.     {% block javascript %}{% endblock %}
  150.     <!-- End Footer -->
  151.   </body>
  152. </html>