* Neues Form-Widget für input + HTML5-datalist (autocomplete)
* Layout head-Bereich: canonical-Tag und title-Tag, sowie robots/noindex,nofollow für einige Seiten * Abfahrtsorte in der Suchmaske auf der Startseite angepasst * Traveltainment-Suche: Suchergebnisseite, CMS-Template (mit Suchmaske oben), Sidebar-Widget * Behoben: Vorschaubild von Reiseprogrammen wird nicht mehr angezeigt * Bewertung für google-Ergebniseintrag (In der Sidebar) * E-Mail-Signatur korrigiert * Eltern-Template wird dynamisch bestimmt / Template ohne "Rahmen" wird für AJAX-Anfragen verwendet * Termin-Status in Termintabelle auf Reiseprogrammseiten anzeigen * /create-tree : Reiseführer-Unterseiten mit Reiseführer-Hauptseite verknüpfen * Behoben: Exception bei Öffnen bestimmter Reisetermine; Bei diesen Terminen fehlen die Abfahrtsorte * Behoben: Video klappt erst beim 2. Klick aus git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3299 f459cee4-fb09-11de-96c3-f9c5f16c3c76
This commit is contained in:
parent
d8fcf531ec
commit
ff9c159297
27 changed files with 1167 additions and 229 deletions
|
|
@ -6,6 +6,7 @@ use AppBundle\Entity\BreadcrumbEntry;
|
|||
use AppBundle\Entity\Page;
|
||||
use AppBundle\Entity\TravelProgram;
|
||||
use AppBundle\Form\SearchRequestType;
|
||||
use AppBundle\Form\TtSearchRequestType;
|
||||
use AppBundle\Util;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Doctrine\ORM\Query\Expr;
|
||||
|
|
@ -27,8 +28,7 @@ class DefaultController extends Controller
|
|||
|
||||
public function defaultAction(Request $request)
|
||||
{
|
||||
// #TODO 404
|
||||
die ("caught");
|
||||
throw new $this->createNotFoundException();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -36,14 +36,12 @@ class DefaultController extends Controller
|
|||
*/
|
||||
public function homeAction()
|
||||
{
|
||||
//$departures = $this->getEntityManager()->getRepository('AppBundle:TravelDeparturePoint')->findAll();
|
||||
$destinations = $this->getEntityManager()->getRepository('AppBundle:TravelCountry')->findAll();
|
||||
|
||||
return $this->render('default/pages/home.html.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'destinations' => $destinations,
|
||||
'startDate' => new \DateTime('+5 day'),
|
||||
'endDate' => new \DateTime('+19 day')
|
||||
'canonical_url' => Util::getBaseUrl() .'/',
|
||||
'show_search_sidebar_widget' => false,
|
||||
'search_form' => $this->createForm(SearchRequestType::class)->createView(),
|
||||
'tt_search_form' => $this->createForm(TtSearchRequestType::class)->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -51,7 +49,7 @@ class DefaultController extends Controller
|
|||
{
|
||||
return $this->render('default/pages/default.html.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'page' => $page
|
||||
'page' => $page,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -60,14 +58,6 @@ class DefaultController extends Controller
|
|||
return $this->render('default/pages/overview.html.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'page' => $page,
|
||||
|
||||
// #WORKAROUND Special navigation logic here adapted from the old website: Don't show child entries
|
||||
// #TODO Only applies at level 0
|
||||
/*
|
||||
'nav_pages' => $page->getChildren(),
|
||||
'nav_child_pages' => [],
|
||||
'nav_open_node' => null
|
||||
*/
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -108,6 +98,17 @@ class DefaultController extends Controller
|
|||
]);
|
||||
}
|
||||
|
||||
public function cmsTraveltainmentAction(Page $page)
|
||||
{
|
||||
$form = $this->createForm(TtSearchRequestType::class);
|
||||
|
||||
return $this->render('default/pages/traveltainment.html.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'page' => $page,
|
||||
'tt_search_form' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function cmsTravelProgramAction(Page $page)
|
||||
{
|
||||
$this->getDoctrine()->getRepository('AppBundle:TravelPeriod')->getTrueTravelPeriods($page->getTravelProgram());
|
||||
|
|
@ -160,6 +161,69 @@ class DefaultController extends Controller
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/tt-suche")
|
||||
*/
|
||||
public function ttSearchAction(Request $request)
|
||||
{
|
||||
$form = $this->createForm(TtSearchRequestType::class);
|
||||
$form->handleRequest($request);
|
||||
|
||||
if ($form->isValid())
|
||||
{
|
||||
$data = $form->getData();
|
||||
|
||||
$ttUrl = 'http://www.vidado.com/booking/ibe_bp2/index.php?CID=8ce65750ce5af9d9a6b22c9b04772ea7&formular=4&engine=pauschal&showresult=1';
|
||||
$ttUrl .= '&termin=' . $data['termin']->format('d.m.Y');
|
||||
$ttUrl .= '&ruecktermin=' . $data['ruecktermin']->format('d.m.Y');
|
||||
if (!empty($data['dauer'])) $ttUrl .= '&dauer='. $data['dauer'];
|
||||
if (!empty($data['t']))
|
||||
{
|
||||
$ttUrl .= '&personen=25'. str_repeat(';25', $data['t']);
|
||||
for ($i = 0; $i < 3; ++$i)
|
||||
{
|
||||
if (!empty($data['child'.$i]))
|
||||
{
|
||||
$ttUrl .= ';'. $data['child'. $i];
|
||||
}
|
||||
}
|
||||
}
|
||||
$ttUrl .= '&detail=';
|
||||
if (!empty($data['topRegion']) && isset(TtSearchRequestType::$DESTINATION_CHOICES[$data['topRegion']]))
|
||||
{
|
||||
$ttUrl .= 'hotel&topRegion='. TtSearchRequestType::$DESTINATION_CHOICES[$data['topRegion']];
|
||||
}
|
||||
else
|
||||
{
|
||||
$ttUrl .= 'zielgebiet';
|
||||
}
|
||||
if (!empty($data['abflughafen'])) $ttUrl .= '&abflughafen='. $data['abflughafen'];
|
||||
if (!empty($data['shotel'])) $ttUrl .= '&shotel='. urlencode($data['shotel']);
|
||||
if (!empty($data['kategorie'])) $ttUrl .= '&kategorie='. $data['kategorie'];
|
||||
if (!empty($data['zimmer'])) $ttUrl .= '&zimmer='. $data['zimmer'];
|
||||
if (!empty($data['verpflegung'])) $ttUrl .= '&verpflegung='. $data['verpflegung'];
|
||||
if (!empty($data['hbfges'])) $ttUrl .= '&hbfges='. $data['hbfges'];
|
||||
if (!empty($data['hbfanz'])) $ttUrl .= '&hbfanz='. $data['hbfanz'];
|
||||
if (!empty($data['hbfempf'])) $ttUrl .= '&hbfempf='. $data['hbfempf'];
|
||||
if ($data['familie_kinder'] ?? false) $ttUrl .= '&familie_kinder=0';
|
||||
if ($data['strand'] ?? false) $ttUrl .= '&strand=0';
|
||||
if ($data['wellness'] ?? false) $ttUrl .= '&wellness=0';
|
||||
if ($data['typ'] ?? false) $ttUrl .= '&typ=0';
|
||||
if (!empty($data['sportangebot'])) $ttUrl .= '&sportangebot='. $data['sportangebot'];
|
||||
|
||||
//die($ttUrl);
|
||||
//http://www.vidado.com/booking/ibe_bp2/index.php?CID=8ce65750ce5af9d9a6b22c9b04772ea7&formular=4&engine=pauschal&detail=hotel&showresult=1&termin=26.02.2017&ruecktermin=12.03.2017&dauer=6_14&personen=25;25&abflughafen=-1&topRegion=727
|
||||
//http://www.vidado.com/booking/ibe_bp2/index.php?CID=8ce65750ce5af9d9a6b22c9b04772ea7&formular=4&engine=pauschal&detail=zielgebiet&showresult=1&termin=26.02.2017&ruecktermin=12.03.2017&dauer=6_14&personen=25;25&abflughafen=-1&topRegion=
|
||||
}
|
||||
|
||||
return $this->render('default/pages/ttSearch.html.twig', [
|
||||
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
|
||||
'breadcrumb_entries' => [new BreadcrumbEntry('Suchen')],
|
||||
'tt_search_form' => $form->createView(),
|
||||
'tt_url' => $ttUrl ?? null,
|
||||
]);
|
||||
}
|
||||
|
||||
public function headerAction()
|
||||
{
|
||||
$qb = $this->getEntityManager()->createQueryBuilder();
|
||||
|
|
@ -255,8 +319,6 @@ class DefaultController extends Controller
|
|||
}
|
||||
return $this->render('default/components/sidebar/searchSidebarWidget.html.twig', [
|
||||
'search_form' => $this->createForm(SearchRequestType::class, [
|
||||
'b' => new \DateTime('+5 day'),
|
||||
'e' => new \DateTime('+19 day'),
|
||||
'c' => $destination,
|
||||
'c2' => $combinedDestination,
|
||||
])->createView()
|
||||
|
|
@ -302,6 +364,8 @@ class DefaultController extends Controller
|
|||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 47 WHERE catalog_id = 3 AND owner = 0');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 66 WHERE catalog_id = 6 AND owner = 0');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 2803 WHERE catalog_id = 14 AND owner = 0');
|
||||
// Add missing owner relation
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 13 WHERE id in (1314,1426,1472,1548)');
|
||||
|
||||
$lft = 0;
|
||||
$this->createTree(0, $lft, 0);
|
||||
|
|
@ -311,6 +375,7 @@ class DefaultController extends Controller
|
|||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 0 WHERE parent_id = 47 AND catalog_id = 3');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 0 WHERE parent_id = 66 AND catalog_id = 6');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 0 WHERE parent_id = 2803 AND catalog_id = 14');
|
||||
$em->getConnection()->executeUpdate('UPDATE page SET owner = 0 WHERE id in (1314,1426,1472,1548)');
|
||||
|
||||
$em->commit();
|
||||
|
||||
|
|
|
|||
|
|
@ -78,9 +78,6 @@ class BookingRequest
|
|||
*/
|
||||
private $email;
|
||||
|
||||
/*
|
||||
* @ Assert\Valid()
|
||||
*/
|
||||
private $travelers = [];
|
||||
|
||||
private $notes;
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ final class TravelDate
|
|||
$departures = $this->flightPeriod === null ? [] : $this->flightPeriod->getDepartures();
|
||||
}
|
||||
$defaultDepartures = DepartureUtil::filterDeparturesByPeriod($defaultDepartures, $this->start, $this->end, true);
|
||||
$this->departures = DepartureUtil::mergeDeparturesWithDefaults($defaultDepartures, $departures, true);
|
||||
$this->departures = DepartureUtil::mergeDeparturesWithDefaults($departures, $defaultDepartures, true);
|
||||
}
|
||||
return $this->departures;
|
||||
}
|
||||
|
|
|
|||
37
trunk/src/AppBundle/Form/DatalistType.php
Normal file
37
trunk/src/AppBundle/Form/DatalistType.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* @author Ulrich Hecht <ulrich.hecht@hecht-software.de>
|
||||
* @date 02/20/2017
|
||||
*/
|
||||
|
||||
namespace AppBundle\Form;
|
||||
|
||||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\Form\FormView;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class DatalistType extends AbstractType
|
||||
{
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setRequired(['choices']);
|
||||
}
|
||||
|
||||
public function buildView(FormView $view, FormInterface $form, array $options)
|
||||
{
|
||||
$view->vars['choices'] = $options['choices'];
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return 'datalist';
|
||||
}
|
||||
|
||||
public function getParent()
|
||||
{
|
||||
return TextType::class;
|
||||
}
|
||||
}
|
||||
|
|
@ -22,8 +22,14 @@ class SearchRequestType extends AbstractType
|
|||
{
|
||||
$builder->setMethod('GET');
|
||||
$builder
|
||||
->add('b', StDateType::class, ['required' => false])
|
||||
->add('e', StDateType::class, ['required' => false])
|
||||
->add('b', StDateType::class, [
|
||||
'required' => false,
|
||||
'data' => new \DateTime('+5 day'),
|
||||
])
|
||||
->add('e', StDateType::class, [
|
||||
'required' => false,
|
||||
'data' => new \DateTime('+19 day'),
|
||||
])
|
||||
->add('c', EntityType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'beliebiges Reiseziel',
|
||||
|
|
|
|||
732
trunk/src/AppBundle/Form/TtSearchRequestType.php
Normal file
732
trunk/src/AppBundle/Form/TtSearchRequestType.php
Normal file
|
|
@ -0,0 +1,732 @@
|
|||
<?php
|
||||
/**
|
||||
* @author Ulrich Hecht <ulrich.hecht@hecht-software.de>
|
||||
* @date 02/17/2017
|
||||
*/
|
||||
|
||||
namespace AppBundle\Form;
|
||||
|
||||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class TtSearchRequestType extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @param FormBuilderInterface $builder
|
||||
* @param array $options
|
||||
*/
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
$childChoices = ['< 2 Jahre' => 1];
|
||||
for ($i = 2; $i <= 16; ++$i)
|
||||
{
|
||||
$childChoices[$i .' Jahre'] = $i;
|
||||
}
|
||||
$defaultStartDate = new \DateTime('+5 day');
|
||||
$defaultEndDate = new \DateTime('+19 day');
|
||||
|
||||
$builder->setMethod('GET');
|
||||
$builder
|
||||
->add('termin', StDateType::class, [
|
||||
'required' => false,
|
||||
'empty_data' => $defaultStartDate->format('d.m.Y'),
|
||||
'data' => $defaultStartDate,
|
||||
])
|
||||
->add('ruecktermin', StDateType::class, [
|
||||
'required' => false,
|
||||
'empty_data' => $defaultEndDate->format('d.m.Y'),
|
||||
'data' => $defaultEndDate,
|
||||
])
|
||||
->add('dauer', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'empty_data' => '6_14',
|
||||
'placeholder' => 'beliebige Reisedauer',
|
||||
'choices' => self::$DURATION_CHOICES,
|
||||
])
|
||||
->add('topRegion', DatalistType::class, [
|
||||
'required' => false,
|
||||
'choices' => array_keys(self::$DESTINATION_CHOICES),
|
||||
])
|
||||
->add('t', ChoiceType::class, [
|
||||
'choices' => self::$TRAVELER_CHOICES,
|
||||
])
|
||||
;
|
||||
for ($i = 0; $i < 3; ++$i)
|
||||
{
|
||||
$builder->add('child'. $i, ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Kind '. ($i + 1) .' - nicht vorhanden',
|
||||
'choices' => $childChoices
|
||||
]);
|
||||
}
|
||||
$builder
|
||||
->add('abflughafen', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Abflughafen - beliebig',
|
||||
'choices' => self::$DEPARTURE_CHOICES,
|
||||
])
|
||||
->add('shotel', TextType::class, ['required' => false])
|
||||
->add('kategorie', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Hotel - beliebig',
|
||||
'choices' => self::$HOTEL_CATEGORY_CHOICES,
|
||||
])
|
||||
->add('zimmer', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Zimmertyp - beliebig',
|
||||
'choices' => self::$ROOM_TYPE_CHOICES,
|
||||
])
|
||||
->add('verpflegung', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Verpflegung - beliebig',
|
||||
'choices' => self::$FARE_CHOICES
|
||||
])
|
||||
->add('hbfges', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Bewertung - beliebig',
|
||||
'choices' => self::$HOTEL_RATING_CHOICES,
|
||||
])
|
||||
->add('hbfanz', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Anzahl Bewertungen - beliebig',
|
||||
'choices' => self::$HOTEL_RATING_COUNT_CHOICES,
|
||||
])
|
||||
->add('hbfempf', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Weiterempfehlungen - beliebig',
|
||||
'choices' => self::$HOTEL_RECOMM_CHOICES,
|
||||
])
|
||||
->add('familie_kinder', CheckboxType::class, ['required' => false])
|
||||
->add('strand', CheckboxType::class, ['required' => false])
|
||||
->add('wellness', CheckboxType::class, ['required' => false])
|
||||
->add('typ', CheckboxType::class, ['required' => false])
|
||||
->add('sportangebot', ChoiceType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => 'Sportangebot - beliebig',
|
||||
'choices' => self::$SPORT_CHOICES,
|
||||
])
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsResolver $resolver
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults(array(
|
||||
'csrf_protection' => false,
|
||||
));
|
||||
}
|
||||
|
||||
public function getBlockPrefix()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
private static $TRAVELER_CHOICES = [
|
||||
'1 Erwachsene(r)' => 1,
|
||||
'2 Erwachsene' => 2,
|
||||
'3 Erwachsene' => 3,
|
||||
'4 Erwachsene' => 4,
|
||||
];
|
||||
|
||||
private static $DURATION_CHOICES = [
|
||||
'1 - 4 Tage' => '9',
|
||||
'5 - 8 Tage' => '10',
|
||||
'1 Woche' => '6_7',
|
||||
'9 - 12 Tage' => '7',
|
||||
'13 - 15 Tage' => '3',
|
||||
'2 Wochen' => '6_14',
|
||||
'16 - 22 Tage' => '12',
|
||||
'3 Wochen' => '6_21',
|
||||
'> 22 Tage oder länger' => '13',
|
||||
];
|
||||
|
||||
private static $HOTEL_CATEGORY_CHOICES = [
|
||||
'2 Sterne' => 0,
|
||||
'3 Sterne' => 1,
|
||||
'4 Sterne' => 2,
|
||||
'5 Sterne' => 3,
|
||||
];
|
||||
|
||||
private static $ROOM_TYPE_CHOICES = [
|
||||
'Einzelzimmer' => 5,
|
||||
'Doppelzimmer' => 6,
|
||||
'Familienzimmer' => 2,
|
||||
'Bungalow' => 0,
|
||||
'Appartment' => 7,
|
||||
];
|
||||
|
||||
private static $FARE_CHOICES = [
|
||||
'nur Übernachtung' => 0,
|
||||
'Frühstück' => 1,
|
||||
'Halbpension' => 2,
|
||||
'Vollpension' => 3,
|
||||
'All Inclusive' => 4,
|
||||
];
|
||||
|
||||
private static $HOTEL_RATING_CHOICES = [
|
||||
'min. 3.0 von 6.0' => 30,
|
||||
'min. 4.0 von 6.0' => 40,
|
||||
'min. 5.0 von 6.0' => 50,
|
||||
'6.0 von 6.0' => 60,
|
||||
];
|
||||
|
||||
private static $HOTEL_RATING_COUNT_CHOICES = [
|
||||
'min. 5' => 5,
|
||||
'min. 10' => 10,
|
||||
'min. 25' => 25,
|
||||
'min. 50' => 50,
|
||||
'min. 100' => 100,
|
||||
];
|
||||
|
||||
private static $HOTEL_RECOMM_CHOICES = [
|
||||
'min. 80%' => 800,
|
||||
'min. 90%' => 900,
|
||||
'100%' => 1000,
|
||||
];
|
||||
|
||||
private static $SPORT_CHOICES = [
|
||||
'großes Sportangebot' => 10,
|
||||
'Tennis' => 0,
|
||||
'Golf' => 1,
|
||||
'Squash' => 2,
|
||||
'Radsport' => 3,
|
||||
'Wassersport' => 4,
|
||||
'Tauchen' => 5,
|
||||
'Reiten' => 6,
|
||||
'Wandern' => 7,
|
||||
'Surfen' => 8,
|
||||
];
|
||||
|
||||
private static $DEPARTURE_CHOICES = [
|
||||
'Nord' => 5000,
|
||||
'S\xFCd' => 5001,
|
||||
'West' => 5002,
|
||||
'Ost' => 5003,
|
||||
'Amsterdam (NL)' => 1,
|
||||
'Basel-Mulhouse (CH)' => 3,
|
||||
'Berlin Brandenburg' => 141,
|
||||
'Berlin-Sch\xF6nefeld' => 4,
|
||||
'Berlin-Tegel' => 5,
|
||||
'Bremen' => 8,
|
||||
'Br\xFCssel (B)' => 9,
|
||||
'Br\xFCssel Charleroi (B)' => 67,
|
||||
'Dortmund' => 10,
|
||||
'Dresden' => 11,
|
||||
'D\xFCsseldorf' => 12,
|
||||
'Eindhoven (NL)' => 73,
|
||||
'Enschede (NL)' => 13,
|
||||
'Erfurt-Weimar' => 14,
|
||||
'Frankfurt' => 15,
|
||||
'Frankfurt-Hahn' => 16,
|
||||
'Friedrichshafen' => 17,
|
||||
'Genf (CH)' => 18,
|
||||
'Graz (A)' => 19,
|
||||
'Groningen (NL)' => 81,
|
||||
'Hamburg' => 20,
|
||||
'Hannover' => 21,
|
||||
'Innsbruck (A)' => 23,
|
||||
'Karlsruhe' => 24,
|
||||
'Kassel-Calden' => 25,
|
||||
'Klagenfurt (A)' => 27,
|
||||
'K\xF6ln-Bonn' => 28,
|
||||
'Leipzig/Halle' => 29,
|
||||
'Linz (A)' => 30,
|
||||
'L\xFCbeck' => 31,
|
||||
'L\xFCttich (B)' => 32,
|
||||
'Luxemburg' => 33,
|
||||
'Maastricht - Aachen (NL)' => 34,
|
||||
'Magdeburg Cochstedt' => 139,
|
||||
'Memmingen' => 90,
|
||||
'M\xFCnchen' => 36,
|
||||
'M\xFCnster-Osnabr\xFCck' => 37,
|
||||
'Niederrhein (Weeze)' => 49,
|
||||
'N\xFCrnberg' => 38,
|
||||
'Paderborn' => 39,
|
||||
'Rostock' => 40,
|
||||
'Saarbr\xFCcken' => 41,
|
||||
'Salzburg (A)' => 42,
|
||||
'Schwerin' => 43,
|
||||
'Strasbourg (F)' => 44,
|
||||
'Stuttgart' => 45,
|
||||
'Warschau (PL)' => 77,
|
||||
'Wien (A)' => 46,
|
||||
'Z\xFCrich (CH)' => 47,
|
||||
'Zweibr\xFCcken' => 48,
|
||||
];
|
||||
|
||||
public static $DESTINATION_CHOICES = [
|
||||
'Balearen' => 10000,
|
||||
'- Formentera' => 627,
|
||||
'- Ibiza' => 32,
|
||||
'- Mallorca' => 35,
|
||||
'- Menorca' => 630,
|
||||
'Kanaren' => 10001,
|
||||
'- Fuerteventura' => 832,
|
||||
'- Teneriffa' => 56,
|
||||
'- La Palma' => 675,
|
||||
'- Lanzarote' => 676,
|
||||
'- Gran Canaria' => 345,
|
||||
'- La Gomera' => 50,
|
||||
'- El Hierro' => 59,
|
||||
'- Graciosa' => 670,
|
||||
'Portugal' => 10002,
|
||||
'- Faro & Algarve' => 637,
|
||||
'- Lissabon & Umgebung' => 674,
|
||||
'- Costa da Caparica (Setúbal)' => 636,
|
||||
'- Alentejo - Beja / Setubal / Evora / Santarem / Portalegre' => 339,
|
||||
'- Porto' => 467,
|
||||
'- Costa do Estoril (Lissabon)' => 695,
|
||||
'- Costa de Prata (Leira / Coimbra / Aveiro)' => 457,
|
||||
'- Costa Verde (Braga / Viana do Castelo)' => 494,
|
||||
'- Madeira' => 639,
|
||||
'- Madeira Rundreisen' => 2244,
|
||||
'- Coimbra / Leiria / Castello Branco' => 338,
|
||||
'- Azoren' => 664,
|
||||
'- Azoren Rundreisen' => 2246,
|
||||
'- Porto Santo' => 2662,
|
||||
'- Braga / Vila Real / Viano do Castelo / Branganca' => 2660,
|
||||
'- Aveiro / Guarda / Viseu' => 2659,
|
||||
'- Costa Azul (Setubal / Beja)' => 2658,
|
||||
'Spanisches Festland' => 10003,
|
||||
'- Spanien Rundreise' => 2068,
|
||||
'- Barcelona & Umgebung' => 2068,
|
||||
'- Golf von Almeria' => 63,
|
||||
'- Costa del Sol & Costa Tropical' => 62,
|
||||
'- Costa Blanca & Costa Calida' => 64,
|
||||
'- Costa Brava' => 2013,
|
||||
'- Madrid & Umgebung' => 794,
|
||||
'- Andalusien Inland' => 229,
|
||||
'- Andalusien Rundreisen' => 2253,
|
||||
'- Costa Barcelona' => 931,
|
||||
'- Costa Dorada' => 2054,
|
||||
'- Costa de la Luz' => 61,
|
||||
'- Nordspanien - Atlantikküste' => 505,
|
||||
'- Costa Azahar' => 2014,
|
||||
'- Zentral Spanien' => 793,
|
||||
'- Provinz Murcia Inland' => 2661,
|
||||
'- Provinz Valencia Inland' => 4202,
|
||||
'- Spanien Nordosten & Pyrenäen' => 65,
|
||||
'- Ceuta' => 4203,
|
||||
'- Melilla' => 4204,
|
||||
'Türkei' => 10004,
|
||||
'- Rundreisen' => 946,
|
||||
'- Side & Alanya' => 643,
|
||||
'- Kemer & Beldibi' => 644,
|
||||
'- Istanbul & Umgebung' => 373,
|
||||
'- Antalya & Belek' => 434,
|
||||
'- Kusadasi & Didyma' => 651,
|
||||
'- Dalaman - Fethiye - Ölüdeniz' => 646,
|
||||
'- Ayvalik, Cesme & Izmir' => 652,
|
||||
'- Marmaris & Icmeler & Datca' => 647,
|
||||
'- Bodrum' => 648,
|
||||
'- Ost-Thrakien & Marmarameer' => 4108,
|
||||
'- Schwarzmeerküste Türkei' => 2511,
|
||||
'- Türkei Inland' => 526,
|
||||
'- Mersin - Adana - Antakya' => 542,
|
||||
'Griechische Inseln' => 10005,
|
||||
'- Kreta' => 616,
|
||||
'- Rhodos' => 655,
|
||||
'- Kos' => 7,
|
||||
'- Santorin' => 12,
|
||||
'- Korfu & Paxi' => 6,
|
||||
'- Mykonos' => 9,
|
||||
'- Zakynthos' => 14,
|
||||
'- Euböa (Evia)' => 383,
|
||||
'- Karpathos & Kasos' => 15,
|
||||
'- Lesbos & Lemnos' => 8,
|
||||
'- Poros' => 546,
|
||||
'Griechische Festland' => 10006,
|
||||
'- Athen & Umgebung' => 18,
|
||||
'- Thessaloniki' => 625,
|
||||
'- Olympische Riviera' => 733,
|
||||
'- Chalkidiki' => 534,
|
||||
'- Peloponnes' => 382,
|
||||
'- Epirus & Westgriechenland' => 553,
|
||||
'- Pilion' => 734,
|
||||
'- Thessalien & Mittelgriechenland' => 4103,
|
||||
'Italien, Malta' => 10007,
|
||||
'- Italien Rundreise' => 2235,
|
||||
'- Malta Rundreise' => 2513,
|
||||
'- Venetien' => 82,
|
||||
'- Malta' => 595,
|
||||
'- Rom & Umgebung' => 560,
|
||||
'- Toskana' => 537,
|
||||
'- Emilia Romagna' => 81,
|
||||
'- Aostatal & Piemont & Lombardei' => 845,
|
||||
'- Neapel & Umgebung' => 76,
|
||||
'- Sizilien' => 77,
|
||||
'- Sizilien Rundreisen' => 2222,
|
||||
'- Apulien' => 464,
|
||||
'- Latium' => 3005,
|
||||
'- Trentino & Südtirol' => 844,
|
||||
'- Oberitalienische Seen' => 2012,
|
||||
'- Friaul - Julisch Venetien' => 297,
|
||||
'- Ligurien' => 818,
|
||||
'- Ischia' => 75,
|
||||
'- Sardinien' => 78,
|
||||
'- Gardasee' => 2048,
|
||||
'- Kalabrien' => 536,
|
||||
'- Umbrien' => 817,
|
||||
'- Basilikata' => 291,
|
||||
'- Dolomiten' => 2046,
|
||||
'- Italienische Alpen' => 2047,
|
||||
'- Capri' => 79,
|
||||
'Marroko, Tunesien Pauschalreisen' => 10008,
|
||||
'- Marokko Rundreisen' => 2237,
|
||||
'- Tunesien Rundreisen' => 959,
|
||||
'- Marokko - Marrakesch' => 126,
|
||||
'- Marokko - Atlantikküste: Agadir / Safi / Tiznit' => 125,
|
||||
'- Marokko - Atlantikküste: Casablanca / El Jadida / Rabat' => 4200,
|
||||
'- Marokko - Inland' => 705,
|
||||
'- Tunesien - Monastir' => 614,
|
||||
'- Tunesien - Hammamet' => 132,
|
||||
'- Tunesien - Insel Djerba' => 133,
|
||||
'- Tunesien - Oase Zarzis' => 135,
|
||||
'- Tunesien - Norden' => 131,
|
||||
'- Tunesien - Inland & Gabès & Sfax' => 136,
|
||||
'- Tunesien - Oase Tozeur / Tamerza / Nefta' => 134,
|
||||
'Ägypten Pauschalreisen' => 10010,
|
||||
'- Nilkreuzfahrten' => 2202,
|
||||
'- Rundreisen & Badeurlaub' => 2204,
|
||||
'- Hurghada & Safaga' => 350,
|
||||
'- Marsa Alam & Quseir' => 330,
|
||||
'- Luxor & Assuan' => 349,
|
||||
'- Sharm el Sheikh / Nuweiba / Taba' => 351,
|
||||
'- Kairo & Gizeh & Memphis & Ismailia' => 348,
|
||||
'- weitere Angebote Ägypten' => 2500,
|
||||
'- Marsa Matruh & Alexandria' => 4144,
|
||||
'Afrika' => 10011,
|
||||
'- Kap Verde - Sal' => 585,
|
||||
'- Kap Verde - Boavista' => 280,
|
||||
'- Kenia - Nairobi & Inland' => 174,
|
||||
'- Gambia' => 137,
|
||||
'- Kenia - Südküste' => 359,
|
||||
'- Kenia - Nordküste' => 358,
|
||||
'- Namibia' => 453,
|
||||
'- Western Cape (Kapstadt)' => 873,
|
||||
'- Senegal' => 139,
|
||||
'- Tansania - Sansibar' => 454,
|
||||
'- Eastern Cape (Port Elizabeth)' => 4109,
|
||||
'- Northern Cape (Kimberley)' => 875,
|
||||
'- Gauteng (Johannesburg)' => 883,
|
||||
'- KwaZulu-Natal (Durban)' => 881,
|
||||
'- Limpopo (Polokwane)' => 879,
|
||||
'- Northwest (Mahikeng)' => 876,
|
||||
'- Äthiopien' => 4112,
|
||||
'- Madagaskar' => 161,
|
||||
'- Botswana' => 842,
|
||||
'- Malawi' => 1019,
|
||||
'Kuba' => 10012,
|
||||
'- Kuba - Havanna & Varadero' => 369,
|
||||
'- Kuba - Holguin' => 371,
|
||||
'- weitere Angebote Kuba' => 2522,
|
||||
'Dom. Republik' => 10013,
|
||||
'- Dom. Republik - Süden (Santo Domingo)' => 368,
|
||||
'- Dom. Republik - Norden (Puerto Plata & Samana)' => 366,
|
||||
'- Dom. Republik - Osten (Punta Cana)' => 367,
|
||||
'Karibik' => 10014,
|
||||
'- Jamaika' => 247,
|
||||
'- Curacao' => 582,
|
||||
'- Martinique' => 571,
|
||||
'- Guadeloupe' => 572,
|
||||
'- Barbados' => 245,
|
||||
'- Saint-Martin (frz.)' => 4098,
|
||||
'- Grenada' => 377,
|
||||
'- Puerto Rico' => 251,
|
||||
'- Aruba' => 4197,
|
||||
'- Tobago' => 378,
|
||||
'- Sint Maarten (nl.)' => 4198,
|
||||
'- Antigua & Barbuda' => 250,
|
||||
'- Bonaire, Sint Eustatius & Saba' => 4110,
|
||||
'- Bahamas' => 566,
|
||||
'- Saint Kitts & Nevis' => 578,
|
||||
'- Cayman Islands' => 581,
|
||||
'- St.Lucia' => 249,
|
||||
'- Bermuda' => 437,
|
||||
'- Saint-Barthélemy' => 2648,
|
||||
'- Virgin Islands British' => 680,
|
||||
'- Turks & Caicosinseln' => 574,
|
||||
'- St. Vincent & Grenadinen' => 747,
|
||||
'- Virgin Islands USA' => 4199,
|
||||
'USA' => 10015,
|
||||
'- New York' => 697,
|
||||
'- Illinois & Wisconsin' => 759,
|
||||
'- New Jersey & Delaware' => 782,
|
||||
'- Florida Ostküste' => 521,
|
||||
'- Nevada' => 692,
|
||||
'- Florida Orlando & Inland' => 524,
|
||||
'- Florida Westküste' => 522,
|
||||
'- Florida Südspitze' => 523,
|
||||
'- Kalifornien' => 688,
|
||||
'- New England' => 886,
|
||||
'- Pennsylvania' => 758,
|
||||
'- Texas' => 755,
|
||||
'- Arizona' => 484,
|
||||
'- Georgia' => 757,
|
||||
'- Tennessee' => 773,
|
||||
'- Louisiana & Mississippi' => 756,
|
||||
'- Michigan' => 762,
|
||||
'Mexiko' => 10016,
|
||||
'- Mexiko: Yucatan / Cancun' => 282,
|
||||
'- Mexiko Stadt' => 541,
|
||||
'- Mexiko: Acapulco / Oaxaca' => 701,
|
||||
'- Mexiko: Pazifikküste' => 704,
|
||||
'- Mexiko: Karibikküste' => 2241,
|
||||
'- Mexiko: Inland' => 438,
|
||||
'Asien' => 10017,
|
||||
'- Sri Lanka' => 361,
|
||||
'- Malaysia' => 452,
|
||||
'- Hongkong & Kowloon & Hongkong Island' => 474,
|
||||
'- China - Peking (Beijing)' => 439,
|
||||
'- China - Hubei / Shaanxi / Shanxi / Henan' => 2654,
|
||||
'- China - Shanghai' => 4141,
|
||||
'- Singapur' => 473,
|
||||
'- Neu Delhi / Rajasthan / Uttar Pradesh / Madhya Pradesh' => 488,
|
||||
'- Vietnam' => 448,
|
||||
'- Karnataka / Kerala / A. Pradesh / T. Nadu / Lakkadiven' => 197,
|
||||
'- Indonesien: Bali' => 311,
|
||||
'- Nepal' => 461,
|
||||
'- Punjab / Uttarakhand / Himachal Pradesh & Hoher Norden' => 2629,
|
||||
'- Indonesien: Java' => 470,
|
||||
'- Indien: Goa' => 360,
|
||||
'- Kambodscha' => 843,
|
||||
'- Taipeh & Umgebung' => 489,
|
||||
'- Bihar / Jharkhand / West Bengal / Odisha & Ostindien' => 2630,
|
||||
'- China - Hainan / Guangdong / Hunan / Jiangxi' => 2653,
|
||||
'- Indonesien: Insel Bintan & Batam' => 871,
|
||||
'- Indonesien: Kleine Sundainseln' => 528,
|
||||
'- Laos' => 847,
|
||||
'- Myanmar' => 645,
|
||||
'- Indien: Maharashtra - Mumbai / Gujarat' => 4201,
|
||||
'- Macao' => 708,
|
||||
'- Indonesien: Nordosten' => 4166,
|
||||
'- Tokio, Osaka, Hiroshima, Japan. Inseln' => 469,
|
||||
'Zypern' => 10019,
|
||||
'- Zypern Rundreisen' => 2276,
|
||||
'- Republik Zypern - Süden' => 620,
|
||||
'- Nordzypern' => 99,
|
||||
'Dubai, Arabische Halbinsel' => 10020,
|
||||
'- Oman Rundreisen' => 2164,
|
||||
'- Arabische Halbinsel Rundreisen' => 2273,
|
||||
'- Oman' => 532,
|
||||
'- Ras Al-Khaimah' => 723,
|
||||
'- Dubai' => 353,
|
||||
'- Sharjah / Khorfakkan' => 352,
|
||||
'- Abu Dhabi' => 354,
|
||||
'- Fujairah' => 722,
|
||||
'- Ajman' => 724,
|
||||
'- Al Ain' => 884,
|
||||
'- Bahrain' => 721,
|
||||
'- Umm Al Quwain' => 725,
|
||||
'- Katar' => 720,
|
||||
'Frankreich' => 10021,
|
||||
'- Côte d\'Azur' => 2055,
|
||||
'- Paris & Umgebung' => 495,
|
||||
'- Pays de la Loire' => 4188,
|
||||
'- Aquitanien' => 25,
|
||||
'- Disneyland Paris' => 2041,
|
||||
'- Normandie & Picardie & Nord-Pas-de-Calais' => 1023,
|
||||
'- Burgund & Centre' => 2017,
|
||||
'- Provence-Alpes-Côte d\'Azur' => 2056,
|
||||
'- Languedoc Roussillon' => 2057,
|
||||
'- Monaco' => 880,
|
||||
'- Franche-Comté & Champagne-Ardenne' => 200,
|
||||
'- Korsika' => 23,
|
||||
'- Rhone Alpes' => 2042,
|
||||
'Nordeuropa' => 10022,
|
||||
'- Schweden' => 851,
|
||||
'- Dänemark' => 902,
|
||||
'- Norwegen' => 813,
|
||||
'- Finnland' => 490,
|
||||
'- Island' => 449,
|
||||
'Südamerika' => 10023,
|
||||
'- Brasilien: Distrito Federal (Brasilia)' => 2599,
|
||||
'- Brasilien: Ceara (Fortaleza)' => 4170,
|
||||
'- Brasilien: Rio Grande de Norte (Natal)' => 4169,
|
||||
'- Brasilien: Alagoas (Maceio)' => 4172,
|
||||
'- Brasilien: Rio de Janeiro & Umgebung' => 375,
|
||||
'- Brasilien: Parana (Curitiba)' => 2592,
|
||||
'- Brasilien: Bahia (Salvador da Bahia)' => 4167,
|
||||
'- Brasilien: Amazonas (Manaus)' => 4171,
|
||||
'- Brasilien: Sergipe (Aracaju)' => 2594,
|
||||
'- Brasilien: Rio Grande do Sul (Porto Alegre)' => 2590,
|
||||
'- Kolumbien' => 376,
|
||||
'- Brasilien: Pernambuco (Recife)' => 374,
|
||||
'- Ecuador' => 783,
|
||||
'- Peru' => 787,
|
||||
'- Venezuela - Isla Margarita' => 440,
|
||||
'- Uruguay' => 785,
|
||||
'- Argentinien' => 450,
|
||||
'- Chile' => 784,
|
||||
'- Venezuela - Küste & Inland & Los Roques Archipel' => 293,
|
||||
'- Brasilien: Paraiba (Joao Pessoa)' => 2595,
|
||||
'Kanada' => 10024,
|
||||
'- Ontario' => 766,
|
||||
'- Alberta' => 767,
|
||||
'- Quebec' => 765,
|
||||
'- British Columbia' => 768,
|
||||
'Naher Osten' => 10026,
|
||||
'- Israel - Tel Aviv & Umgebung' => 510,
|
||||
'- Israel- Eilat' => 225,
|
||||
'- Israel- Totes Meer' => 727,
|
||||
'- Israel' => 511,
|
||||
'- Jordanien' => 515,
|
||||
'- Israel - Jerusalem & Umgebung' => 509,
|
||||
'- Iran' => 2580,
|
||||
'Thailand' => 10027,
|
||||
'- Bangkok & Umgebung' => 321,
|
||||
'- Insel Phuket' => 322,
|
||||
'- Insel Ko Samui' => 325,
|
||||
'- Nordthailand (Chiang Mai, Chiang Rai, Sukhothai)' => 4128,
|
||||
'- Südostthailand (Pattaya, Jomtien)' => 4131,
|
||||
'- Khao Lak & Umgebung' => 846,
|
||||
'- Krabi & Umgebung' => 4133,
|
||||
'- Westthailand (Hua Hin, Cha Am, River Kwai)' => 4130,
|
||||
'- Südthailand (Surat Thani, Trang)' => 4132,
|
||||
'- Inseln im Golf von Thailand (Koh Chang, Koh Phangan)' => 323,
|
||||
'- Inseln in der Andaman See (Koh Pee Pee, Koh Lanta)' => 327,
|
||||
'- Nordostthailand (Issan)' => 4129,
|
||||
'- sonstige Angebote Thailand' => 2535,
|
||||
'Mitteleuropa' => 10028,
|
||||
'- Niederlande' => 854,
|
||||
'- Irland' => 503,
|
||||
'- London & Südengland' => 178,
|
||||
'- Wien & Umgebung' => 958,
|
||||
'- Salzburg - Salzburger Land' => 2007,
|
||||
'- Schottland' => 901,
|
||||
'- Belgien' => 855,
|
||||
'- Kärnten' => 951,
|
||||
'- Österreich Rundreisen' => 2243,
|
||||
'- Niederösterreich' => 952,
|
||||
'- Wallis' => 934,
|
||||
'- Tirol - Osttirol' => 2018,
|
||||
'- Salzburg - Salzburg' => 954,
|
||||
'- Bern & Berner Oberland' => 916,
|
||||
'- Tirol - Innsbruck, Mittel- und Nordtirol' => 956,
|
||||
'- Steiermark' => 955,
|
||||
'- Graubünden' => 920,
|
||||
'- Mittel- & Nordengland' => 179,
|
||||
'- Tirol - Westtirol & Ötztal' => 2009,
|
||||
'- Oberösterreich' => 953,
|
||||
'- Genf' => 918,
|
||||
'- Tirol - Region Seefeld' => 2001,
|
||||
'- Zürich' => 936,
|
||||
'- Luzern & Aargau' => 922,
|
||||
'- Uri & Glarus' => 932,
|
||||
'- Nordirland' => 905,
|
||||
'- Salzkammergut - Salzburg' => 2006,
|
||||
'- Burgenland' => 950,
|
||||
'- Waadt & Jura & Neuenburg' => 933,
|
||||
'- Tirol - Zillertal' => 2004,
|
||||
'- St.Gallen & Thurgau' => 926,
|
||||
'- Jersey - Kanalinsel' => 962,
|
||||
'- Tirol - Paznaun' => 1003,
|
||||
'- Bodensee (Österreich)' => 4190,
|
||||
'- Tessin' => 930,
|
||||
'Deutschland' => 10029,
|
||||
'- Allgäu' => 2026,
|
||||
'- Baden-Württemberg' => 104,
|
||||
'- Bayerisch-Schwaben' => 4196,
|
||||
'- Bayerische Alpen' => 2058,
|
||||
'- Bayerischer Wald' => 2025,
|
||||
'- Berchtesgadener Land' => 2069,
|
||||
'- Berlin' => 106,
|
||||
'- Bodensee (Deutschland)' => 2028,
|
||||
'- Borkum' => 2078,
|
||||
'- Brandenburg' => 107,
|
||||
'- Bremen' => 112,
|
||||
'- Düsseldorf & Umgebung' => 2019,
|
||||
'- Eifel & Westerwald' => 2052,
|
||||
'- Elbsandsteingebirge' => 2051,
|
||||
'- Emsland' => 2037,
|
||||
'- Erzgebirge' => 2050,
|
||||
'- Fichtelgebirge' => 2030,
|
||||
'- Franken' => 2060,
|
||||
'- Hamburg' => 113,
|
||||
'- Harz' => 2031,
|
||||
'- Hessen' => 114,
|
||||
'- Hessisches Bergland' => 2072,
|
||||
'- Hochschwarzwald' => 4111,
|
||||
'- Hunsrück / Taunus' => 2061,
|
||||
'- Insel Rügen' => 2032,
|
||||
'- Insel Usedom' => 2033,
|
||||
'- Köln & Umgebung' => 2020,
|
||||
'- Lausitz' => 2071,
|
||||
'- Lüneburger Heide' => 2024,
|
||||
'- Mecklenburg Ostseeküste' => 2035,
|
||||
'- Mecklenburg-Vorpommern' => 115,
|
||||
'- Mecklenburgische Seenplatte' => 2034,
|
||||
'- Mosel' => 2062,
|
||||
'- München' => 264,
|
||||
'- Münsterland' => 2074,
|
||||
'- Niederbayern' => 2063,
|
||||
'- Niedersachsen' => 116,
|
||||
'- Nordfriesland & Inseln' => 127,
|
||||
'- Nordrhein-Westfalen' => 117,
|
||||
'- Nordseeküste und Inseln - sonstige Angebote' => 2036,
|
||||
'- Oberbayern' => 2008,
|
||||
'- Oberpfalz' => 105,
|
||||
'- Ostseeküste' => 2039,
|
||||
'- Pfalz' => 2053,
|
||||
'- Radtouren und andere Specials' => 3001,
|
||||
'- Rheingau' => 2022,
|
||||
'- Rheinland' => 2065,
|
||||
'- Rheinland-Pfalz' => 118,
|
||||
'- Rhön' => 2029,
|
||||
'- Ruhrgebiet' => 2059,
|
||||
'- Rundreise Deutschland & sonstige Angebote' => 2501,
|
||||
'- Saarland' => 119,
|
||||
'- Sachsen' => 121,
|
||||
'- Sachsen-Anhalt' => 123,
|
||||
'- Sauerland' => 2038,
|
||||
'- Schleswig-Holstein' => 4102,
|
||||
'- Schwarzwald' => 2002,
|
||||
'- Schwäbische Alb' => 2066,
|
||||
'- Spessart - Odenwald' => 2070,
|
||||
'- Teutoburger Wald' => 2021,
|
||||
'- Thüringen' => 128,
|
||||
'- Thüringer Wald' => 2067,
|
||||
'Kroatien, Bulgarien, Osteuropa' => 10030,
|
||||
'- Estland' => 838,
|
||||
'- Georgien' => 837,
|
||||
'- Angebote Rad- und Schiff Kroatien' => 3014,
|
||||
'- Insel Brac' => 501,
|
||||
'- Insel Hvar' => 500,
|
||||
'- Insel Krk' => 507,
|
||||
'- Istrien' => 483,
|
||||
'- Kroatische Inseln' => 504,
|
||||
'- Kvarner Bucht' => 480,
|
||||
'- Mitteldalmatien' => 877,
|
||||
'- Mittelkroatien' => 301,
|
||||
'- Norddalmatien' => 2011,
|
||||
'- Slavonien' => 302,
|
||||
'- Süddalmatien' => 635,
|
||||
'- Lettland' => 836,
|
||||
'- Litauen' => 316,
|
||||
'- Mazedonien' => 909,
|
||||
'- Moldavien' => 835,
|
||||
'- Montenegro' => 455,
|
||||
'- Polen' => 852,
|
||||
'- Bukarest & Umgebung' => 816,
|
||||
'- Rumänien' => 110,
|
||||
'- Baikalsee' => 892,
|
||||
'- Moskau & Umgebung' => 820,
|
||||
'- Sankt Petersburg & Russland Nordwest (Murmansk)' => 821,
|
||||
'- Serbien' => 2579,
|
||||
'- Slowakei' => 850,
|
||||
'- Slowenien Inland' => 497,
|
||||
'- slowenische Adria' => 628,
|
||||
'- Tschechien' => 853,
|
||||
'- Ukraine & Krim' => 751,
|
||||
'- Plattensee / Balaton' => 2016,
|
||||
'- Ungarn' => 849,
|
||||
'- Weißrussland' => 834,
|
||||
];
|
||||
}
|
||||
|
|
@ -25,11 +25,11 @@ jQuery(document).ready(function($) {
|
|||
allowfullscreen: true,
|
||||
'data-st-video': this.id
|
||||
})
|
||||
.addClass('st-collapsed')
|
||||
.hide()
|
||||
.insertAfter(this)
|
||||
;
|
||||
el$
|
||||
.addClass('st-collapsed')
|
||||
.css('background-image', 'url(/images/st2/icons/arrowup.gif)')
|
||||
.text(caption + ' einblenden')
|
||||
.attr('href', 'javascript:void(0);')
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ namespace AppBundle\Twig;
|
|||
|
||||
|
||||
use AppBundle\Service\KeywordService;
|
||||
use AppBundle\Util;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
|
||||
class AppExtension extends \Twig_Extension
|
||||
|
|
@ -46,6 +47,7 @@ class AppExtension extends \Twig_Extension
|
|||
'is_safe' => ['html']
|
||||
]),
|
||||
'get_base_template' => new \Twig_SimpleFunction('get_base_template', [$this, 'getBaseTemplate']),
|
||||
'get_base_url' => new \Twig_SimpleFunction('get_base_url', [$this, 'getBaseUrl']),
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -64,6 +66,11 @@ class AppExtension extends \Twig_Extension
|
|||
return ($this->requestStack->getCurrentRequest()->isXmlHttpRequest() ? 'ajax' : 'base') .'.html.twig';
|
||||
}
|
||||
|
||||
public function getBaseUrl()
|
||||
{
|
||||
return Util::getBaseUrl();
|
||||
}
|
||||
|
||||
public function formField($form, $label = null, $opt = null)
|
||||
{
|
||||
$this->template = $this->environment->loadTemplate( '::default/form/helpers.html.twig' );
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ namespace AppBundle\Util;
|
|||
|
||||
|
||||
use AppBundle\Entity\TravelDeparturePoint;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
|
||||
class DepartureUtil
|
||||
{
|
||||
|
|
@ -118,6 +119,10 @@ class DepartureUtil
|
|||
$departures[] = $defaultDeparture;
|
||||
}
|
||||
}
|
||||
if ($departures instanceof Collection)
|
||||
{
|
||||
$departures = $departures->toArray();
|
||||
}
|
||||
return DepartureUtil::sortDepartures($departures);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue