diff --git a/docker/seed-wasserrad-demo.php b/docker/seed-wasserrad-demo.php new file mode 100644 index 000000000..1040cedc0 --- /dev/null +++ b/docker/seed-wasserrad-demo.php @@ -0,0 +1,171 @@ +email = 'info@hotel.test'; +$hotel->check_in = '15:00'; +$hotel->check_out = '11:00'; +$hotel->rating = 3; +$hotel->hotel_name = $ml("L'Antica Ruota – Zum alten Wasserrad"); +$hotel->short_description = $ml("Familiengeführtes Hotel-Ristorante inmitten der Altstadt des Luftkurortes Annweiler, zu Füßen der Felsenburg Trifels."); +$hotel->description = $ml( + '

Benvenuti – Herzlich willkommen!

' + .'

L’Antica Ruota ist ein familiengeführtes Hotel-Ristorante inmitten der Altstadt des Luftkurortes Annweiler, zu Füßen der Felsenburg Trifels. ' + .'Unser Haus eröffnete im März 1997 und bietet mit seinem mediterranen Flair eine ganz besondere Urlaubsatmosphäre, umgeben von den Wäldern des Biosphärenreservates Pfälzerwald.

' + .'

Ob Aktiv-Urlaub, Kurztrip zum Auftanken, Familienfeier oder Ausflug zu zweit – bei uns lassen Sie den Alltag für eine Weile hinter sich.

' + .'

Herzlichst, Ihre Familie Mirabile und Team

' +); +$hotel->policies = $ml( + '' +); +$hotel->save(); +Db::getInstance()->update('address', array( + 'address1' => 'Am Storchentor 8', + 'postcode' => '76855', + 'city' => 'Annweiler am Trifels', + 'id_country' => (int)Country::getByIso('DE'), + 'id_state' => 0, + 'phone' => '+49 6346 93344', +), 'id_hotel = 1'); +$log("L'Antica Ruota – Zum alten Wasserrad"); + +echo "Room types (gross incl. 7 % VAT, breakfast included)\n"; +$rooms = array( + 1 => array('Einzelzimmer', 115, 'Gemütliches Einzelzimmer mit Dusche/WC, Fön, Flatscreen-TV und WLAN. Inklusive Frühstücksbuffet.', array('zimmer62', 'bild3', 'terrasse', 'galerie1')), + 2 => array('Doppelzimmer', 145, 'Geräumiges Doppelzimmer mit Dusche/WC, Fön, Flatscreen-TV und WLAN. Inklusive Frühstücksbuffet.', array('zimmer71', 'gebaeude', 'galerie2', 'galerie3')), + 3 => array('Doppelzimmer 3. Etage', 125, 'Doppelzimmer unter dem Dach mit Blick über die Altstadt. Inklusive Frühstücksbuffet.', array('zimmer71', 'zimmer80', 'bild38', 'galerie4')), + 4 => array('Dreibettzimmer', 175, 'Ideal für Familien: Dreibettzimmer mit Dusche/WC, Flatscreen-TV und WLAN. Inklusive Frühstücksbuffet.', array('zimmer62', 'zimmer71', 'zimmer80', 'galerie6', 'galerie7')), +); +// Demo service products ("Zimmerwartungsgebühren" etc.) are auto-added to every night: switch them off. +// Breakfast is already part of the room rate. +$services = Db::getInstance()->executeS('SELECT id_product FROM '._DB_PREFIX_.'product WHERE booking_product = 0'); +foreach ($services as $s) { + Db::getInstance()->update('product', array('active' => 0, 'auto_add_to_cart' => 0), 'id_product = '.(int)$s['id_product']); + Db::getInstance()->update('product_shop', array('active' => 0, 'auto_add_to_cart' => 0), 'id_product = '.(int)$s['id_product']); +} +$log(count($services).' Demo-Zusatzleistungen deaktiviert'); + +$imageTypes = ImageType::getImagesTypes('products'); +foreach ($rooms as $idProduct => $r) { + list($name, $gross, $desc, $photos) = $r; + $p = new Product($idProduct); + $p->name = $ml($name); + $p->link_rewrite = $ml(Tools::str2url($name)); + $p->description_short = $ml('

'.$desc.'

'); + $p->id_tax_rules_group = 2; // DE Reduced Rate (7%) + $p->price = round($gross / 1.07, 6); + $p->save(); + + $images = Image::getImages((int)Configuration::get('PS_LANG_DEFAULT'), $idProduct); + foreach ($images as $i => $row) { + $file = $src.$photos[$i % count($photos)].'.jpg'; + $img = new Image((int)$row['id_image']); + $base = $img->getPathForCreation(); + ImageManager::resize($file, $base.'.jpg'); + foreach ($imageTypes as $t) { + ImageManager::resize($file, $base.'-'.stripslashes($t['name']).'.jpg', (int)$t['width'], (int)$t['height']); + } + } + $log(sprintf('%s: %d € (%d Fotos)', $name, $gross, count($images))); +} + +echo "Header slides\n"; +$slides = array( + array('drohne', "L'Antica Ruota", 'Hotel-Ristorante in der Altstadt von Annweiler am Trifels'), + array('gebaeude', 'Benvenuti', 'Mediterranes Flair im Herzen der Pfalz'), + array('terrasse', 'Gartenterrasse', 'Italienische Küche unter freiem Himmel'), +); +$dir = _PS_IMG_DIR_.'hotel_header_media/'; +$existing = Db::getInstance()->executeS('SELECT id_header_image FROM '._DB_PREFIX_.'htl_header_image ORDER BY position'); +foreach ($slides as $pos => $s) { + $obj = isset($existing[$pos]) ? new HotelHeaderImage((int)$existing[$pos]['id_header_image']) : new HotelHeaderImage(); + $obj->name = 'wasserrad-'.$s[0].'.jpg'; + copy($src.$s[0].'.jpg', $dir.$obj->name); + $obj->title = $ml($s[1]); + $obj->description = $ml($s[2]); + $obj->description_color = '#ffffff'; + $obj->description_font_size = 18; + $obj->description_font_weight = '400'; + $obj->position = $pos; + $obj->active = 1; + $obj->save(); + $log($obj->name); +} + +echo "Interior gallery\n"; +$gallery = array('bild3', 'terrasse', 'galerie1', 'gebaeude', 'galerie2', 'bild38', 'galerie3', 'start1', 'galerie4', 'galerie5', 'galerie6', 'galerie7'); +$galleryDir = _PS_MODULE_DIR_.'wkabouthotelblock/views/img/hotel_interior/'; +foreach (Db::getInstance()->executeS('SELECT id_interior_image, name FROM '._DB_PREFIX_.'htl_interior_image ORDER BY position') as $i => $row) { + $pick = $gallery[$i % count($gallery)]; + // copy as-is: ImageManager::resize would pad to 4:3 with white bars + copy($src.$pick.'.jpg', $galleryDir.$row['name'].'.jpg'); + Db::getInstance()->update('htl_interior_image', array('display_name' => pSQL('L’Antica Ruota '.($i + 1))), 'id_interior_image = '.(int)$row['id_interior_image']); +} +$log(count($gallery).' Bilder'); + +echo "Testimonials\n"; +// Demo reviews mention "Hotel Prime": hide them instead of showing invented guest quotes. +Db::getInstance()->update('htl_testimonials_block_data', array('active' => 0)); +$log('Demo-Bewertungen ausgeblendet (echte Bewertungen im Backend unter Testimonials pflegen)'); + +Tools::clearSmartyCache(); +Tools::clearCache(); +echo "Fertig.\n"; diff --git a/docker/wasserrad-demo/bild3.jpg b/docker/wasserrad-demo/bild3.jpg new file mode 100644 index 000000000..f6b46d3df Binary files /dev/null and b/docker/wasserrad-demo/bild3.jpg differ diff --git a/docker/wasserrad-demo/bild38.jpg b/docker/wasserrad-demo/bild38.jpg new file mode 100644 index 000000000..ed71cbf9a Binary files /dev/null and b/docker/wasserrad-demo/bild38.jpg differ diff --git a/docker/wasserrad-demo/drohne.jpg b/docker/wasserrad-demo/drohne.jpg new file mode 100644 index 000000000..56901286c Binary files /dev/null and b/docker/wasserrad-demo/drohne.jpg differ diff --git a/docker/wasserrad-demo/galerie1.jpg b/docker/wasserrad-demo/galerie1.jpg new file mode 100644 index 000000000..ec28de52a Binary files /dev/null and b/docker/wasserrad-demo/galerie1.jpg differ diff --git a/docker/wasserrad-demo/galerie2.jpg b/docker/wasserrad-demo/galerie2.jpg new file mode 100644 index 000000000..4c250ade5 Binary files /dev/null and b/docker/wasserrad-demo/galerie2.jpg differ diff --git a/docker/wasserrad-demo/galerie3.jpg b/docker/wasserrad-demo/galerie3.jpg new file mode 100644 index 000000000..f38539b42 Binary files /dev/null and b/docker/wasserrad-demo/galerie3.jpg differ diff --git a/docker/wasserrad-demo/galerie4.jpg b/docker/wasserrad-demo/galerie4.jpg new file mode 100644 index 000000000..246c0b9af Binary files /dev/null and b/docker/wasserrad-demo/galerie4.jpg differ diff --git a/docker/wasserrad-demo/galerie5.jpg b/docker/wasserrad-demo/galerie5.jpg new file mode 100644 index 000000000..da4504efb Binary files /dev/null and b/docker/wasserrad-demo/galerie5.jpg differ diff --git a/docker/wasserrad-demo/galerie6.jpg b/docker/wasserrad-demo/galerie6.jpg new file mode 100644 index 000000000..3255ef17d Binary files /dev/null and b/docker/wasserrad-demo/galerie6.jpg differ diff --git a/docker/wasserrad-demo/galerie7.jpg b/docker/wasserrad-demo/galerie7.jpg new file mode 100644 index 000000000..943ccb9b1 Binary files /dev/null and b/docker/wasserrad-demo/galerie7.jpg differ diff --git a/docker/wasserrad-demo/gebaeude.jpg b/docker/wasserrad-demo/gebaeude.jpg new file mode 100644 index 000000000..9373736e1 Binary files /dev/null and b/docker/wasserrad-demo/gebaeude.jpg differ diff --git a/docker/wasserrad-demo/hintergrund.jpg b/docker/wasserrad-demo/hintergrund.jpg new file mode 100644 index 000000000..e496af01a Binary files /dev/null and b/docker/wasserrad-demo/hintergrund.jpg differ diff --git a/docker/wasserrad-demo/maria-franco.jpg b/docker/wasserrad-demo/maria-franco.jpg new file mode 100644 index 000000000..6e0b8f9cc Binary files /dev/null and b/docker/wasserrad-demo/maria-franco.jpg differ diff --git a/docker/wasserrad-demo/rad.png b/docker/wasserrad-demo/rad.png new file mode 100644 index 000000000..abfe3d392 Binary files /dev/null and b/docker/wasserrad-demo/rad.png differ diff --git a/docker/wasserrad-demo/start1.jpg b/docker/wasserrad-demo/start1.jpg new file mode 100644 index 000000000..620927652 Binary files /dev/null and b/docker/wasserrad-demo/start1.jpg differ diff --git a/docker/wasserrad-demo/sterne.png b/docker/wasserrad-demo/sterne.png new file mode 100644 index 000000000..f2c6886f4 Binary files /dev/null and b/docker/wasserrad-demo/sterne.png differ diff --git a/docker/wasserrad-demo/terrasse.jpg b/docker/wasserrad-demo/terrasse.jpg new file mode 100644 index 000000000..f1c352c7d Binary files /dev/null and b/docker/wasserrad-demo/terrasse.jpg differ diff --git a/docker/wasserrad-demo/zimmer62.jpg b/docker/wasserrad-demo/zimmer62.jpg new file mode 100644 index 000000000..aad39c88e Binary files /dev/null and b/docker/wasserrad-demo/zimmer62.jpg differ diff --git a/docker/wasserrad-demo/zimmer71.jpg b/docker/wasserrad-demo/zimmer71.jpg new file mode 100644 index 000000000..8012e9377 Binary files /dev/null and b/docker/wasserrad-demo/zimmer71.jpg differ diff --git a/docker/wasserrad-demo/zimmer80.jpg b/docker/wasserrad-demo/zimmer80.jpg new file mode 100644 index 000000000..b36df5fe6 Binary files /dev/null and b/docker/wasserrad-demo/zimmer80.jpg differ