feeback show, header css lazy

git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3482 f459cee4-fb09-11de-96c3-f9c5f16c3c76
This commit is contained in:
adametz 2018-12-27 16:40:23 +00:00
parent 30c42d0508
commit b28c7db598
24 changed files with 681 additions and 202 deletions

1
.gitignore vendored
View file

@ -6,3 +6,4 @@
/trunk/web/uploads /trunk/web/uploads
/trunk/web/web /trunk/web/web
/trunk/src/AppBundle/Resources/public/js/min /trunk/src/AppBundle/Resources/public/js/min
trunk/web/css/images/*

View file

@ -78,9 +78,9 @@
</style> </style>
<link rel="preload" href="{{ asset('css/my-custom.css?v4') }}" as="style" onload="this.rel='stylesheet'"> <link rel="preload" href="{{ asset('css/my-custom.css?v') }}{{ get_file_last_time('css/my-custom.css') }}" as="style" onload="this.rel='stylesheet'">
<noscript> <noscript>
<link rel="stylesheet" href="{{ asset('css/my-custom.css?v4') }}"> <link rel="stylesheet" href="{{ asset('css/my-custom.css?v') }}{{ get_file_last_time('css/my-custom.css') }}">
</noscript> </noscript>
<script> <script>
@ -147,6 +147,8 @@
<!-- START CONTENT --> <!-- START CONTENT -->
<div class="row"> <div class="row">
<div id="show_sterntours_video_full" class="col-md-12" style="display: none;">
</div>
{% include 'default/components/sidebar.html.twig' with { {% include 'default/components/sidebar.html.twig' with {
nav_sidebar_widget_block: block('nav_sidebar_widget') ?? null, nav_sidebar_widget_block: block('nav_sidebar_widget') ?? null,
search_sidebar_widget_block: block('search_sidebar_widget') ?? null, search_sidebar_widget_block: block('search_sidebar_widget') ?? null,
@ -174,8 +176,7 @@
{% embed 'default/components/embed/modal.html.twig' with {id: 'default'} %}{% endembed %} {% embed 'default/components/embed/modal.html.twig' with {id: 'default'} %}{% endembed %}
{% block javascripts %} {% block javascripts %}
<script src="{{ asset('js/custom-min.js?v6') }}"></script> <script src="{{ asset('js/custom-min.js?v') }}{{ get_file_last_time('js/custom-min.js') }}"></script>
{% endblock javascripts %} {% endblock javascripts %}
</body> </body>
</html> </html>

View file

@ -1,21 +1,18 @@
{% if breadcrumb_entries is not empty %} {% if breadcrumb_entries is not empty %}
<div class="breadcrumb-holder" itemscope itemtype="https://schema.org/Breadcrumb"> <div class="breadcrumb-holder">
<ol class="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList"> <ol class="breadcrumb" itemprop="breadcrumb" itemscope="" itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a class="on" itemprop="item" href="/"><span itemprop="name">STERN TOURS</span></a> <a class="on" itemprop="item" title="STERN TOURS" href="{{ app.request.getSchemeAndHttpHost() }}">
<meta content="1" itemprop="position" property="position" /> <span itemprop="name">STERN TOURS</span></a>
<meta itemprop="position" content="1">
</li> </li>
{% for breadcrumb_entry in breadcrumb_entries %} {% for breadcrumb_entry in breadcrumb_entries %}
{# @var breadcrumb_entry \AppBundle\Entity\BreadcrumbEntry #} {# @var breadcrumb_entry \AppBundle\Entity\BreadcrumbEntry #}
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
{% if not loop.last %} <a itemprop="item" title="{{ breadcrumb_entry.title }}" href="{{ app.request.getSchemeAndHttpHost() }}{{ breadcrumb_entry.url }}">
<a itemprop="item" href="{{ breadcrumb_entry.url }}">
<span itemprop="name">{{ breadcrumb_entry.title }}</span> <span itemprop="name">{{ breadcrumb_entry.title }}</span>
</a> </a>
{% else %} <meta itemprop="position" content="{{ loop.index0 + 2 }}">
<span itemprop="name">{{ breadcrumb_entry.title }}</span>
{% endif %}
<meta itemprop="position" property="position" content="{{ loop.index0 + 2 }}" />
</li> </li>
{% endfor %} {% endfor %}
</ol> </ol>

View file

@ -1,6 +1,4 @@
<div class="modal fade" tabindex="-1" role="dialog" <div class="modal fade" tabindex="-1" role="dialog" id="st-departures-modal-{{ id }}">
id="st-departures-modal-{{ id }}"
>
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
@ -10,32 +8,48 @@
<h4 class="modal-title">Abflugorte / Zuschläge</h4> <h4 class="modal-title">Abflugorte / Zuschläge</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th>Ort</th> <th style="text-align: left; width: 80%">Ort</th>
<th>Zu-/Abschlag</th> <th style="width: 20%">Zu-/Abschlag</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for departure in departures %} {% for departure in departures %}
{# @var departure \AppBundle\Entity\TravelDeparturePoint #} {# @var departure \AppBundle\Entity\TravelDeparturePoint #}
<tr> <tr>
<td><a href="" data-dismiss="modal">{{ departure.name }}</a></td> <td style="text-align: left">
{% if departure.flightTime[startWeekday] is defined %}
{% if departure.flightTime[startWeekday] != "" %}
<a href="#" data-toggle="collapse" data-target="#flight_{{ travelName }}_{{ departure.id }}" class="pull-right collapsed">Flugzeiten <i class="fa fa-plus"></i></a>
{% endif %}
{% endif %}
<h4>{{ departure.name }}</h4>
{% if departure.flightTime[startWeekday] is defined %}
<div class="collapse" id="flight_{{ travelName }}_{{ departure.id }}" style="">
{% for flightTime in departure.flightTime[startWeekday]|split('\n') %}
{% if flightTime != "" %}
{{ flightTime|raw }}<br>
{% endif %}
{% endfor %}
</div>
{% endif %}
</td>
<td>{{ departure.extraCharge|number_format(2) }} €</td> <td>{{ departure.extraCharge|number_format(2) }} €</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button> <button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
</div> </div>
</div><!-- /.modal-content --> </div><!-- /.modal-content -->
</div><!-- /.modal-dialog --> </div><!-- /.modal-dialog -->
</div><!-- /.modal --> </div><!-- /.modal -->
{% for departure in travel_date.departures %}
{# @var departure \AppBundle\Entity\TravelDeparturePoint #}
{% endfor %}

View file

@ -1,5 +1,5 @@
<div class="modal fade" tabindex="-1" role="dialog" id="st-{{ id }}-modal"> <div class="modal fade" tabindex="-1" role="dialog" id="st-{{ id }}-modal">
<div class="modal-dialog" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>

View file

@ -3,14 +3,14 @@
<div class="container"> <div class="container">
<div class="pull-right"> <div class="pull-right">
<ul class="topbar-drops list-inline"> <ul class="topbar-drops list-inline">
<li class="nohover visible-xs visible-sm"> Mo-Fr: 09:00 - 22:00 | Sa: 10:00 - 22:00 | So: 11:00 - 22:00 Uhr</li>
<li class="nohover"><i class="fa fa-phone"></i> 030 - 700 94 100</li> <li class="nohover"><i class="fa fa-phone"></i> 030 - 700 94 100</li>
<li> <li>
<a href="/kontakt" title="Kontakt"><i class="fa fa-envelope"></i> <span class="hidden-xs">Kontakt</span></a> <a href="/kontakt" title="Kontakt"><i class="fa fa-envelope"></i> <span class="hidden-xs">Kontakt</span></a>
</li> </li>
<li> <li>
<a href="javascript:void(window.open('/server/chat.php','','width=590,height=610,left=0,top=0,resizable=yes,menubar=no,location=no,status=yes,scrollbars=yes'))" <a href="javascript:void(window.open('/server/chat.php','','width=590,height=610,left=0,top=0,resizable=yes,menubar=no,location=no,status=yes,scrollbars=yes'))"
title="Chat-Fenster öffnen" title="Chat-Fenster öffnen">
>
<i class="fa fa-comments"></i> <span class="hidden-xs">Chat</span> <i class="fa fa-comments"></i> <span class="hidden-xs">Chat</span>
</a> </a>
</li> </li>
@ -24,11 +24,11 @@
</div><!-- end container --> </div><!-- end container -->
</div><!-- end topbar --> </div><!-- end topbar -->
<div class="menu-container"> <div class="menu-container">
<div class="container"> <div class="container">
<div class="menu-wrapper"> <div class="menu-wrapper">
<nav id="navigation" class="navbar" role="navigation" itemscope itemtype="https://schema.org/SiteNavigationElement"> <nav id="navigation" class="navbar" role="navigation" itemscope
itemtype="https://schema.org/SiteNavigationElement">
<div class="navbar-inner"> <div class="navbar-inner">
<div id="navbar-collapse" class="navbar-left navbar-collapse collapse clearfix"> <div id="navbar-collapse" class="navbar-left navbar-collapse collapse clearfix">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
@ -42,7 +42,10 @@
</a> </a>
</li> </li>
<li class="dropdown openClick" itemprop="name"><a itemprop="url" href="#" title="" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-menu27"></i></a> <li class="dropdown openClick" itemprop="name"><a itemprop="url" href="#" title=""
class="dropdown-toggle"
data-toggle="dropdown"><i
class="icon-menu27"></i></a>
<ul class="dropdown-menu" role="menu"> <ul class="dropdown-menu" role="menu">
<li role="menuitem" itemprop="name"> <li role="menuitem" itemprop="name">
<a itemprop="url" href="/jugendreisen" title="Jugendreisen"> <a itemprop="url" href="/jugendreisen" title="Jugendreisen">
@ -71,7 +74,8 @@
<div class="navbar-header"> <div class="navbar-header">
<button class="btn btn-mobile" data-toggle="collapse" data-target=".nav-main-collapse" aria-label="Toggle navigation"> <button class="btn btn-mobile" data-toggle="collapse" data-target=".nav-main-collapse"
aria-label="Toggle navigation">
<i class="icon-menu27"></i> <span style="display: none">Menu</span> <i class="icon-menu27"></i> <span style="display: none">Menu</span>
</button> </button>
@ -81,8 +85,9 @@
</div><!-- end navbar-header --> </div><!-- end navbar-header -->
<div id="navbar-collapse_1" class="navbar-right"> <div id="navbar-collapse_1" class="navbar-right">
<div class="navbar-times hidden-xs"> <div class="navbar-times visible-md visible-lg hidden-xs hidden-sm">
<span style="float:left; margin-top: 30pt; margin-right: 5pt; color: #e5aa30; font-size: 18px">E-Mail: <a href="mailto:stern@sterntours.de" style="font-size: 18px; color: #777777" >stern@sterntours.de</a></span> <span style="float:left; margin-top: 30pt; margin-right: 5pt; color: #e5aa30; font-size: 18px">E-Mail: <a
href="mailto:stern@sterntours.de" style="font-size: 18px; color: #777777">stern@sterntours.de</a></span>
<i class="fa fa-phone "></i> <i class="fa fa-phone "></i>
<span>Mo-Fr: 09:00 - 22:00 Uhr<br>Sa: 10:00 - 22:00 Uhr<br>So: 11:00 - 22:00 Uhr</span> <span>Mo-Fr: 09:00 - 22:00 Uhr<br>Sa: 10:00 - 22:00 Uhr<br>So: 11:00 - 22:00 Uhr</span>
</div> </div>
@ -115,13 +120,16 @@
{% for nav_page in nav_pages if nav_page.country is not empty %} {% for nav_page in nav_pages if nav_page.country is not empty %}
{# @var nav_page \AppBundle\Entity\Page #} {# @var nav_page \AppBundle\Entity\Page #}
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" href="{{ nav_page.urlPath }}" title="{{ nav_page.title }}"> <a class="dropdown-toggle" href="{{ nav_page.urlPath }}"
{{ nav_page.title|replace({'Reisen': ''}) }}<span class="hidden-md hidden-sm">Reisen</span> title="{{ nav_page.title }}">
{{ nav_page.title|replace({'Reisen': ''}) }}<span
class="hidden-md hidden-sm">Reisen</span>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li class="first" role="menuitem" itemprop="name"> <li class="first" role="menuitem" itemprop="name">
<a itemprop="url" href="{{ nav_page.urlPath }}" title="{{ nav_page.title }}"> <a itemprop="url" href="{{ nav_page.urlPath }}"
title="{{ nav_page.title }}">
{{ nav_page.title }} {{ nav_page.title }}
</a> </a>
</li> </li>
@ -150,7 +158,8 @@
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li role="menuitem" itemprop="name"> <li role="menuitem" itemprop="name">
<a itemprop="url" href="/reiseversicherung" title="Reiseversicherung"> <a itemprop="url" href="/reiseversicherung"
title="Reiseversicherung">
Reiseversicherung Reiseversicherung
</a> </a>
</li> </li>

View file

@ -13,10 +13,11 @@
{% if child_page.boxDiscount is not empty %} {% if child_page.boxDiscount is not empty %}
<div class="cdiscount">{{ child_page.boxDiscount|raw }}</div> <div class="cdiscount">{{ child_page.boxDiscount|raw }}</div>
{% endif %} {% endif %}
{% if child_page.model == 'feedback'%}
<div class="cdiscount">{{ child_page.date|date }}</div>
{% endif %}
</div> </div>
{% include 'default/components/pageBoxImage.html.twig' with {page: child_page} %} {% include 'default/components/pageBoxImage.html.twig' with {page: child_page} %}
</div> </div>
<div class="box_mid"> <div class="box_mid">
<div class="hl5">{{ child_page.title }}</div> <div class="hl5">{{ child_page.title }}</div>
@ -28,3 +29,6 @@
</div> </div>
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long

View file

@ -294,23 +294,18 @@
<div id="collapse_fd" class="panel-collapse collapse" aria-expanded="true" style=""> <div id="collapse_fd" class="panel-collapse collapse" aria-expanded="true" style="">
<div class="panel-body"> <div class="panel-body">
{% for departure in travel_date.departures %} {% for departure in travel_date.departures %}
{# @var departure \AppBundle\Entity\TravelDeparturePoint #} {# @var departure \AppBundle\Entity\TravelDeparturePoint #}
{% if departure.flightTime[travel_date.startWeekday] is defined %} {% if departure.flightTime[travel_date.startWeekday] is defined %}
<div class="flight_times_ele" id="flight_time_{{ departure.id }}" style="display: none;"> <div class="flight_times_ele" id="flight_time_{{ departure.id }}" style="display: none;">
<h3>Von {{ departure.name }}</h3> <h3>Von {{ departure.name }}</h3>
<ul class="c1">
{% for flightTime in departure.flightTime[travel_date.startWeekday]|split('\n') %} {% for flightTime in departure.flightTime[travel_date.startWeekday]|split('\n') %}
{% if flightTime != "" %} {% if flightTime != "" %}
<li>{{ flightTime|raw }}</li> {{ flightTime|raw }}<br>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</ul>
</div> </div>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
<div class="" id="no_flight_time" style="display: none;"> <div class="" id="no_flight_time" style="display: none;">
<p>Die Flugdaten sind zum Zeitpunkt der Ausschreibung noch nicht bekannt und daher werden wir Ihnen diese mit der Annahme vom Buchungsauftrag mitteilen.</p> <p>Die Flugdaten sind zum Zeitpunkt der Ausschreibung noch nicht bekannt und daher werden wir Ihnen diese mit der Annahme vom Buchungsauftrag mitteilen.</p>

View file

@ -0,0 +1,34 @@
{% extends get_base_template() %}
{% block body %}
<section class="clearfix" style="margin-bottom: 0;">
{{ page.content|raw|keywords|lozad }}
</section>
<section class="clearfix">
{#{% for i in 0..page.children|length//3 %}#}
<div class="row">
{% for child_page in page.children if child_page.status == 1 %}
{% include 'default/components/pageBox.html.twig' %}
{% endfor %}
</div>
</section>
{% endblock %}
{#
402
318
315
UPDATE page SET page.order=page.id*-1 WHERE owner=402
UPDATE page SET page.order=page.id*-1 WHERE owner=315
UPDATE page SET page.order=page.id*-1 WHERE owner=318
Select DATE_FORMAT(page.date, '%Y%m%d')*-1 FROM page WHERE model='feedback'
UPDATE page SET page.order=DATE_FORMAT(page.date, '%Y%m%d')*-1 WHERE model='feedback'
UPDATE page SET page.model='feedback' WHERE owner=402
UPDATE page SET page.model='feedback' WHERE owner=315
UPDATE page SET page.model='feedback' WHERE owner=318
#}

View file

@ -5,7 +5,7 @@
{% block body %} {% block body %}
<section class="clearfix"> <section class="clearfix">
{{ page.content|raw|keywords }} {{ page.content|raw|keywords|lozad }}
</section> </section>
<section class="clearfix hide-in-modal"> <section class="clearfix hide-in-modal">

View file

@ -48,7 +48,7 @@
</section> </section>
<section class="clearfix"> <section class="clearfix">
{{ page.content|raw|keywords }} {{ page.content|raw|keywords|lozad }}
</section> </section>
{% endblock %} {% endblock %}

View file

@ -44,6 +44,6 @@
</section> </section>
<section class="clearfix"> <section class="clearfix">
{{ page.content|raw|keywords }} {{ page.content|raw|keywords|lozad }}
</section> </section>
{% endblock %} {% endblock %}

View file

@ -11,20 +11,22 @@
{% block body %} {% block body %}
<style> <style>
.price-over-slider.next-over{ .price-over-slider.next-over {
left: 15px; border-left: 0; left: 15px;
border-left: 0;
top: 125px; top: 125px;
} }
@media (min-width: 992px) { @media (min-width: 992px) {
.price-over-slider.next-over{ .price-over-slider.next-over {
left: 150px; left: 150px;
border-left: 1px solid #fff; border-left: 1px solid #fff;
top: 75px; top: 75px;
} }
} }
@media (max-width: 768px) { @media (max-width: 768px) {
.price-over-slider.next-over{ .price-over-slider.next-over {
top: 165px; top: 165px;
} }
@ -33,7 +35,6 @@
</style> </style>
<section class="clearfix"> <section class="clearfix">
<div class="content-copy"> <div class="content-copy">
<h1>{{ travel_program.title|default(page.pagetitle)|default(page.title) }}</h1> <h1>{{ travel_program.title|default(page.pagetitle)|default(page.title) }}</h1>
{# {#
@ -53,7 +54,6 @@
{% endif %} {% endif %}
<div class="pull-right btn-over-slider"> <div class="pull-right btn-over-slider">
<button type="button" <button type="button"
class="btn btn-primary btn-lg border-radius st-slider-booking-btn" class="btn btn-primary btn-lg border-radius st-slider-booking-btn"
@ -64,7 +64,8 @@
</div> </div>
<div class="pull-right btn-over-slider btn-over-slider-bottom"> <div class="pull-right btn-over-slider btn-over-slider-bottom">
<a href="{{ page.slug }}/pdf" title="Reisebeschreibung als PDF herunterladen" class="btn btn-primary btn-lg border-radius st-slider-booking-btn st-slider-booking-btn-bottom" > <a href="{{ page.slug }}/pdf" title="Reisebeschreibung als PDF herunterladen"
class="btn btn-primary btn-lg border-radius st-slider-booking-btn st-slider-booking-btn-bottom">
PDF herunterladen PDF herunterladen
</a> </a>
</div> </div>
@ -83,9 +84,12 @@
<div class="item{% if loop.first %} active{% endif %}"> <div class="item{% if loop.first %} active{% endif %}">
<!-- Set the first background image using inline CSS below. --> <!-- Set the first background image using inline CSS below. -->
{% set image_url = asset('uploads/travel_program/' ~ travel_program_image.fileNameWithExtension) %} {% set image_url = asset('uploads/travel_program/' ~ travel_program_image.fileNameWithExtension) %}
<div class="fill lozad" data-background-image="{{ image(image_url|trim('/')).cropResize(848).guess(75) }}" style="background-image:url({{ asset('images/placeholder-image.png') }})"></div> <div class="fill lozad"
data-background-image="{{ image(image_url|trim('/')).cropResize(848).guess(75) }}"
style="background-image:url({{ asset('images/placeholder-image.png') }})"></div>
<noscript> <noscript>
<div class="fill" style="background-image:url({{ image(image_url|trim('/')).cropResize(848).guess(75) }})"></div> <div class="fill"
style="background-image:url({{ image(image_url|trim('/')).cropResize(848).guess(75) }})"></div>
</noscript> </noscript>
</div> </div>
@ -110,41 +114,47 @@
#} #}
{% block travel_program_tab_bar %} {% block travel_program_tab_bar %}
<div class="scroller-nav-tabs scroller-left-nav-tabs"><i class="glyphicon glyphicon-chevron-left"></i></div> <div class="scroller-nav-tabs scroller-left-nav-tabs"><i class="glyphicon glyphicon-chevron-left"></i>
<div class="scroller-nav-tabs scroller-right-nav-tabs"><i class="glyphicon glyphicon-chevron-right"></i></div> </div>
<div class="scroller-nav-tabs scroller-right-nav-tabs"><i class="glyphicon glyphicon-chevron-right"></i>
</div>
<div class="wrapper-nav-tabs"> <div class="wrapper-nav-tabs">
<ul class="nav nav-tabs nav-justified list-nav-tabs"> <ul class="nav nav-tabs nav-justified list-nav-tabs">
<li class="active"> <li class="active">
<a href="#travel-description-content-tab" aria-controls="travel-description-content-tab" role="tab" data-toggle="tab"> <a href="#travel-description-content-tab" aria-controls="travel-description-content-tab"
role="tab" data-toggle="tab">
Reiseablauf Reiseablauf
</a> </a>
</li> </li>
{% if travel_program.included is not empty or {% if travel_program.included is not empty or
travel_program.excluded is not empty or travel_program.excluded is not empty or
travel_program.classDescription is not empty travel_program.classDescription is not empty %}
%}
<li> <li>
<a href="#travel-service-content-tab" aria-controls="travel-service-content-tab" role="tab" data-toggle="tab"> <a href="#travel-service-content-tab" aria-controls="travel-service-content-tab"
role="tab" data-toggle="tab">
Leistungen Leistungen
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if travel_program.travelDates is not empty %} {% if travel_program.travelDates is not empty %}
<li> <li>
<a href="#travel-dates-content-tab" aria-controls="travel-dates-content-tab" role="tab" data-toggle="tab"> <a href="#travel-dates-content-tab" aria-controls="travel-dates-content-tab" role="tab"
data-toggle="tab">
Termine <i class="fa fa-star"></i> Preise Termine <i class="fa fa-star"></i> Preise
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if travel_program.hasMap %} {% if travel_program.hasMap %}
<li> <li>
<a href="#travel-map-content-tab" aria-controls="travel-map-content-tab" role="tab" data-toggle="tab"> <a href="#travel-map-content-tab" aria-controls="travel-map-content-tab" role="tab"
data-toggle="tab">
Karte Karte
</a> </a>
</li> </li>
{% endif %} {% endif %}
<li> <li>
<a href="#travel-info-content-tab" aria-controls="travel-info-content-tab" role="tab" data-toggle="tab"> <a href="#travel-info-content-tab" aria-controls="travel-info-content-tab" role="tab"
data-toggle="tab">
Landinfos Landinfos
</a> </a>
</li> </li>
@ -154,13 +164,14 @@
{% endblock travel_program_tab_bar %} {% endblock travel_program_tab_bar %}
<div class="tab-content"> <div class="tab-content">
{# {#
********* REISEABLAUF ********* ********* REISEABLAUF *********
#} #}
<div role="tabpanel" class="tab-pane active" id="travel-description-content-tab"> <div role="tabpanel" class="tab-pane active" id="travel-description-content-tab">
{{ travel_program.htmlDescription|raw|keywords|lozad }} {{ travel_program.htmlDescription|raw|keywords|lozad }}
<br clear="all">
{% if (travel_program.advices is not empty) or (travel_program.generalnote is not empty) %} {% if (travel_program.advices is not empty) or (travel_program.generalnote is not empty) %}
<h3>Hinweise</h3> <h3>Hinweise</h3>
@ -231,9 +242,12 @@
<th>Nr.</th> <th>Nr.</th>
<th>Beginn</th> <th>Beginn</th>
<th>Ende</th> <th>Ende</th>
{% if has_three_bed_room %}<th>Preis p.P im Dreibettzimmer</th>{% endif %} {% if has_three_bed_room %}
{% if has_double_bed_room %}<th>Preis p.P im Doppelzimmer</th>{% endif %} <th>Preis p.P im Dreibettzimmer</th>{% endif %}
{% if has_singel_bed_room %}<th>Preis p.P im Einzelzimmer</th>{% endif %} {% if has_double_bed_room %}
<th>Preis p.P im Doppelzimmer</th>{% endif %}
{% if has_singel_bed_room %}
<th>Preis p.P im Einzelzimmer</th>{% endif %}
<th>Abflugorte / Zuschläge</th> <th>Abflugorte / Zuschläge</th>
<th>Status</th> <th>Status</th>
<th>Buchungsformular</th> <th>Buchungsformular</th>
@ -249,7 +263,8 @@
{# @var travel_date \AppBundle\Entity\TravelDate #} {# @var travel_date \AppBundle\Entity\TravelDate #}
<tr> <tr>
<td data-title="Nr."><strong class="small">{{ travel_date.name }}</strong></td> <td data-title="Nr."><strong class="small">{{ travel_date.name }}</strong>
</td>
<td data-title="Beginn">{{ travel_date.start|date }}</td> <td data-title="Beginn">{{ travel_date.start|date }}</td>
<td data-title="Ende">{{ travel_date.end|date }}</td> <td data-title="Ende">{{ travel_date.end|date }}</td>
{% if has_three_bed_room %} {% if has_three_bed_room %}
@ -262,11 +277,13 @@
{% endif %} {% endif %}
<span class="block"> <span class="block">
<span class="{% if travel_date.prices[5].effectiveDiscountPrice %}old_price{% endif %}"> <span class="{% if travel_date.prices[5].effectiveDiscountPrice %}old_price{% endif %}">
ab {{ travel_date.prices[5].effectivePrice|number_format }} ab {{ travel_date.prices[5].effectivePrice|number_format }}
</span> </span>
{% if travel_date.prices[5].effectiveDiscountPrice %} {% if travel_date.prices[5].effectiveDiscountPrice %}
<span class="new_price"> <span class="new_price">
ab {{ travel_date.prices[5].effectiveDiscountPrice|number_format }} ab {{ travel_date.prices[5].effectiveDiscountPrice|number_format }}
</span> </span>
{% endif %} {% endif %}
</span> </span>
@ -286,11 +303,13 @@
{% endif %} {% endif %}
<span class="block"> <span class="block">
<span class="{% if travel_date.prices[3].effectiveDiscountPrice %}old_price{% endif %}"> <span class="{% if travel_date.prices[3].effectiveDiscountPrice %}old_price{% endif %}">
ab {{ travel_date.prices[3].effectivePrice|number_format }} ab {{ travel_date.prices[3].effectivePrice|number_format }}
</span> </span>
{% if travel_date.prices[3].effectiveDiscountPrice %} {% if travel_date.prices[3].effectiveDiscountPrice %}
<span class="new_price"> <span class="new_price">
ab {{ travel_date.prices[3].effectiveDiscountPrice|number_format }} ab {{ travel_date.prices[3].effectiveDiscountPrice|number_format }}
</span> </span>
{% endif %} {% endif %}
</span> </span>
@ -310,11 +329,13 @@
{% endif %} {% endif %}
<span class="block"> <span class="block">
<span class="{% if travel_date.prices[1].effectiveDiscountPrice %}old_price{% endif %}"> <span class="{% if travel_date.prices[1].effectiveDiscountPrice %}old_price{% endif %}">
ab {{ travel_date.prices[1].effectivePrice|number_format }} ab {{ travel_date.prices[1].effectivePrice|number_format }}
</span> </span>
{% if travel_date.prices[1].effectiveDiscountPrice %} {% if travel_date.prices[1].effectiveDiscountPrice %}
<span class="new_price"> <span class="new_price">
ab {{ travel_date.prices[1].effectiveDiscountPrice|number_format }} ab {{ travel_date.prices[1].effectiveDiscountPrice|number_format }}
</span> </span>
{% endif %} {% endif %}
</span> </span>
@ -325,20 +346,25 @@
</td> </td>
{% endif %} {% endif %}
<td data-title="Abflugorte / Zuschläge"> <td data-title="Abflugorte / Zuschläge">
<a href="#" class="color-brand" data-toggle="modal" data-target="#st-departures-modal-{{ loop.index0 }}"> <a href="#" class="color-brand" data-toggle="modal"
data-target="#st-departures-modal-{{ loop.index0 }}">
Flughäfen Flughäfen
</a> </a>
{% include 'default/components/departuresModal.html.twig' with { {% include 'default/components/departuresModal.html.twig' with {
'departures': travel_date.departures, 'departures': travel_date.departures,
'id': loop.index0 'id': loop.index0,
'startWeekday': travel_date.startWeekday,
'travelName': travel_date.name
} %} } %}
</td> </td>
{% if travel_date.effectiveStatus == 0 %} {% if travel_date.effectiveStatus == 0 %}
<td data-title="Verfügbarkeit" colspan="2"> <td data-title="Verfügbarkeit" colspan="2">
<div style=""> <div style="">
<img src="/images/icons/available-{{ travel_date.effectiveStatus }}.png" style="height: 24px; width: 24px;vertical-align:middle" alt=""> <img src="/images/icons/available-{{ travel_date.effectiveStatus }}.png"
style="height: 24px; width: 24px;vertical-align:middle"
alt="">
AUSGEBUCHT AUSGEBUCHT
</div> </div>
@ -346,7 +372,9 @@
{% else %} {% else %}
<td data-title="Verfügbarkeit"> <td data-title="Verfügbarkeit">
<div style=""> <div style="">
<img src="/images/icons/available-{{ travel_date.effectiveStatus }}.png" style="height: 24px; width: 24px;vertical-align:middle" alt=""> <img src="/images/icons/available-{{ travel_date.effectiveStatus }}.png"
style="height: 24px; width: 24px;vertical-align:middle"
alt="">
{% if travel_date.effectiveStatus == 1 %} {% if travel_date.effectiveStatus == 1 %}
BUCHBAR BUCHBAR
{% endif %} {% endif %}
@ -389,9 +417,11 @@
<div role="tabpanel" class="tab-pane" id="travel-map-content-tab"> <div role="tabpanel" class="tab-pane" id="travel-map-content-tab">
{% if travel_program.mapHtml is not empty %} {% if travel_program.mapHtml is not empty %}
{{ travel_program.mapHtml|raw|stripslashes|lozad }} {{ travel_program.mapHtml|raw|stripslashes }}
{% else %} {% else %}
<img src="{{ asset('/images/dummy.png') }}" data-src="/uploads/maps/{{ travel_program.mapImage ~ travel_program.mapImageExt }}" alt="Karte zum Reiseablauf" class="img-responsive lozad"> <img src="{{ asset('/images/dummy.png') }}"
data-src="/uploads/maps/{{ travel_program.mapImage ~ travel_program.mapImageExt }}"
alt="Karte zum Reiseablauf" class="img-responsive lozad">
<br clear="all"> <br clear="all">
{% endif %} {% endif %}
@ -407,7 +437,7 @@
{% for country in travel_program.countries %} {% for country in travel_program.countries %}
<h2>{{ country.name }}</h2> <h2>{{ country.name }}</h2>
{{ country.htmlInformation|raw }} {{ country.htmlInformation|raw|lozad }}
{% endfor %} {% endfor %}
</div> <!-- END tabpanel --> </div> <!-- END tabpanel -->

View file

@ -12,6 +12,6 @@
</section> </section>
<section class="clearfix"> <section class="clearfix">
{{ page.content|raw|keywords }} {{ page.content|raw|keywords|lozad }}
</section> </section>
{% endblock %} {% endblock %}

View file

@ -15,7 +15,6 @@
{% block body %} {% block body %}
<section class="clearfix"> <section class="clearfix">
<h1>Unsere beliebtesten Kulturreisen</h1> <h1>Unsere beliebtesten Kulturreisen</h1>
{{ render(controller('AppBundle:Component:offersCarousel')) }} {{ render(controller('AppBundle:Component:offersCarousel')) }}
</section><!-- end section --> </section><!-- end section -->

View file

@ -23,6 +23,13 @@ class Page
*/ */
private $id; private $id;
/**
* @var string
*
* @ORM\Column(name="model", type="string", length=255, nullable=true)
*/
private $model;
/** /**
* @Gedmo\TreeLeft * @Gedmo\TreeLeft
* @ORM\Column(type="integer", nullable=true) * @ORM\Column(type="integer", nullable=true)
@ -307,6 +314,30 @@ class Page
return $this->owner; return $this->owner;
} }
/**
* Set model
*
* @param string $model
*
* @return Page
*/
public function setModel($model)
{
$this->model = $model;
return $this;
}
/**
* Get model
*
* @return string
*/
public function getModel()
{
return $this->model;
}
/** /**
* Set ownerSecond * Set ownerSecond
* *

View file

@ -119,7 +119,7 @@ class PageRepository extends NestedTreeRepository
->where($qb->expr()->eq('node.parent', $rootPageId)) ->where($qb->expr()->eq('node.parent', $rootPageId))
->andWhere('node.showInNavi = 1') ->andWhere('node.showInNavi = 1')
->andWhere('node.status = 1') ->andWhere('node.status = 1')
->orderBy('node.date') ->orderBy('node.order')
->getQuery() ->getQuery()
->execute() ->execute()
; ;

View file

@ -793,7 +793,7 @@ a[id^="video_"]:before,
text-overflow: ellipsis; text-overflow: ellipsis;
word-wrap: break-word; word-wrap: break-word;
overflow: hidden; overflow: hidden;
line-height: 1.45em; line-height: 1.2em;
height: 3.6em; height: 3.6em;
} }
.travel-wrapper .item > a.item-button.single_line { .travel-wrapper .item > a.item-button.single_line {
@ -2866,6 +2866,12 @@ nav hr {
color: #fff; color: #fff;
background: #ffc926; background: #ffc926;
} }
.dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .dropdown-menu>.active>a:hover {
color: #fff;
background: #ffc926;
}
.yamm .dropdown-menu li h3 { .yamm .dropdown-menu li h3 {
font-size: 15px; font-size: 15px;
margin-bottom: 0; margin-bottom: 0;
@ -3703,7 +3709,21 @@ a,
top: 53px; top: 53px;
} }
} }
@media (max-width: 1024px) { @media (min-width:768px) and (max-width:991px) {
.topbar li.visible-sm {
display: inline-block !important
}
}
@media (max-width: 767px){
.topbar li {
line-height: 12px;
}
.topbar li.visible-xs {
padding-top: 4px;
}
}
@media (max-width: 991px) {
#sidebar #side-navigation .side-menu { #sidebar #side-navigation .side-menu {
width: 100%; width: 100%;
} }
@ -3752,7 +3772,7 @@ a,
top: 52px; top: 52px;
} }
} }
@media (max-width: 992px) { @media (max-width: 991px) {
/* Force table to not be like tables anymore */ /* Force table to not be like tables anymore */
#no-more-tables table, #no-more-tables table,
#no-more-tables thead, #no-more-tables thead,
@ -3813,7 +3833,7 @@ a,
content: attr(data-title); content: attr(data-title);
} }
} }
@media (max-width: 992px) { @media (max-width: 991px) {
/* Force table to not be like tables anymore */ /* Force table to not be like tables anymore */
.no-more-tables table, .no-more-tables table,
.no-more-tables thead, .no-more-tables thead,
@ -3920,7 +3940,7 @@ a,
} }
.fullscreen { .fullscreen {
padding: 0; padding: 0;
padding-top: 96px; padding-top: 110px;
} }
.absolute-carousel { .absolute-carousel {
top: 0px; top: 0px;
@ -5795,7 +5815,147 @@ input[type="radio"] .styled:checked + label::after {
.box-slider .slide:not(.active) {display: none;} .box-slider .slide:not(.active) {display: none;}
#preloader { #preloader {
display: none; display: none;
} }
.video-wrap {
float: right;
margin: 0 0 5px 20px;
position: relative;
max-width: 35%;
overflow: hidden;
}
.modal-body .video-wrap {
max-width: 50%;
}
.video-wrap .img-responsive {
margin: -8% 0;
}
.boxwidget .video-wrap {
float: right;
margin: 0;
position: relative;
max-width: 100%;
overflow: hidden;
}
.btn.btn-close-video {
padding: 8px 12px;
}
@media (max-width: 991px) {
.video-wrap {
max-width: 50%;
}
}
@media (max-width: 768px) {
.video-wrap {
float: right;
margin: 0 0 5px 20px;
position: relative;
max-width: 100%;
overflow: hidden;
height: 280px;
width: 100%;
}
.video-wrap .img-responsive {
position: absolute;
width: 100%;
top: 35%;
-webkit-transform: translate(0%, -50%);
-ms-transform: translate(0%, -50%);
transform: translate(0%, -50%);
z-index: 2;
margin: 0;
}
.boxwidget .video-wrap {
height: 180px;
}
}
.bootstrap-select .dropdown-toggle .filter-option {
overflow: hidden;
}
.g-absolute-centered {
position: absolute;
top: 50%;
left: 0;
right: 0;
-webkit-transform: translate(0%, -50%);
-ms-transform: translate(0%, -50%);
transform: translate(0%, -50%);
text-align: center;
z-index: 10;
}
.u-icon-v3 {
background-color: #ffc926;
border-radius: 10px;
cursor: pointer;
color: #fff !important;
width: auto;
font-size: 1rem;
line-height: 1.2rem;
font-weight: 500;
display: inline-block;
padding: 10px 15px;
-webkit-transition: all .2s ease-in-out;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
-webkit-box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.5);
-moz-box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.5);
box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.5);
}
.u-icon-v3 i {
position: relative;
display: inline-block;
z-index: 12;
}
.u-icon-v3:hover {
background-color: #648859 !important;
-webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
-moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
}
.tab-pane .h3l {
padding-bottom: 10px;
margin-bottom: 15px;
border-bottom: 1px solid #c2c2c2;
color: #616161;
display: block;
clear: both;
padding-top: 20px;
}
.youtube {
margin-bottom: 25px;
position: relative;
display: block;
height: 0;
padding: 0 0 56.25% 0;
overflow: hidden;
background-color: #000000;
}
.youtube iframe {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}

View file

@ -11,6 +11,76 @@ var observer = lozad('.lozad', {
observer.observe(); observer.observe();
var youtube_loader = function(self) {
options = {
width: 853,
height: 480,
autoplay: 1,
rel: 0,
class: "youtube-video",
frameborder: "0",
allowfullscreen: true
};
options.src = $(self).data('src') + "?rel=" + options.rel + "&autoplay=" + options.autoplay;
ret = $(document.createElement("iframe"));
var ele = $(self).parent().parent();
ele.html("");
ele.removeClass('video-wrap');
ele.addClass('youtube');
ele.append(ret);
ret.attr(options);
};
jQuery('a[data-type="youtube"]').on('click', function () {
youtube_loader(this);
});
var youtube_sterntours_video_closer = function(self) {
$('#show_sterntours_video_full').hide('slow', function () {
$(this).html("");
});
$('#show_sterntours_video_sidebar').show();
};
var youtube_sterntours_video_loader = function(self) {
$('#show_sterntours_video_sidebar').hide();
options = {
width: 853,
height: 480,
autoplay: 1,
rel: 0,
class: "youtube-video",
frameborder: "0",
allowfullscreen: true
};
options.src = $(self).data('src') + "?rel=" + options.rel + "&autoplay=" + options.autoplay;
div = $(document.createElement("div"));
div.addClass('youtube');
ret = $(document.createElement("iframe"));
h1 = $(document.createElement("h1")).html("Wir: STERN TOURS <a href=\"#\" title=\"Close\" class=\"pull-right btn btn-default btn-close-video\" id=\"sterntorus_video_close\"><i class=\"fa fa-times\"></i> <span class=\"\"></span></a>");
var ele = $('#show_sterntours_video_full');
ele.html("");
ele.append(h1);
div.append(ret);
ele.append(div);
ret.attr(options);
ele.show('slow');
jQuery('a#sterntorus_video_close').on('click', function () {
youtube_sterntours_video_closer(this);
});
};
jQuery('a[data-type="youtube_sterntours_video"]').on('click', function () {
youtube_sterntours_video_loader(this);
});
jQuery("button.btn-mobile").bind("click", function(e) { jQuery("button.btn-mobile").bind("click", function(e) {
e.preventDefault(); e.preventDefault();
jQuery(this).toggleClass('btn-mobile-active'); jQuery(this).toggleClass('btn-mobile-active');
@ -19,14 +89,11 @@ jQuery("button.btn-mobile").bind("click", function(e) {
if(jQuery(this).hasClass('btn-mobile-active')) { if(jQuery(this).hasClass('btn-mobile-active')) {
jQuery('body').append('<div id="menu-overlay"></div>'); jQuery('body').append('<div id="menu-overlay"></div>');
if(!jQuery("#topMain").hasClass('nav-onepage') || window.width > 960) { /* onepage fix */ if(!jQuery("#topMain").hasClass('nav-onepage') || window.width > 960) { /* onepage fix */
jQuery('html').addClass('noscroll'); jQuery('html').addClass('noscroll');
window.currentScroll = jQuery(window).scrollTop(); window.currentScroll = jQuery(window).scrollTop();
} }
} else { } else {
if(!jQuery("#topMain").hasClass('nav-onepage') || window.width > 960) { /* onepage fix */ if(!jQuery("#topMain").hasClass('nav-onepage') || window.width > 960) { /* onepage fix */
jQuery('html,body').animate({scrollTop: currentScroll}, 300, 'easeInOutExpo'); jQuery('html,body').animate({scrollTop: currentScroll}, 300, 'easeInOutExpo');
} }
@ -59,7 +126,6 @@ jQuery(document).ready(function($) {
jQuery(document).ready(function($) { jQuery(document).ready(function($) {
"use strict"; "use strict";
window.addEventListener("load", function(){ window.addEventListener("load", function(){
window.cookieconsent.initialise({ window.cookieconsent.initialise({
"palette": { "palette": {
@ -83,7 +149,7 @@ jQuery(document).ready(function($) {
VIDEOS --> VIDEOS -->
=============================================== */ =============================================== */
var videos$ = $('a[id^="video_"]'); /* var videos$ = $('a[id^="video_"]');
function videoInitHandler() function videoInitHandler()
{ {
@ -136,7 +202,8 @@ jQuery(document).ready(function($) {
el$.text(caption + ' einblenden'); el$.text(caption + ' einblenden');
el$.addClass('st-collapsed'); el$.addClass('st-collapsed');
} }
}); });*/
/* ============================================== /* ==============================================
KEYWORDS --> KEYWORDS -->
@ -147,9 +214,13 @@ jQuery(document).ready(function($) {
$('a.show-layer').click(function() { $('a.show-layer').click(function() {
$.get($(this).attr('href')).then(function(r) { $.get($(this).attr('href')).then(function(r) {
modal$.find('.modal-body').html(r); modal$.find('.modal-body').html(r);
modal$.find('a[id^="video_"]').each(videoInitHandler); modal$.find('a[data-type="youtube"]').on('click', function () {
youtube_loader(this);
});
modal$.find('img.lozad').each(function () {
$(this).attr('src', $(this).data('src'));
});
modal$.modal('show'); modal$.modal('show');
}); });
return false; return false;

View file

@ -54,6 +54,8 @@ class AppExtension extends \Twig_Extension
]), ]),
'get_base_template' => new \Twig_SimpleFunction('get_base_template', [$this, 'getBaseTemplate']), 'get_base_template' => new \Twig_SimpleFunction('get_base_template', [$this, 'getBaseTemplate']),
'get_base_url' => new \Twig_SimpleFunction('get_base_url', [$this, 'getBaseUrl']), 'get_base_url' => new \Twig_SimpleFunction('get_base_url', [$this, 'getBaseUrl']),
'get_file_last_time' => new \Twig_SimpleFunction('get_file_last_time', [$this, 'getFileLastTime']),
]; ];
} }
@ -71,6 +73,13 @@ class AppExtension extends \Twig_Extension
{ {
return ($this->requestStack->getCurrentRequest()->isXmlHttpRequest() ? 'ajax' : 'base') . '.html.twig'; return ($this->requestStack->getCurrentRequest()->isXmlHttpRequest() ? 'ajax' : 'base') . '.html.twig';
} }
public function getFileLastTime($file)
{
if (file_exists($file)) {
return filemtime($file);
}
return date("Ymd", time());
}
public function getBaseUrl() public function getBaseUrl()
{ {
@ -120,10 +129,10 @@ class AppExtension extends \Twig_Extension
public function lozadFilter($html) public function lozadFilter($html)
{ {
// return $html;
//(<img\s*?)src $dom = new \DOMDocument('1.0', 'utf-8');
$dom = new \DOMDocument;
$dom->loadHTML('<?xml encoding="utf-8" ?>'.$html); $dom->loadHTML('<?xml encoding="utf-8" ?>'.$html);
$images = $dom->getElementsByTagName('img'); $images = $dom->getElementsByTagName('img');
foreach ($images as $image) { foreach ($images as $image) {
@ -141,6 +150,53 @@ class AppExtension extends \Twig_Extension
$image->setAttribute('src', 'images/placeholder-image.png'); $image->setAttribute('src', 'images/placeholder-image.png');
$image->setAttribute('class', 'lozad'); $image->setAttribute('class', 'lozad');
} }
$h2s = $dom->getElementsByTagName('h2');
foreach ($h2s as $h2) {
$h2->setAttribute('class', 'h3 h3l');
}
$links = $dom->getElementsByTagName('iframe');
foreach ($links as $link) {
if(strpos($link->getAttribute('src'), 'youtube') !== false){
$youtubeId = str_replace('https://www.youtube-nocookie.com/embed/', '', $link->getAttribute('src'));
$youtubeId = str_replace('?rel=0', '', $youtubeId);
//add html
$video = new \DOMDocument('1.0', 'utf-8');
$video->loadHTML('<?xml encoding="utf-8" ?><div class="video-wrap"><div class="g-absolute-centered"><a data-type="youtube" data-src="https://www.youtube-nocookie.com/embed/'.$youtubeId.'" href="javascript:;"><div class="u-icon-v3"> Video ansehen <i class="fa fa-play"></i></div></a> </div><img src="/images/placeholder-image.png" data-src="https://img.youtube.com/vi/'.$youtubeId.'/sddefault.jpg" class="img-responsive lozad" alt=""></div>');
$link->parentNode->insertBefore($dom->importNode($video->documentElement, true), $link->nextSibling);
$link->parentNode->removeChild($link);
}
}
$links = $dom->getElementsByTagName('a');
foreach ($links as $link) {
if(strpos($link->getAttribute('id'), 'video_') !== false){
$youtubeId = str_replace('video_', '', $link->getAttribute('id'));
//add html
$video = new \DOMDocument('1.0', 'utf-8');
$video->loadHTML('<?xml encoding="utf-8" ?><div class="video-wrap"><div class="g-absolute-centered"><a data-type="youtube" data-src="https://www.youtube-nocookie.com/embed/'.$youtubeId.'" href="javascript:;"><div class="u-icon-v3"> Video ansehen <i class="fa fa-play"></i></div></a> </div><img src="/images/placeholder-image.png" data-src="https://img.youtube.com/vi/'.$youtubeId.'/sddefault.jpg" class="img-responsive lozad" alt=""></div>');
if($link->parentNode->tagName == 'p')
{
$p = $link->parentNode;
$p->parentNode->insertBefore($dom->importNode($video->documentElement, true), $p->nextSibling);
$p->parentNode->removeChild($p);
}else{
$p = $link;
$p->parentNode->insertBefore($dom->importNode($video->documentElement, true), $link->nextSibling);
$p->parentNode->removeChild($link);
}
}
}
$html = $dom->saveHTML(); $html = $dom->saveHTML();
return $html; return $html;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,49 @@
{
"name": "Stern Tours",
"short_name": "sterntours",
"theme_color": "#648859",
"background_color": "#ffffff",
"display": "standalone",
"orientation": "portrait",
"Scope": "/",
"start_url": "/",
"splash_pages": null,
"icons": [
{
"src": "\/android-icon-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "\/android-icon-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/android-icon-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/android-icon-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/android-icon-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/android-icon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
]
}