287

Product support

Get help in the plugin support forum.

Categories

FewoVerwalter Plug. Plugin for displaying holiday objects, booking masks, request masks and master data Interface to the local FewoVerwalter to represent object master data, search and booking functions in OctoberCMS. This plugin is chargeable and encrypted by IonCube and works only with a URL-related license file. In addition, you need the software 'Fewo-Verwalter'

FewoVerwalter plugin

Plugin for displaying holiday objects, booking masks, request masks and master data

components

  • Text searchmask - free text search in your objects with dropdown list.
  • Searchmask - Search with arrival, departure and equipment.
  • Listfilter - Filtering of the object list by type, period (free), prices, equipment, location, region, .....
  • Price calculator - Price calculator for the object in detail page.
  • Object list - Lists for displaying objects with images and maps.
  • Random list - Lists for displaying objects with pictures by chance.
  • Object slider - Presentation of the object images (large) as a slider in a detail page.
  • Object details - Representation of the object master data in a detail page.
  • Images - Presentation of object pictures, house pictures and floor plans.
  • House list - Representation of the house data in a list page.
  • House details - Representation of the house master data in a detail page.
  • Ratings - Presentation of the current ratings in all pages and the detail page.
  • Rating form - Rating form with rating script.
  • Booking form - Booking form with guest data, services and fellow traveler.
  • Offer form - Offer form with guest data, services and fellow traveler.
  • SlickSlider - Slider für Objekt- und Hausbilder.
  • Galerie - Gallery for object and house pictures incl. FancyBox.
  • MAP - LeafLet Map for object and house.
  • SEO - Schema.org component with LocalBusiness and Hotel.

Installation

  • Web server PHP at least version 7.n
  • IonCube-Loader for PHP 7.n
  • Request license file for your URL
  • Install Fewo plugin in octobercms
  • Store license file in the directory plugins/xsigns/fewo

Dependencies

  • PHP 7.4 or higher
  • MySql 5.7 or higher

After installation

  • After the installation, enter a user with password under Settings -> Fewo-Settings. Then transfer the data from the 'Fewo-Verwalter' to the website. Under Settings In the Fewo-Verwalter' software you must enter the URL from your web-site.
  • Once all the data has been transferred, you can start by inserting the components into your page structure.
  • All language settings can be made in the individual components.
3.9.45

Verbesserungen für Sprachen im Eigentümerlogin

Dec 12, 2024

3.9.44

Verbesserungen für den Belegungsplan

Dec 04, 2024

3.9.43

Verbesserung der Übersetzung im Eigentümerlogin

Dec 02, 2024

3.9.42

Verbesserungen für den Buchungslückenfilter

Nov 12, 2024

3.9.41

Verbesserungen für Buchungen und Anfragen

Oct 28, 2024

3.9.40

Erweiterung für die Berechnung der Tarifzonenpreise

Sep 03, 2024

3.9.39

Verbesserungen für die Mehrsprachigkeit in der Objektsuche-Komponente

Aug 26, 2024

3.9.38

Verbesserungen für Sitemaps

Jul 26, 2024

3.9.37

Verbesserungen für die Datenübertragung

Jul 24, 2024

3.9.36

Verbesserungen für Objekttitel

Jul 23, 2024

3.9.35

Verbesserungen für die Objektsuche

Jun 24, 2024

3.9.34

Verbesserung der Datenbank

Jun 21, 2024

3.9.33

Update Korrekturen

Jun 18, 2024

3.9.32

Verbesserung der Zeitleiste

Jun 13, 2024

3.9.31

Verbesserung der Preisausgabe für Bestätigungsmails

Jun 06, 2024

3.9.30

Verbesserungen für die Mehrsprachigkeit in der Buchungsmaske

Jun 03, 2024

3.9.29

Verbesserung der Zeitleiste bei saisonübergreifenden Lückenbuchungen

May 27, 2024

3.9.28

Verbesserungen für den Listenfilter und vorgefilterte Objektlisten

May 24, 2024

3.9.27

Verbesserungen für die Mehrsprachigkeit

May 21, 2024

3.9.26

Verbesserungen für das Hobex-Zahlungsmodul. Berechnung der Kurtaxe bei Zahlungen kann nun aktiviert und deaktiviert werden

May 13, 2024

3.9.25

Verbesserungen für die Validierung des Listenfilters

May 07, 2024

3.9.24

Verbesserungen im Belegungsplan Anfragen als Angebot (gelb) blockieren

May 06, 2024

3.9.23

Verbesserungen Ausstattungen für die Objektsuche hinzufügen

Apr 26, 2024

3.9.22

Verbesserungen Angebote in die Buchungsmaske laden

Apr 25, 2024

3.9.21

Verbesserungen für An- und Abreisemails

Apr 22, 2024

3.9.20

Verbesserungen für die Objektsuche

Apr 09, 2024

3.9.19

Verbesserungen Angebote anzeigen

Apr 03, 2024

3.9.18

Verbesserungen für den Eigentümerlogin

Mar 27, 2024

3.9.17

Erweiterung des Buchungslückenfilter um einen Label-Platzhalter für die Standardauswahl

Mar 25, 2024

3.9.16

Verbesserungen für den Buchungslückenfilter

Mar 21, 2024

3.9.15

Verbesserungen für den Eigentümerlogin

Mar 18, 2024

3.9.14

Verbesserungen für Kalkulation der Kurtaxe

Mar 14, 2024

3.9.13

Korrekturen für Belegungsplan und Datepicker

Mar 13, 2024

3.9.12

Verbesserungen für Reihenfolge der Bewertungen

Mar 11, 2024

3.9.11

Verbesserungen der Preiskalkulation und Angebote

Mar 04, 2024

3.9.10

Korrekturen für die Kompatibilität mit OctoberCMS 3.6

Feb 27, 2024

3.9.9

Verbesserungen für die Objektliste und den Listenfilter

Feb 27, 2024

3.9.8

Verbesserungen der Preiskalkulation und Preisausgabe in der Buchungsmaske

Feb 21, 2024

3.9.7

Verbesserungen für Panoramabilder

Feb 19, 2024

3.9.6

Verbesserung der Performance beim Laden von Angeboten

Feb 12, 2024

3.9.5

Verbesserungen Angebote Objekte mit definierten Anreise- Abreisetagen laden

Feb 07, 2024

3.9.4

Verbesserungen der Zeitleiste für den Abreisetag bei Zeitraumsauswahl

Jan 29, 2024

3.9.3

Fehlerkorrekturen Preiskalkulation mit Angebot

Jan 26, 2024

3.9.2

Verbesserungen Url Aliasse mit Sonderzeichen

Jan 25, 2024

3.9.1

Verbesserungen Objektbilder speichern

Jan 23, 2024

3.9.0

Rabatte aus Fewo-Verwalter werden nun unterstützt und in der Buchungsmaske entsprechend geladen und berechnet

Jan 16, 2024

3.8.19

!!! Verbesserung der Datumsausgabe für den Eigentümerlogin. Partial Eigentümerdaten muss angepasst werden, bitte Upgrade-Guide lesen!

Jan 11, 2024

3.8.18

Verbesserung der Objektsuche

Jan 08, 2024

3.8.17

Fehlerkorrekturen Zuschläge berechnen in der Buchungsmaske

Dec 20, 2023

3.8.16

Fehlerkorrekturen für den Buchungsvorlauf bei der Reisezeitraumübergabe von alternativen Objekten/Zeiträumen

Dec 18, 2023

3.8.15

Verbesserung Objektbuttons Reisezeitraumübergabe an Buchungsmaske

Dec 12, 2023

3.8.14

Fehlerkorrekturen für den Buchungslückenfilter

Dec 07, 2023

3.8.13

Fehlerkorrekturen für die Objektsuche

Dec 06, 2023

3.8.12

Allgemeine Fehlerkorrekturen im Backend

Dec 05, 2023

3.8.11

!!! Ausgabe alternative Objekte/Zeiträume und Buchungslücken über die Objektliste möglich. Partial Objektliste muss angepasst werden, bitte Upgrade-Guide lesen!

Nov 28, 2023

3.8.10

Fehlerkorrekturen für Angebote

Oct 11, 2023

3.8.9

Ausgabe der Mintage in den Preisen für Objektdetails

Oct 05, 2023

3.8.8

Fehlerkorrekturen beim laden der Preise für Angebote und die Ausgabe der Objekt-Url

Sep 28, 2023

3.8.7

Verbesserungen für den Eigentümerlogin im Bereich Belegen

Sep 06, 2023

3.8.6

Fehlerkorrekturen im Eigentümerlogin für Objektlinks

Aug 30, 2023

3.8.5

Verbesserungen für Eigentümerlogin im Bereich Belegen

Aug 21, 2023

3.8.4

Verbesserungen Preisausgabe

Aug 02, 2023

3.8.3

Erweiterung der Abschlusskomponente für die Buchungsmaske

Jul 31, 2023

3.8.2

Fehlerkorrekturen im Datepicker

Jul 19, 2023

3.8.1

Fehlerkorrekturen Angebote

Jul 13, 2023

3.8.0

Berücksichtigung der Abreisetage im Belegungsplan

Jul 12, 2023

3.7.12

Allgemeine Verbesserungen

Jul 10, 2023

3.7.11

Fehlerkorrekturen Belegungsplan Vor- und Zurück-Button

May 30, 2023

3.7.10

Fehlerkorrekturen Sitemaps

May 24, 2023

3.7.9

Verbesserung Cron-Mails CC E-Mailadresse überprüfen

May 23, 2023

3.7.8

Fehlerkorrekturen Pagination Objektliste

May 15, 2023

3.7.7

Fehlerkorrekturen Belegungsplan

May 10, 2023

3.7.6

!!! Min. Nächte Tooltip für klickbaren Belegungsplan. Partial Belegungsplan muss angepasst werden, bitte Upgrade-Guide lesen!

May 10, 2023

3.7.5

Verbesserungen Sync Feondi Gast speichern

Mar 29, 2023

3.7.4

Verbesserung October V3 Preiausgabe in der Buchungsmaske

Mar 22, 2023

3.7.3

!!! Verbesserungen für den Eigentümerlogin. Partial Eigentümerdaten muss angepasst werden, bitte Upgrade-Guide lesen!

Mar 21, 2023

3.7.2

Ausgabe der höchsten und niedrigsten Bewertung auf der Detailseite möglich

Mar 08, 2023

3.7.1

Verbesserungen der Preisausgabe in der Buchungsmaske

Feb 23, 2023

3.7.0

Verbesserungen für den Eigentümerlogin. Partial Eigentümerdaten muss angepasst werden, bitte Upgrade-Guide lesen!

Feb 08, 2023

3.6.5

Update korrekturen

Jan 23, 2023

3.6.4

Fehlerkorrekturen Bilder

Jan 23, 2023

3.6.3

!!! Optimierung für October 2.0/3.0 - Möglicherweise Umstellung der PHP-Verion notwendig, bitte Upgrade-Guide lesen!

Jan 18, 2023

3.6.2

Fehlerkorrekturen Datepicker

Jan 10, 2023

3.6.1

Fehlerkorrekturen Buchungsmaske

Dec 19, 2022

3.6.0

!!! Verbesserungen Ausgabe des Alt-Tags für Bilder in der Objekliste. Partial Objektliste muss angepasst werden, bitte Upgrade-Guide lesen!

Dec 12, 2022

3.5.38

Verbesserung Datenbank

Nov 08, 2022

3.5.37

Fehlerkorrekturen Kurtaxe Berechnung

Oct 24, 2022

3.5.36

Fehlerkorrekturen Berechnung der Zuschläge im errechneten Preis

Oct 19, 2022

3.5.35

!!! Datenschutzabfrage für Hausliste Map und ObjektMap hinzugefügt. Partial Hausliste und ObjektMap müssen angepasst werden, bitte Upgrade-Guide lesen!

Oct 12, 2022

3.5.34

!!! Ausgabe der berechneten Kurtaxe in der Buchungsmaske und Preisrechner. Partialanpassungen sind notwendig, bitte Upgrade-Guide lesen!

Sep 29, 2022

3.5.33

!!! Datenschutzabfrage für GoogleMaps und OpenStreetMap hinzugefügt. Partial Objektliste muss angepasst werden. Bitte Upgrade-Guide lesen!

Sep 22, 2022

3.5.32

Verbesserungen Preisrechner Nebenkosten berechnen

Aug 09, 2022

3.5.31

Es steht eine Statusliste aller An- und Restzahlungen über Hobex im Backend zur verfügung.

Aug 02, 2022

3.5.30

Verbesserungen Datenbank

Jul 07, 2022

3.5.29

Verbesserungen Mehrsparchigkeit

Jul 05, 2022

3.5.28

Verbesserungen Datenbank

Jun 29, 2022

3.5.27

Verbesserungen Datenbank

Jun 23, 2022

3.5.26

Verbesserungen Laden der Angebote

Jun 20, 2022

3.5.25

Fehlerkorrekturen Merkerliste

Jun 20, 2022

3.5.24

Verbesserungen Datepicker

May 25, 2022

3.5.23

!!! Fehlerkorrekturen Tooltip für Leistungen. Eventuell Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

May 19, 2022

3.5.22

Verbesserungen Import Vorgänge

Apr 12, 2022

3.5.21

Fehlerkorrekturen Bewertungen

Apr 06, 2022

3.5.20

Verbesserungen Sync zu Feondi

Apr 04, 2022

3.5.19

Verbesserungen

Mar 28, 2022

3.5.18

Es gibt nun die Möglichkeit den Eigentümer über die Freischaltung oder Änderung der Eigentümerlogin-Daten automatisch per Email zu informieren. Weitere informationen befinden sich im UPGRADE-Guide.

Mar 15, 2022

3.5.17

Teilen einer gefilterten Liste als Link

Mar 08, 2022

3.5.16

Verbesserungen Eigentümerlogin

Feb 21, 2022

3.5.15

!!! Verbesserungen im Listenfilter. Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

Feb 16, 2022

3.5.14

!!! Verbesserungen im Eigentümerlogin. Eventuelle Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

Feb 14, 2022

3.5.13

!!! Fehlerkorrekturen Vorgänge Erfassungsdatum speichern. Belegungen für Feondi müssen neu gesendet werden (Nur notwendig, wenn Sync Feondi in den Fewo-Einstellungen aktiviert ist), bitte Upgrade-Guide lesen!

Jan 26, 2022

3.5.12

Fehlerkorrekturen Import Bewertungen

Dec 08, 2021

3.5.11

Verbesserungen der Datenbank

Nov 23, 2021

3.5.10

Fehlerkorrekturen Zufallsobjekte

Nov 18, 2021

3.5.9

Fehlerkorrekturen Grundrisse löschen

Nov 09, 2021

3.5.8

Verbesserungen der Datenbank

Nov 03, 2021

3.5.7

!!! Behebung einer Sicherheitslücke im Bereich Listensortierung (credits @Daniel Blumhagen für die Meldung der Lücke). Die Installation des Updates wird dringend empfohlen!

Oct 29, 2021

3.5.6

Fehlerkorrekturen der Image-Komponente

Oct 27, 2021

3.5.5

!!! Bitte Upgrade-Guide lesen! Erweiterung Eigentümerlogin hochladen mehrerer Abrechnungen für einen Monat möglich.

Oct 27, 2021

3.5.4

!!! Fehlerkorrekturen Buchungsmaske. Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

Oct 20, 2021

3.5.3

Fehlerkorrekturen Belegungsplan

Oct 13, 2021

3.5.2

Verbesserungen der Datenbank

Oct 11, 2021

3.5.1

Fehlerkorrekturen Belegungsplan für Angebote

Oct 04, 2021

3.5.0

An- und Restzahlung mit Hobex möglich

Sep 23, 2021

3.4.39

Fehlerkorrekturen Objektpreise speichern

Sep 06, 2021

3.4.38

!!! Fehlerkorrekturen Objektmap. Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

Sep 02, 2021

3.4.37

Fehlerkorrekturen speichern des Timestamps in Bewertungen

Sep 01, 2021

3.4.36

Fehlerkorrekturen speichern des Timestamps in Bewertungen

Sep 01, 2021

3.4.35

Verbesserungen für SEO

Aug 26, 2021

3.4.34

Fehlerkorrekturen Listenfilter bei Navigation

Aug 25, 2021

3.4.33

Verbesserungen für SEO

Aug 05, 2021

3.4.32

!!! Fehlerkorrekturen Objektlistenfilter, Objektbewertungen und Preisrechner. Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

Jul 28, 2021

3.4.31

Fehlerkorrekturen Objektliste Map-Marker

Jul 19, 2021

3.4.30

Fehlerkorrekturen der SQL-Abfrage für den Listenfilter

Jul 19, 2021

3.4.29

Fehlerkorrekturen beim speichern der bereits gesendeten An- und Abreisemails

Jul 12, 2021

3.4.28

Fehlerkorrekturen Leaflet-Map Marker, Klickbarer Belegungskalender und Ausstattungskategorien

Jul 08, 2021

3.4.27

Fehlerkorrekturen Konfigurationsdatei für Sync Feondi

Jun 29, 2021

3.4.26

Strukturverbesserung An- und Abreiseemails: Grund Nichtsendung hinzugefügt

Jun 28, 2021

3.4.25

Fehlerkorrekturen Mintage und Lückenbuchung

Jun 25, 2021

3.4.24

Fehlerkorrekturen im Listenfilter

Jun 18, 2021

3.4.23

Fehlerkorrekturen für Sync Feondi bei Zahlung

Jun 16, 2021

3.4.22

Fehlerkorrekturen für Gäste und Sync zu Feondi

Jun 16, 2021

3.4.21

Fehlerkorrekturen für October V2

Jun 15, 2021

3.4.20

Ausgabe des Youtube-Links auf der Listenseite. Wenn Ausgabe erwünscht dann Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

Jun 03, 2021

3.4.19

Fehlerkorrekturen für Sync zu Feondi, Angebote und Ausstattungslisten

Jun 03, 2021

3.4.18

!!! Synchronisation mit Feondi. Neu senden der Daten vom Fewo-Verwalter an Feondi notwendig, bitte Upgrade-Guide lesen!

May 31, 2021

3.4.17

Fehlerkorrekturen für Datenbankabfragen

May 25, 2021

3.4.16

Fehlerkorrekturen in Update-Dateien

May 21, 2021

3.4.15

Fehlerkorrekturen beim Anlegen eines Vorgangs

May 18, 2021

3.4.14

Fehlerkorrekturen

May 18, 2021

3.4.13

!!! Fehlerkorrekturen Geburtsdatum, Partialanpassungen notwendig, bitte Upgrade-Guide lesen!

May 17, 2021

3.4.12

Fehlerkorrekturen Zeitleiste Lückenbuchungen

May 12, 2021

3.4.11

Fehlerkorrekturen Zeitleiste

May 12, 2021

3.4.10

Fehlerkorrekturen

May 11, 2021

3.4.9

Fehlerkorrekturen

May 11, 2021

3.4.8

!!! Fehlerkorrekturen Preisrechner und Belegungsplan, Partialanpassung notwendig, bitte Upgrade-Guide lesen!

May 06, 2021

3.4.7

Fehlerkorrekturen

May 04, 2021

3.4.6

Fehlerkorrekturen

Apr 30, 2021

3.4.5

Fehlerkorrekturen

Apr 29, 2021

3.4.4

Fehlerkorrekturen

Apr 28, 2021

3.4.3

Fehlerkorrekturen

Apr 27, 2021

3.4.2

Fehlerkorrekturen

Apr 23, 2021

3.4.1

Änderung ionCube Einstellung

Apr 23, 2021

3.4.0

!!! Integration von GoogleMaps in die Objektliste, Partialanpassung notwendig!

Apr 22, 2021

3.3.8

!!! Optimiertes Laden der Objektbilder, Partialanpassung notwendig!

Apr 07, 2021

3.3.7

Bugfix

Feb 17, 2021

3.3.6

!!! Bugfix Buchungsmaske und Preisrechner, Partialanpassung notwendig!

Feb 16, 2021

3.3.5

Anfrage und/oder Buchung kann pro Objekt aus dem Fewo-Verwalter bestimmt werden.

Feb 16, 2021

3.3.4

!!! Fehlermeldung im Preisrechner, Partialanpassung notwendig!

Feb 10, 2021

3.3.3

BUG im Update 3.3.2, Benutzergruppe wurde nicht richtig angelegt

Dec 11, 2020

3.3.2

!!! Schemaorg mit abfrage nach Bewertungen, Partialanpassung notwendig!

Dec 08, 2020

3.3.1

!!! Belegungsplan wählweise klickbar, Partialanpassung notwendig! Fehler in der Mehrsprachigkeit behoben. Es wurde eine Multisuche, welche die Ergebnisse nach Objekt, Ort, Region und Letzte Suche auflistet, hinzugefügt. Die Anzahl der Objekte in Ort und Region kann ausgegeben werden. Auslagerung von JavaScript-Code, Partialanpassung notwendig! Weitere allgemeine Fehlerbehebungen.

Oct 26, 2020

3.3.0

!!! Problem im Datepicker, wenn heute nicht wählbar, funktionierte Lückenbuchung nicht mehr, Partialanpassung notwendig! Problem in Sortierung, konnte nicht nach FewoVerwalter-Sortierung sortieren. Objekt-Sortierung Reihenfolgen angepasst.

Sep 01, 2020

3.2.9

Fehlerbehebungen

Aug 25, 2020

3.2.8

Google Maps für Listenseiten, Lage und Detailseite

Aug 06, 2020

3.2.7

Bug im Zahlungsmodul, Fehlerhafte Zuordnung einer Tabelle

Jul 10, 2020

3.2.6

BUG im Zahlungsmodul, Datenbankabfrage war Fehlerhaft

Jul 09, 2020

3.2.5

BUG in Objektlisten, Sortierung hat Filter zurückgesetzt

Jul 01, 2020

3.2.4

BUG im Eigentümerbereich, Eigentümerbuchungen wurden nicht als Online-Vorgänge übertragen

Jun 29, 2020

3.2.3

Verbesserung bei der Übergabe von Zahlbeträgen zu Hobex (es werden immer zwei Dezimalstellen übergeben). Keine Anpassung von Partials notwendig. EN Changed format for decimal places for the sum in Hobes requests. No changes in partials necessary.

Jun 11, 2020

3.2.2

Anpassung der Angebote. Buchbar bei Tage vor Angebotsbeginn

Jun 11, 2020

3.2.1

Fehler in Objekttextsuche bei mehrsprachigen Seiten behoben

Apr 21, 2020

3.2.0

Erweiterung der Stammdaten um Ausgabe der Kaution

Apr 14, 2020

3.1.9

Mindestalter in Objektstammdaten für Buchungsmaske

Mar 12, 2020

3.1.8

Anpassung an Hobex-Version2

Mar 11, 2020

3.1.7

Änderung des Image-Slider. Erweiterung der Komponente um Häuser

Mar 10, 2020

3.1.6

Prüfung ob Haus-Titel und Objekt-Titel identisch sind und dann Alias ändern

Mar 02, 2020

3.1.5

BUG in Zuschlägen

Feb 26, 2020

3.1.4

Berechnungsfehler im TimeStamp PHP/Mysql angepasst.

Feb 21, 2020

3.1.3

Automatisches löschen von temporären Buchngen im Zahlungsmodul und neue Abschluss-Komponente

Feb 19, 2020

3.1.2

Buchungs- und Preiskalender Legende hinzugefügt.

Feb 18, 2020

3.1.1

Anpassung Buchungsmaske auf Mobilen Gräten

Feb 17, 2020

3.1.0

Ausgabe der Bewertungen als Liste über Komponente

Feb 13, 2020

3.0.9

Erweiterung Preisrechner und errechneter Preis

Feb 11, 2020

3.0.8

Anpassung Felder in Buchungsmaske

Feb 06, 2020

3.0.7

Erweiterung der DB-Felder gast_tel (50) und gast_mobil (30)

Feb 05, 2020

3.0.6

Hausliste angepasst, keine Ausgabe wenn Objekte gleich 0

Feb 05, 2020

3.0.5

Sprachen-Dateien angepasst und fehlende Texte des Backends eingefügt

Feb 03, 2020

3.0.4

Objekt-Indexe neu aufgebaut

Jan 31, 2020

3.0.3

BUG in PHP bei SetLOCALE und Monatsausgabe als Text (aus Februar wurde März)

Jan 30, 2020

3.0.2

Anschreiben vor Anreise aus WerbeMail-Check entfernt.

Jan 29, 2020

3.0.1

Feldnamen (String) in Objekt-Tabelle verkürzt. Cron von Minute auf 5 Minuten gestellt

Jan 29, 2020

3.0.0

MySQL änderungen in DATE_ADD und DATE_SUB

Jan 28, 2020

2.9.9

Update leaflet-marker

Jan 24, 2020

2.9.8

Update leaflet auf die neuste Version

Jan 23, 2020

2.9.7

Update im Preisrechner default.htm

Jan 17, 2020

2.9.6

BUG in der Objektliste Interne-Nr

Jan 16, 2020

2.9.5

Interne Anpassung der Fewo-KLassen

Jan 15, 2020

2.9.4

BUG im Preisrechner, aktivierung der Buttons

Jan 15, 2020

2.9.3

Update der Buchungsmaske und dem Preisrechner (Wichtig siehe Upgrade Guide)

Jan 15, 2020

2.9.2

Löschen von Bewertungen und Buchungen als SuperUser zulassen

Jan 14, 2020

2.9.1

Erweiterung Schema.org um Postionsdaten und Preise des Betriebes

Jan 14, 2020

2.9.0

Anapssung der Bewertungsmaske. Erweiterung um Platzhalter im INPUT für verschiedene Sprachen.

Jan 13, 2020

2.8.9

Anpassung Belegungsplan, Startmonat bei Suchangabe nur den Offset geändert

Jan 11, 2020

2.8.8

Anpassung Suchmasken für verschiedenen Sprachen, Auswahl WerbeMail-Checkbox gefixt.

Jan 09, 2020

2.8.7

Tagesdarstellung (Wenn Buchung nur 1 Nacht) im Kalender und Preisrechner-Labels angepasst

Jan 06, 2020

2.8.6

Fehler in der Berechnung des Tagesnamen in PHP

Jan 02, 2020

2.8.5

Zurück auf PHP 7.2

Dec 30, 2019

2.8.4

Kurze Umstellung auf PHP 7.1

Dec 30, 2019

2.8.3

Vorbereitung neue Image-Verwaltung

Dec 23, 2019

2.8.2

Eigentümer-Daten geändert

Dec 20, 2019

2.8.1

Umstellung Datenbank auf MyISAM

Dec 20, 2019

2.8.0

Umstellung Datenbank auf MyISAM

Dec 20, 2019

2.7.9

Umstellung der Datenbank auf MyISAM für schnellere Verarbeitung

Dec 20, 2019

2.7.8

BUG in der Hausliste. Pagination wurde falsch berechnet.

Dec 18, 2019

2.7.7

BUG im Kalender, wenn eine Saisonzeit ohne Preis vorhanden ist.

Dec 11, 2019

2.7.6

Darstellung -Keine Preise- im Belegungsplan bei letzter Saison geändert.

Dec 05, 2019

2.7.5

FIX Darstellungsfehler im Belegungskalender für das Jahr 2020

Dec 05, 2019

2.7.4

Erweiterung der Angebotsausgaben und der Sprachmodule

Dec 05, 2019

2.7.3

BUG in den Objektlisten Feld Beschreibung wenn Daten geändert wurden

Dec 02, 2019

2.7.2

Datenbankanpassungen auf die verschiedenen MySQL-Versionen.

Nov 29, 2019

2.7.1

Datenbankanpassungen auf die verschiedenen MySQL-Versionen.

Nov 29, 2019

2.7.0

Datenbankanpassungen auf die verschiedenen MySQL-Versionen.

Nov 29, 2019

2.6.9

Anpassung bei Anzahlungen wenn nur Min-Preis übergeben wurde und Prozent = 0 war

Nov 29, 2019

2.6.8

Mehrfaches Anlegen von Bade- und Schlafzimmern( Fewo-Verwalter)

Nov 28, 2019

2.6.7

Optimierung Listenfilter und Objektliste.

Nov 27, 2019

2.6.6

Anpassung der CRON-Steuerung. Jetzt zusätzlich als URL ansteuerbar.

Nov 21, 2019

2.6.5

Erweiterung Canonical für Mutli-Websites

Nov 19, 2019

2.6.4

Erweiterung des Sprachen-Modules.

Nov 19, 2019

2.6.3

Erweiterung der Bildausgabe in den Listenansichten auf max 3 Bilder

Nov 08, 2019

2.6.2

NEU Ausgabe von 2 Bildern in der Listenansicht (Bild 1 und Bild 2)

Nov 08, 2019

2.6.1

-BUG im Import-Modul bei Bildern

Nov 07, 2019

2.6.0

Anpassungen an PHP Version 7.3, BUG im Kalender behoben

Nov 07, 2019

2.5.9

Ausgabe von Fehler-Log-Einträgen im Event-Log

Nov 07, 2019

2.5.8

Umstellung der Tages- und Monatsnamen auf PHP(locale) je Sprache

Nov 05, 2019

2.5.7

BUG im Buchungskalender, wenn mehrere Anreisetage übergeben wurden, behoben

Nov 04, 2019

2.5.6

Anpassung schema.org und Listen-Partials (default.htm)

Nov 04, 2019

2.5.5

BUG in Angebot-Detail wenn keine Angebote vorhanden Variable treffer

Oct 29, 2019

2.5.4

BUG in Bewertungen Pagination flasch

Oct 29, 2019

2.5.3

BUG in Saisonzeiten Anreisen am

Oct 29, 2019

2.5.2

Interne Optimierungen

Oct 23, 2019

2.5.1

Leistungen Sortierung

Oct 18, 2019

2.5.0

Zuschlag in Angeboten an und abschalten

Oct 18, 2019

2.4.0

Anpassung der Schema.org-Daten. Erfassung der Koordinaten und Öffnungszeit nach dem Update.

Oct 11, 2019

2.3.0

KFZ-Kennzeichen als Feld hinzugefügt

Oct 11, 2019

2.2.9

Interne Anpassung der Belegungsdaten. Schnelleres Laden der Belegungsdaten.

Oct 09, 2019

2.2.8

Abfrage bei Min-Preis ob Preis > 0€. Gibt keinen Min-Preis mit 0 € mehr aus.

Sep 25, 2019

2.2.7

Stornierungen werden nicht mehr in der Vorgangstabelle gespeichert.

Sep 23, 2019

2.2.6

Update der Objekteliste in den Angeboten

Sep 09, 2019

2.2.5

Bug in Datumsfeld bei Mitreisenden gefixt.

Sep 04, 2019

2.2.4

Bug in menuetab.htm in Buchungsmaske. Tab 7 wurde nicht disabled.

Sep 03, 2019

2.2.3

Mitreisende, Anpassung Partial

Sep 03, 2019

2.2.2

Zahlungen für Gastzugang hinzugefügt.

Sep 02, 2019

2.2.1

Anpassung Werbemail bei HOBEX-Zahlungen und Übergabe an Fewo-Verwalter.

Aug 09, 2019

2.2.0

Rundungsfehler bei Bewertungen in der Listenseite gefixt.

Aug 05, 2019

2.1.9

Platzhalter für eMail-Templates erweitert {{ LANDLANG }}.

Aug 05, 2019

2.1.8

Checkbox für Werbung (z.B. Bewertungsmail) in der Buchungsmaske hinzugefügt.

Jul 22, 2019

2.1.7

FIX BUG in price calculator. In the Partials and Views are no changes.

Jun 13, 2019

2.1.6

PHP code has been changed. In the Partials and Views are no changes.

Jun 12, 2019

2.1.5

Insert option-bookings in blocked listings

Jun 04, 2019

2.1.4

Change booking-type and date on blocked dates

Jun 04, 2019

2.1.3

Add blocking dates, change booking infos and postpages in booking-component

Jun 04, 2019

2.1.2

FIX bug in mail documents

May 22, 2019

2.1.1

Fix alert in bookingmask date-fields

May 21, 2019

2.1.0

Fix bug in leaflet fullscreen

May 21, 2019

2.0.9

Fix bug in leaflet markercluster

May 21, 2019

2.0.8

Change field birthdate in bookking to varchar

May 21, 2019

2.0.7

Add manage blocking and set it only to inquire

May 21, 2019

2.0.6

Add more than 4 accounting files in owner login. Fix BUG in calendar-update

May 07, 2019

2.0.5

FIX Bug in caldendar component (IE only). Change HOBEX payment mask

Apr 25, 2019

2.0.4

Fix BUG in IMPORT/API booking canceled, cancellation

Apr 15, 2019

2.0.3

Fix bug in votings

Apr 06, 2019

2.0.2

Percent offers can now be booked over the entire period if set longer

Apr 04, 2019

2.0.1

Insert button 'more objects' in objectbuttons

Apr 03, 2019

2.0.0

Insert House list and details

Apr 02, 2019

1.9.9

FIX error blocking

Mar 28, 2019

1.9.8

Update fancybox in imgae slider

Mar 28, 2019

1.9.7

Add Hobex-Status Pending

Mar 25, 2019

1.9.6

Add license plate on booking mask

Mar 22, 2019

1.9.5

Insert HOBEX Log in events

Mar 18, 2019

1.9.4

Change HOBEX Request, Change listfilter

Mar 12, 2019

1.9.3

Remove tooltip in services and change objekttextsearch

Mar 06, 2019

1.9.2

Change listfilter and objectlist (only for side speed)

Mar 05, 2019

1.9.1

Change function getBokkings from FewoVerwalter

Mar 05, 2019

1.9.0

Add sum mindaysprice in objectlist and object base data

Mar 01, 2019

1.8.9

Insert HOBEX Port-Check

Feb 27, 2019

1.8.8

Add hobex result code 000.200.100

Feb 27, 2019

1.8.7

Change HOBEX Log event

Feb 26, 2019

1.8.6

Insert HOBEX Log in event-log. Change Voting-Slider.

Feb 25, 2019

1.8.5

Fix HOBEX login

Feb 21, 2019

1.8.4

Fix display errors in upgrade guide

Feb 13, 2019

1.8.3

Add new listfiler and searchbox

Feb 06, 2019

1.8.2

Add placeholder in calender input (bookingmask, search, listfilter)

Feb 06, 2019

1.8.1

Add index in objects table to increase the performance and adjustment of equipment to avoid duplication of expenditure

Feb 06, 2019

1.8.0

Check upgrade 1.7.9. After the upgrade the user has to send all data.

Feb 04, 2019

1.7.9

Add multi arrival days in serachmask and filtermask

Feb 04, 2019

1.7.8

Fix bug mindays in calendar

Jan 30, 2019

1.7.7

Fix bug in calendar

Jan 29, 2019

1.7.6

Add day prices seasons

Jan 29, 2019

1.7.5

Add alterntive css selection in globalsettings for calendars

Jan 28, 2019

1.7.4

Several arrival days in calendar possible

Jan 28, 2019

1.7.3

Change special characters ú,é,á,í,ó,ù,è,à,ì,ò in aliases to u,e,a,i,o.

Jan 21, 2019

1.7.2

change plugin permissions for admins

Jan 18, 2019

1.7.1

Add index on field haus_land

Jan 18, 2019

1.7.0

Add language in bookingmask

Jan 15, 2019

1.6.9

Add calculated price in object list

Jan 15, 2019

1.6.8

Fix Bug in leaflet fullscreen

Jan 15, 2019

1.6.7

Add Translate Plugin in all sites

Jan 14, 2019

1.6.6

Add messenger component

Jan 14, 2019

1.6.5

Fix error in offers date fields

Jan 03, 2019

1.6.4

Fix error in booking date fields

Jan 02, 2019

1.6.3

Add guest login

Dec 19, 2018

1.6.2

Add voting import/sync from FewoVerwalter

Dec 17, 2018

1.6.1

Add offers to bookingmask

Dec 17, 2018

1.6.0

Add calculated price in the object lists

Dec 04, 2018

1.5.9

API Payment BUG

Dec 03, 2018

1.5.8

Add multi price calculator on one page

Nov 29, 2018

1.5.7

Add external booking number to fewoverwalter

Nov 29, 2018

1.5.6

Remove required modul Currency

Nov 29, 2018

1.5.5

Older installations require a new license file

Nov 29, 2018

1.5.4

Add sorting to houselist

Nov 29, 2018

1.5.3

FIX user permissions

Nov 06, 2018

1.5.2

Bugfix in the object list and the equipment, Bugfix in objektlist filter (yes,or,not)

Nov 02, 2018

1.5.1

Change bookingmask

Nov 02, 2018

1.5.0

Create table settings

Nov 02, 2018

1.4.9

Update bookingmask, equipments in listfilter, details and objectlists

Nov 02, 2018

1.4.8

Update Database

Oct 24, 2018

1.4.7

Update database field sort in objects to integer

Oct 24, 2018

1.4.6

FIX BUG in services

Oct 19, 2018

1.4.5

FIX BUG in DOM XML

Oct 17, 2018

1.4.4

Change pagination menue

Oct 16, 2018

1.4.3

Change pagination in objectlist, change zoom in leaflet

Oct 16, 2018

1.4.2

Add round (decimal or int) in rating list and ratings

Oct 09, 2018

1.4.1

Add enDate to datepicker

Oct 03, 2018

1.4.0

Upgrade offers

Sep 30, 2018

1.3.9

Upgrade leaflet and openstreetmap

Sep 27, 2018

1.3.8

Update global settings (not today, target option)

Sep 27, 2018

1.3.7

Change component objektmap(LeafLet)

Sep 25, 2018

1.3.6

Change calculator and object listsearch

Sep 24, 2018

1.3.5

Add component Object-Map, Change partials bookingmask, searchmask, calculator and listfilter

Sep 24, 2018

1.3.4

Change listfilter partial (see upgrade info).

Sep 07, 2018

1.3.3

Bug fixes mindays in calendar control (bookingmask) and show cancellations in the occupancy plan.

Sep 07, 2018

1.3.2

Add delete button in calendar control (bookingmask).

Aug 22, 2018

1.3.1

Add back buttons to bookingmask, change image loader for objects and houses

Aug 17, 2018

1.2.0

Bookingplan add selectbox to change month, add region filter in objectlist

Aug 07, 2018

1.1.9

Upadte fields in prices and add map in object-list

Jul 31, 2018

1.1.8

Chang marker buttons in details and listings

Jul 30, 2018

1.1.7

Image sorting in objects by number

Jul 26, 2018

1.1.6

show ratings on a separate page

Jul 26, 2018

1.1.5

Insert sync to feondi channelmanager and add gound plan default image

Jul 26, 2018

1.1.4

Bug fix objectlist search and sorting

Jul 20, 2018

1.1.3

Update02 fix

Jul 20, 2018

1.1.2

Bug fix in offers2

Jul 20, 2018

1.1.1

Bug fix in offers

Jul 19, 2018

1.1.0

Bug fix in get ratings

Jul 18, 2018

1.0.9

change bookingmask (default.html) and delete MySql functions

Jul 18, 2018

1.0.8

Change MySql function getMinPersonen

Jul 17, 2018

1.0.7

Change functions deinstaller

Jul 17, 2018

1.0.6

Change calculation of surcharges

Jul 17, 2018

1.0.5

Change directory query if october installed in a subdirectory

Jul 11, 2018

1.0.4

Plugin for MYSQL 5.7 adjusted

Jul 11, 2018

1.0.3

Change objectlist

Jul 09, 2018

1.0.2

Insert selectboxes in listfilter

Jul 05, 2018

1.0.1

Update database insert Mitreisende.

Jun 28, 2018

1.0.0

Initialize plugin.

Jun 28, 2018

Updatehinweise / Upgrade Guide

HINWEIS!
Die Bearbeitung eines Partials ist nur dann notwendig, wenn das entsprechende Partial einer Komponente im Backend angepasst wurde.
Die angepassten Partials finden Sie im Backend unter CMS > Partials. Schauen Sie hier, ob das entsprechende Partial zu finden ist.


Upgrade 3.8.19

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Eigentümerdaten default.htm:
Innerhalb des Code-Blocks var abrTable = $('#abrechnungen').DataTable({...}) muss folgender Code für das columnDefs-Objekt hinzugefügt werden:

{
    targets: 4,
    sortable: true,
    type: 'de_date',
},

Innerhalb des Code-Blocks var table = $('#vorgaenge').DataTable({...}) muss folgender Code für das columnDefs-Objekt hinzugefügt werden:

{
    targets: 2,
    visible: true,
    searchable: true,
    sortable: true,
    type: 'de_date',
},

Upgrade 3.8.11

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Objektliste default.htm:
Der Folgende Code-Block muss UNTER den Code-Block {% if objekt.Adresse %} . . . {% endif %} eingefügt werden:

{% if objekt.alternativeZeitraeume %}
    <div class="fewo-alternative d-inline-block">
        {{ alternativeLabel|raw }}
        {% for alternative in objekt.alternativeZeitraeume %}
            <div class="fewo-alternative-item"><a href="{{ alternative.href }}">{{ alternative.label|raw }}</div>
        {% endfor %}
    </div>
{% endif %}
{% if objekt.buchungsluecken %}
    <div class="fewo-buchungsluecken d-inline-block">
        {{ buchungslueckenLabel|raw }}
        {% for luecke in objekt.buchungsluecken %}
            <div class="fewo-buchungsluecken-item"><a href="{{ luecke.href }}">{{ luecke.label|raw }}</div>
        {% endfor %}
    </div>
{% endif %}

Upgrade 3.7.6

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Belegungsplan default.htm:
Folgende Code-Zeile muss unter der Zeile var caloffset = '{{ caloffset }}'; eingefügt werden:

var mindaysText = '{{ minnaechte }}';

Upgrade 3.7.3

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Eigentümerdaten default.htm:
Folgende Code-Zeile über der Zeile &lt;table id=&quot;abrechnungen&quot; class=&quot;display&quot; style=&quot;width:100%&quot;&gt; einfügen:

<div id="abr-error"></div>

 

Optionale Anpassung (wenn Ausgabe nicht erwünscht, ist diese Anpassung nicht notwendig)
Komponente Buchungsmaske zusammen.htm:
Folgender Code-Block muss unter den Code-Block {% if data.zahlung2 &gt; 0 %} ... {% endif %} eingefügt werden:

{% if istZahlung and data.kurtaxePreis > 0 %}
    <div class="kurtaxe_hinweis">{{ zahlungKurtaxeHinweis|raw }}</div>
{% endif %}

Upgrade 3.7.0

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Eigentümerdaten default.htm:
Der Code-Block für die Eigenbelegungen...

{% if showbelegen %}
    ...
    ### Hier steht der restliche Code ###
    ...
{% endif %}

... muss durch folgenden Code ersetzt werden:

{% if showbelegen %}
    <div role="tabpanel" class="tab-pane" id="4">
        <div id="bookingMask">
            <form class="eigenbelegung_form" method="post" data-request="{{ __SELF__ }}::onBelegung">
                <div class="bel_objekt">
                    <div class="label label_objektauswahl">{{ labels.belobjekt }}</div>
                    <select id="ctrl_objekt" class="select frm_objekt" name="objekt" data-request="{{ __SELF__ }}::onObjektChange" style="width:300px;">
                        {% for key, obj in belobjekte %}
                            <option value="{{ key }}">{{ obj|raw }}</option>
                        {% endfor %}
                    </select>
                </div>
                <div id="belegung"></div>
            </form>
        </div>
    </div>
{% endif %}

Folgende Code-Zeile muss gelöscht werden:

$('#ctrl_objekt').select2({});

Die Code-Zeile {&quot;data&quot;: &quot;titel&quot;}, muss durch folgenden Code ersetzt werden:

{"data": "titel",
    "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
        $(nTd).html("<a target='_blank' href='" + oData.href + "'>" + oData.titel + "</a>");
    }
},

Upgrade 3.6.3

Umstellung der PHP-Version für October 1 (PHP 7.4) und October 3 (PHP 8.1)

WICHTIG! Bitte lesen

Informationen zu October 1:
Bitte stellen Sie Ihre PHP-Version auf PHP 7.4 um, sollten Sie weiterhin October 1 benutzen.

Informationen zu October 3:
Ab sofort ist die Verwendung des neuen October 3 möglich. Bitte stellen Sie Ihre Version auf PHP 8.1 um, sollten Sie die neue October 3 Version benutzen.


Upgrade 3.6.0

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Objektliste default.htm:
Bild und Bild-Slider
Das alt-Attribut und das title-Attribut beider img-Tags (einfaches Bild und Slider) müssen durch folgenden Code ersetzt werden:

alt="{% if objekt.image_title %}{{ objekt.image_title }}{% else %}{{ objekt.TitelFuerTags|raw }}{% endif %}"{% if objekt.image_title %} title="{{ objekt.image_title }}"{% endif %}

 

Komponente Buchungsmaske btnend.htm und btnend-variant2.htm:
Die Code-Zeile für den Button mit der class fewo-btnweiter muss durch folgende Code-Zeilen ersetzt werden.

{% if btnbuchen != '' %}
    <button id="btnweiter6" class="fewo-btnweiter fewo-btnend" onclick="$('.fewo-btnend').hide();" data-request="{{ __SELF__ }}::onBtnBuchen" data-request-data="btype: 'B'">{{ btnbuchen }}</button>
{% endif %}

{% if btnanfragen != '' %}
    <button id="btnweiter6" class="fewo-btnweiter fewo-btnend" onclick="$('.fewo-btnend').hide();" data-request="{{ __SELF__ }}::onBtnBuchen" data-request-data="btype: 'A'">{{ btnanfragen }}</button>
{% endif %}

Upgrade 3.5.35

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Hausliste default.htm:
Der JavaScript-Codeblock für das Laden der Hauskarte muss entfernt und durch &lt;div id=&quot;hausmap-{{ haus.id }}&quot;&gt;{{ haus.hausmap|raw }}&lt;/div&gt; ersetzt werden. Der Code befindet sich nun in dem Partial hausmap.htm.

Dieser Code...

{% if haus.map %}
    <div class="fewo-map">
    <div id="mapid{{ haus.id }}" class="fewo-hausmap" style="height:{{ mapheight }}px;"></div>
        <script>
            jQuery(document).ready(function() {
                ...
                ### Hier steht der restliche Code ###
                ...
            });
        </script>
    </div>
{% endif %}

...muss gelöscht und durch...

<div id="hausmap-{{ haus.id }}">{{ haus.hausmap|raw }}</div>

...ersetzt werden.

 

Komponente Objektmap default.htm:
Der Div-Container mit der ID map und der JavaScript-Codeblock für das Laden der Karte muss entfernt und durch &lt;div id=&quot;objmap&quot;&gt;{{ objmap|raw }}&lt;/div&gt; ersetzt werden. Der Code befindet sich nun in dem Partial map.htm.

Dieser Code...

<div id="map" class="fewo-listmap" style="height:600px;"></div>
<script>
    jQuery(document).ready(function() {
        ...
        ### Hier steht der restliche Code ###
        ...
    });
</script>

...muss entfernt und durch...

<div id="objmap">{{ objmap|raw }}</div>

...ersetzt werden.


Upgrade 3.5.34

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Buchungsmaske preise.htm:
Der folgende Code ist für die Ausgabe der Kurtaxe in der Buchungsmaske zuständig und muss oberhalb von &lt;!-- Gesamtsumme --&gt; oder an anderer beliebiger Stelle in diesem Partial eingefügt werden:

{% if kurtaxe > 0 %}
    <div class="zeile zeile_preise kurtaxe">
        <div class="zeilensummentitel sum_titel">{{ summen.kurtaxe }}</div>
        <div class="zeilesumme kurtaxe">{{ kurtaxe }}</div>
    </div>
{% endif %}

Komponente Preisrechner default.htm: Der folgende für die Ausgabe der Kurtaxe im Preisrechner zuständig und muss unterhalb von &lt;div id=&quot;kaution&quot;&gt;{{ kaution }}&lt;/div&gt; oder an anderer beliebiger Stelle in diesem Partial eingefügt werden:

<div class="label">{{ pkurtaxelabel }}</div>
<div id="kurtaxe">{{ kurtaxe }}</div>

Komponente Bewertungen default.htm:
Die Code-Zeile src=&quot;{{ bewertung.image|raw }}&quot; für das img-Tag muss durch folgenden Code ersetzt werden:

src="{{ bewertung.image.path }}"

Upgrade 3.5.33

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Objektliste default.htm:

Schritt 1 (Gesamt Map):
Der JavaScript-Codeblock für das Laden der Gesamtkarte muss entfernt und durch &lt;div id=&quot;objGesMapContainer&quot;&gt;{{ objgesmap|raw }}&lt;/div&gt; ersetzt werden. Der Code befindet sich nun in dem Partial objgesmap.htm.

Dieser Code...

{% if showmap == true %}
    {% if mapOption == true %}
        <div id="fewo-listmap">
            <div id="map" class="fewo-listmap" style="height:{{gesmapheight}}px;"></div>
            <script>
            ...
            ### Hier steht der restliche Code ###
            ...
        </script>
    {% endif %}
{% endif %}

...muss gelöscht und durch...

<div id="objGesMapContainer">{{ objgesmap|raw }}</div>

...ersetzt werden.

Schritt 2 (Map pro Objekt):
Der JavaScript-Codeblock für das Laden der einzelnen Objektkarten muss entfernt und durch &lt;div id=&quot;objMapContainer-{{ objekt.id }}&quot;&gt;{{ objekt.objmap|raw }}&lt;/div&gt; ersetzt werden. Der Code befindet sich nun in dem Partial objmap.htm.

Dieser Code...

{% if objekt.map == true %}
    {% if mapOption == true %}
        <div class="fewo-map">
            <div id="mapid{{ objekt.id }}" class="fewo-objektmap" style="height:{{ mapheight }}px;"></div>
            <script>
            ...
            ### Hier steht der restliche Code ###
            ...
        </script>
    {% endif %}
{% endif %}

...muss gelöscht und durch...

<div id="objMapContainer-{{ objekt.id }}">{{ objekt.objmap|raw }}</div>

...ersetzt werden.

Komponente ObjektBewertungen item.htm:

Der Bewertungstitel wird nun in einem &lt;p&gt;-Tag geladen. Dafür einfach folgende Zeile in diesem Partial wie folgt anpassen:

<div class="bew_titel"><p>{{ bewertung.titel|raw }}</p></div>

Upgrade 3.5.23

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Buchungsmaske variant2.htm und leistungen.htm: Der folgende Code muss oberhalb der Zeile {% for leist in optleistungen %} eingefügt werden:

{% if showTooltip %}
    <script>
        $(document).ready(function() {
            $('[data-toggle="tooltip"]').tooltip();
        });
    </script>
{% endif %}

Komponente Buchungsmaske variant2.htm und leistungen.htm: Der folgende Code muss hinter {{ leist.titel }} eingefügt werden:

{% if showTooltip %}<span class="fewo-tooltip" data-toggle="tooltip" data-placement="right" title="{{ leist.tooltip|raw }}"></span>{% endif %}

Upgrade 3.5.19

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Angebot-Detail default.htm: Die Code-Zeile src=&quot;{{ image.thumb(image_width,image_height) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ image|raw }}"

Komponente Angebot-Detail objlist.htm: Die Code-Zeile src=&quot;{{ objekt.image.thumb(objekt.image_width,objekt.image_height) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ objekt.image|raw }}"

Komponente Angebote default.htm: Die Code-Zeile src=&quot;{{ angebot.image.thumb(image_width,image_height) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ angebot.image|raw }}"

Komponente Buchungsmaske default.htm und variant2.htm: Die Code-Zeile src=&quot;{{ ang_image.thumb(200,200) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ ang_image|raw }}"

Komponente Galerie default.htm: Die Code-Zeile src=&quot;{{ image.thumb( gal_width , gal_height ) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ image.thumb|raw }}"

Komponente Bewertungen default.htm: Die Code-Zeile src=&quot;{{ bewertung.image.thumb( img_width, img_height) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ bewertung.image|raw }}"

Komponente Hausdetail default.htm: Die Code-Zeile src=&quot;{{ image.thumb(image_width,image_height) }}&quot; muss druch folgenden Code ersetzt werden:

src="{{ image|raw }}"

Komponente Hausliste default.htm: Die Code-Zeile src=&quot;{{ haus.image.thumb(haus.image_width,haus.image_height) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ haus.image|raw }}"

Komponente Obj-Bewertungen item.htm: Die Code-Zeile src=&quot;{{ bewertung.image.thumb( img_width, img_height) }}&quot; muss durch folgenden Code ersetzt werden:

src="{{ bewertung.image.thumb|raw }}"

Upgrade 3.5.18

Dieses Update enthält eine neue Funktion für die Eigentümerlogin-Erweiterung.

Ab sofort ist es möglich, automatisierte Emails an den Eigentümer zu senden, sobald dieser über den Fewo-Verwalter für den Eigentümerlogin freigeschlatet oder die Login-Daten geändern wurden. Diese Funktion kann im Backend unter Einstellungen -> Eigentümer-Einstellungen aktiviert werden. Die entsprechenden Mail-Vorlagen, können im Bereich der Mail-Vorlagen angepasst werden. Mehrsprachige Mail-Vorlagen sind möglich.


Upgrade 3.5.15

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Listenfilter default.htm: Die Code-Zeile $('#abreise').request('onDataChange'); im Script-Bereich, muss durch folgenden Code ersetzt werden:

$('#abreise').request('onDataChange', {data: {dateChange: 1}});

Upgrade 3.5.14

Folgende Partialanpassungen für dieses Update

Komponente Eigentümerdaten default.htm: Der komplette Code muss ersetzt werden durch:
WICHTIG! Anpassung nur notwendig, wenn das default.htm Partial für Eigentümerdaten angepasst wurde!

<div class="clearfix"></div>
<div class="eheader">
    <div class="enummer">{{ labels.enummer }} {{ nummer }}</div>
    {% if firma %}
    <div class="efirma">{{ labels.efirma }} {{ firma }}</div>
    {% endif %}
    <div class="ename">{{ labels.ename }} {{ vorname }} {{ name }}</div>
    <div class="float-right">
        <a href="#" data-request="onLogout">{{ btnlogout }}</a>
    </div>
</div>
<div class="edaten">
    <div id="exTab2" class="container col-md-12 p-0 float-left"> 
        <ul class="nav nav-tabs" role="tablist" id="edatenTab">
            {% if showabrechnung == 1 %}
                <li class="nav-item disabled" id="tab1"><a class="nav-link active" href="#1" data-toggle="tab" role="tab">{{ labels.tab1 }}</a></li>
            {% endif %}
            {% if showvorgaenge == 1 %}
                <li class="nav-item disabled" id="tab2"><a class="nav-link" href="#2" data-toggle="tab" role="tab">{{ labels.tab2 }}</a></li>
            {% endif %}
            {% if showobjekte %}
                <li class="nav-item disabled" id="tab3"><a class="nav-link" href="#3" data-toggle="tab" role="tab">{{ labels.tab3 }}</a></li>
            {% endif %}
            {% if showbelegen %}
                <li class="nav-item disabled" id="tab4"><a class="nav-link" href="#4" data-toggle="tab" role="tab">{{ labels.tab4 }}</a></li>
            {% endif %}
        </ul>
        <div class="tab-content" >
            {% if showabrechnung ==1 %}
                <div role="tabpanel" class="tab-pane active" id="1">
                    <table id="abrechnungen" class="display" style="width:100%">
                        <thead>
                            <tr>
                                <th></th>
                                <th>{{ labels.rechnungsnr }}</th>
                                <th>{{ labels.jahr }}</th>
                                <th>{{ labels.monat }}</th>
                                <th>{{ labels.datum }}</th>
                            </tr>
                        </thead>
                    </table>
                </div>
            {% endif %}
            {% if showvorgaenge == 1 %}
                <div role="tabpanel" class="tab-pane" id="2">
                    <table id="vorgaenge" class="display" style="width:100%">
                        <thead>
                            <tr>
                                <th></th>
                                <th>{{ labels.vorgjahr }}</th>
                                <th>{{ labels.vorgdatum }}</th>
                                <th>{{ labels.vorgart }}</th>
                                <th>{{ labels.vorganreise }}</th>
                                <th>{{ labels.vorgabreise }}</th>
                                <th>{{ labels.vorgtage }}</th>
                                <th>{{ labels.vorgobjekt }}</th>
                                <th>{{ labels.vorgobjid }}</th>
                                <th>{{ labels.vorgerwachsene }}</th>
                                <th>{{ labels.vorgkinder }}</th>
                                <th>{{ labels.vorgobjpreis }}</th>
                            </tr>
                        </thead>
                        <tfoot>
                            <tr>
                                <th></th>
                                <th>{{ labels.vorgjahr }}</th>
                                <th>{{ labels.vorgdatum }}</th>
                                <th>{{ labels.vorgart }}</th>
                                <th>{{ labels.vorganreise }}</th>
                                <th>{{ labels.vorgabreise }}</th>
                                <th>{{ labels.vorgtage }}</th>
                                <th>{{ labels.vorgobjekt }}</th>
                                <th>{{ labels.vorgobjid }}</th>
                                <th>{{ labels.vorgerwachsene }}</th>
                                <th>{{ labels.vorgkinder }}</th>
                                <th>{{ labels.vorgobjpreis }}</th>
                            </tr>
                        </tfoot>
                    </table>
                </div>
            {% endif %}
            {% if showobjekte %}
                <div role="tabpanel" class="tab-pane" id="3">
                    <table id="objekte" class="display" style="width:100%">
                        <thead>
                            <tr>
                                <th></th>
                                <th>{{ labels.objnr }}</th>
                                <th>{{ labels.objtitel }}</th>
                                <th>{{ labels.objart }}</th>
                                <th>{{ labels.objpers }}</th>
                                <th>{{ labels.objqm }}</th>
                                <th>{{ labels.objint }}</th>
                            </tr>
                        </thead>
                    </table>
                </div>
            {% endif %}
            {% if showbelegen %}
                <div role="tabpanel" class="tab-pane" id="4">
                    <form class="eigenbelegung_form" method="post" data-request="{{ __SELF__ }}::onBelegung">
                        <div class="bel_objekt">
                            <div class="label label_objektauswahl">{{ labels.belobjekt }}</div>
                            <select id="ctrl_objekt" class="select frm_objekt" name="objekt" data-request="{{ __SELF__ }}::onObjektChange" style="width:300px;">
                                {% for key, obj in belobjekte %}
                                    <option value="{{ key }}">{{ obj|raw }}</option>
                                {% endfor %}
                            </select>
                        </div>
                        <div id="belegung"></div>
                    </form>
                </div>
            {% endif %}
        </div>
    </div>
</div>
<script>
    function format(d) {
        // `d` is the original data object for the row
        var subtable = '<table class="display" cellspacing="2" border="0" style="margin-left:50px;width:90%;">'+
            '<thead>' +
            '<tr>';
        {% if showgastdaten %}
            {% if showGastVorname %}subtable += '<th style="padding-left:20px;">{{ labels.vorgvorname }}</th>';{% endif %}
            {% if showGastName %}subtable += '<th style="padding-left:20px;">{{ labels.vorgname }}</th>';{% endif %}
            {% if showGastEmail %}subtable += '<th style="padding-left:20px;">{{ labels.vorgmail }}</th>';{% endif %}
        {% endif %}
        {% if showGastHinweis %}subtable += '<th style="padding-left:20px;">{{ labels.memo }}</th>';{% endif %}
        {% if showGastEigentuemerhinweis %}subtable += '<th style="padding-left:20px;">{{ labels.ehinweis }}</th>';{% endif %}
        subtable += '</tr>' +
            '</thead>' +
            '<tr>';
        {% if showgastdaten %}
            {% if showGastVorname %}subtable += '<td style="padding-left:20px;">'+d.vorname+'</td>';{% endif %}
            {% if showGastName %}subtable += '<td style="padding-left:20px;">'+d.name+'</td>';{% endif %}
            {% if showGastEmail %}subtable += '<td style="padding-left:20px;">' + d.mail + '</td>';{% endif %}
        {% endif %}
        {% if showGastHinweis %}subtable += '<td style="padding-left:20px;">' + d.memo + '</td>';{% endif %}
        {% if showGastEigentuemerhinweis %}subtable += '<td style="padding-left:20px;">' + d.ehinweis + '</td>';{% endif %}
        subtable += '</tr>';
        {% if showleistung %}
            var length = JSON.parse(d.leistungen).length;
            if(length > 0) {
                subtable += '<tr>';
                {% if showgastdaten %}
                    subtable += '<td colspan="5">';
                {% else %}
                    subtable += '<td colspan="2">';
                {% endif %}
                subtable += '<table id="leistungen" class="display" style="width:100%; margin-top:10px;">' +
                    '<thead>' +
                    '<tr>' +
                    '<th>{{ labels.lnr }}</th>' +
                    '<th>{{ labels.ltitel }}</th>' +
                    '<th class="dt-center">{{ labels.lanz }}</th>' +
                    '<th class="dt-right">{{ labels.lepreis }}</th>' +
                    '<th class="dt-right">{{ labels.lsumme }}</th>' +
                    '</tr>' +
                    '</thead>' +
                    '<tbody>';
                $.each(JSON.parse(d.leistungen), function (index, value) {
                    subtable += '<tr>';
                    subtable += '<td>' + value.nr + '</td>';
                    subtable += '<td>' + value.text + '</td>';
                    subtable += '<td class="dt-center">' + value.anz + '</td>';
                    subtable += '<td class="dt-right">' + value.epreis + '</td>';
                    subtable += '<td class="dt-right">' + value.summe + '</td>';
                    subtable += '</tr>';
                });
                subtable += '</tbody></table>' +
                '</td>' +
                '</tr>';
            }
        {% endif %}
        subtable += '</table>';
        return subtable;
    }

    function formatAbr(d) {
        var subtable = '<table class="display" cellspacing="2" border="0" style="margin-left: 50px; width: 90%;">' +
            '<thead>' +
            '<tr>' +
            '<th>{{ labels.abrechnung }}</th>' +
            '<th>{{ labels.provision }}</th>' +
            '<th>{{ labels.wartung }} 1</th>' +
            '<th>{{ labels.wartung }} 2</th>' +
            '<th>{{ labels.wartung }} 3</th>' +
            '<th>{{ labels.wartung }} 4</th>' +
            '</tr>' +
            '</thead>' +
            '<tbody>' +
            '<tr>' +
            '<td><button data-attach-loading data-request-data="file: \'' + d.abr + '\', fileid: {{ nummer}}" data-request="{{ __SELF__ }}::onDownload">Download</button></td>' +
            '<td><button data-attach-loading data-request-data="file: \'' + d.prov + '\', fileid: {{ nummer}}" data-request="{{ __SELF__ }}::onDownload">Download</button></td>';
        $.each(d.wartung, function (index, value) {
            subtable += '<td><button data-attach-loading data-request-data="file: \'' + value + '\', fileid: {{ nummer}}" data-request="{{ __SELF__ }}::onDownload">Download</button></td>';
        });

        subtable += '</tr>' +
            '</tbody>' +
            '</table>';

        return subtable;
    }

    $(document).ready(function() {
        $('#ctrl_objekt').select2({});

        {% if showabrechnung ==1 %}
            var abrData = {{ abrechnungen|raw }};

            var abrTable = $('#abrechnungen').DataTable({
                bFilter: true,
                language: { {{ scriptlang|raw}} },
                order: [[2, 'asc']],
                displayLength: 15,
                data: abrData,
                columns: [
                    {
                        className: 'details-control',
                        orderable: false,
                        data: null,
                        defaultContent: ''
                    },
                    {'data': 'rechnr'},
                    {'data': 'jahr'},
                    {'data': 'monat'},
                    {'data': 'datum'},
                ],
                columnDefs: [
                    {
                        targets: 0,
                        width: '30px',
                        serachable: false,
                        sortable: false,
                    },
                    {
                        targets: 1,
                        width: "10px",
                    },
                ],
                drawCallback: function(settings) {
                    var api = this.api();
                    var rows = api.rows({page: 'current'}).nodes();
                    var last = null;
                    api.column(0, {page: 'current'}).data().each(function(group, i) {
                        if (last !== group) {
                            if (i['jahr'] == group) {
                                $(rows).eq(i).before(
                                    '<tr class="group"><td colspan="9">' + group + '</td></tr>'
                                );
                                last = group;
                            }
                        }
                    });
                },
            });

            // Order by the grouping
            $('#abrechnungen tbody').on('click', 'tr.group', function() {
                var currentOrder = abrTable.order()[0];
                if (currentOrder[0] === 0 && currentOrder[1] === 'asc') {
                    abrTable.order([0, 'desc'], [1, 'desc']).draw();
                } else {
                    abrTable.order([0, 'asc'], [1, 'desc']).draw();
                }
            });

            $('#abrechnungen tbody').on('click', 'td.details-control', function() {
                var tr = $(this).closest('tr');
                var row = abrTable.row(tr);

                if (row.child.isShown()) {
                    // This row is already open - close it
                    row.child.hide();
                    tr.removeClass('shown');
                } else {
                    // Open this row
                    row.child(formatAbr(row.data())).show();
                    tr.addClass('shown');
                }
            });
        {% endif %}

        {% if showvorgaenge == 1 %}
            var vorgData = {{vorgaenge|raw}};

            $('#vorgaenge thead tr').clone(true).addClass('filters').appendTo('#vorgaenge thead');

            // Vorgaenge ***********************************
            var table = $('#vorgaenge').DataTable({
                rowReorder: true,
                language: { {{ scriptlang|raw}} },
                data: vorgData,
                columns: [
                    {
                        className:      'details-control',
                        orderable:      false,
                        data:           null,
                        defaultContent: ''
                    },
                    {"data": "jahr"},
                    {"data": "datum"},
                    {"data": "art"},
                    {"data": "anreise"},
                    {"data": "abreise"},
                    {"data": "tage"},
                    {"data": "objekt"},
                    {"data": "objid"},
                    {"data": "erwachsene"},
                    {"data": "kinder"},
                    {"data": "objpreis", render: $.fn.dataTable.render.number( '.', ',', 2,'', ' €' )},
                ],
                columnDefs: [
                    {
                        targets: 1,
                        width:"30px",
                        visible: true,
                        searchable: true,
                        sortable: true,
                    },
                    {
                        targets: 3,
                        sortable: false,
                        searchable: false,
                        className: "dt-center",
                        render: function(data,type,row)
                        {
                            var color= '#000';
                            if(data == 'B')
                                color = 'red';
                            if(data == 'A')
                                color = '#e6e600';
                            if(data == 'BL')
                                color = '#00b300';
                            return '<span style="font-weight:bold;color:' + color +'">' + data +'</span>';
                        }
                    },
                    {
                        targets: 4,
                        sortable: true,
                        searchable: true,
                        type: 'de_date',
                    },
                    {
                        targets: 5,
                        sortable: true,
                        searchable: true,
                        type: 'de_date',
                    },
                    {
                        targets: 6,
                        width: "30px",
                        sortable: false,
                        searchable: false,
                        className: "dt-center"
                    },
                    {
                        targets: 8,
                        width: "30px",
                        sortable: false,
                        searchable: true,
                        className: "dt-center",
                    },
                    {
                        targets: 9,
                        sortable: false,
                        searchable: false,
                        className: "dt-center"
                    },
                    {
                        targets: 10,
                        sortable: false,
                        searchable: false,
                        className: "dt-center"
                    },
                    {
                        targets: 11 ,
                        className: "dt-right"
                    },
                ],
                order: [[1, 'desc'], [4, 'desc']],
                displayLength: {{ itemsProSeite }},
                dom: 'lfrtip',
                buttons: [
                    'csv', 'print'
                ],
                orderCellsTop: true,
                initComplete: function () {
                    var api = this.api();
                    api.columns().eq(0).each(function (colIdx) {
                        var cell = $('.filters th').eq($(api.column(colIdx).header()).index());
                        var title = $(cell).text();
                        if(colIdx > 0 && colIdx !== 3 && colIdx !== 9  && colIdx !== 6)
                            $(cell).html('<input type="text" size="8" placeholder="' + title + '" />');
                        else
                            $(cell).html(' ');
                        $('input', $('.filters th').eq($(api.column(colIdx).header()).index())).off('keyup change').on('keyup change', function (e) {
                            e.stopPropagation();
                            $(this).attr('title', $(this).val());
                            var regexr = '({search})';
                            var cursorPosition = this.selectionStart;
                            if (colIdx !== 8) {
                                api.column(colIdx).search(
                                    this.value !== ''
                                        ? regexr.replace('{search}', '(((' + this.value + ')))')
                                        : '',
                                    this.value !== '',
                                    this.value === ''
                                ).draw();
                            } else {
                                api.column(colIdx).search(
                                    this.value !== ''
                                        ? '\\b' + $(this).val() + '\\b'
                                        : '',
                                    this.value !== '',
                                    this.value === ''
                                ).draw();
                            }
                            $(this).focus()[0].setSelectionRange(cursorPosition, cursorPosition);
                        });
                    });
                },
                drawCallback: function (settings) {
                    var api = this.api();
                    var rows = api.rows({ page: 'current' }).nodes();
                    var last = null;
                    var totale = [];
                    totale['Totale'] = [];
                    var groupid = -1;
                    var subtotale = [];
                    var columns = [1];
                    var columns1 = 9, s = 0;
                    var colNo = [10];
                    var count = 0, svalue = [];
                    for (var c = 0; c < columns.length; c++) {
                        colNo = columns[c];
                        api.column(colNo, { page: 'current' }).data().each(function(group, i) {
                            if (last !== group) {
                                groupid++;
                                $.each(api.rows({ page: 'current' }).data(), function(index, row) {
                                    if (row['jahr'] === group) {
                                        var addSum = false;
                                        $.each(row, function (index2, val2) {
                                            if(index2 === 'art' && val2 === 'B')
                                                addSum = true;
                                            if (index2 === 'objpreis' || index2 === 'tage' || index2 === 'erwachsene' || index2 === 'kinder') {
                                                if (typeof subtotale[groupid] == 'undefined')
                                                    subtotale[groupid] = [];
                                                if (typeof subtotale[groupid][index2] == 'undefined') {
                                                    subtotale[groupid][index2] = 0;
                                                    if (index2 === 'kinder')
                                                        subtotale[groupid]['kkinder'] = 0;
                                                }
                                                var valCol = 0;
                                                if (index2 === 'kinder') {
                                                    var kinder = val2.split("/");
                                                    subtotale[groupid][index2] = +parseFloat(subtotale[groupid][index2] + parseFloat(kinder[0])).toFixed(2);
                                                    subtotale[groupid]['kkinder'] = +parseFloat(subtotale[groupid]['kkinder'] + parseFloat(kinder[1])).toFixed(2);
                                                } else {
                                                    valCol = Number(val2);
                                                    if(addSum === true)
                                                        subtotale[groupid][index2] = +parseFloat(subtotale[groupid][index2] + valCol).toFixed(2);
                                                }
                                            }
                                        });
                                    }
                                });
                                svalue.push(count);
                                last = group;
                                count = i;
                            } else {
                                count = count + 1;
                            }
                        });
                    }
                    if (svalue.length > groupid) {
                        svalue.push(count);
                        groupid++;
                    }
                    for (var c = 0; c < svalue.length-1;) {
                        var colNo2 = columns[c];
                        api.column(colNo2, {page: 'current'}).data().each(function(group, i) {
                            var  subtd = '';
                            subtd = "Summen " + group + " : "+ $.fn.dataTable.render.number('.', ',', 2,'',' €').display(subtotale[s]['objpreis']);
                            var objsumme = $.fn.dataTable.render.number('.', ',', 2,'',' €').display(subtotale[s]['objpreis']);
                            var tage = $.fn.dataTable.render.number('.', ',', 0).display(subtotale[s]['tage']);
                            var erw = $.fn.dataTable.render.number('.', ',', 0).display(subtotale[s]['erwachsene']);
                            var kind = $.fn.dataTable.render.number('.', ',', 0).display(subtotale[s]['kinder']);
                            var kkind = $.fn.dataTable.render.number('.', ',', 0).display(subtotale[s]['kkinder']);
                            if (i == svalue[c + 1]) {
                                $(rows).eq(i).after(
                                    '<tr class="group group-end"><td colspan="6">Summen (B) ' + group + '</td><td class="dt-center">' + tage + '</td><td></td><td></td><td class="dt-center">' + erw + '</td><td class="dt-center">' + kind + '/' + kkind + '</td><td class="dt-right">' + objsumme + '</td></tr>'
                                );
                                s++;
                                c++;
                            }
                        });
                    }
                }
            });
            // Add event listener for opening and closing details
            $('#vorgaenge tbody').on('click', 'td.details-control', function () {
                var tr = $(this).closest('tr');
                var row = table.row( tr );
                if ( row.child.isShown() ) {
                    // This row is already open - close it
                    row.child.hide();
                    tr.removeClass('shown');
                }
                else {
                    // Open this row
                    row.child( format(row.data()) ).show();
                    tr.addClass('shown');
                }
            });
        {% endif %}

        {% if showobjekte %}
            var objData = {{ objekte|raw}};
            var tableObjekte = $('#objekte').DataTable({
                rowReorder: true,
                language: { {{scriptlang | raw}}},
                data:objData,
                columns:[
                     {
                        className: 'details-objekte',
                        orderable: false,
                        data: null,
                        defaultContent: ''
                    },
                    {"data": "id"},
                    {"data": "titel"},
                    {"data": "art"},
                    {"data": "pers"},
                    {"data": "qm",render: $.fn.dataTable.render.number( '.', ',', 2,'',' qm' )},
                    {"data": "intern"},
                ],
                columnDefs: [
                    {
                        targets: 1,
                        visible: true,
                        searchable: true,
                    },
                    {
                        targets: 4,
                        sortable: false,
                        searchable: false,
                        className: "dt-center"
                    },

                    {
                        targets: 6 ,
                        className: "dt-center"
                    },
                ],
                order:[[1, 'asc']],
                displayLength:15,
                dom:'Bfrtip',
                buttons:['csv', 'print']
            });
        {% endif %}
    });
</script>

In der Eigentümer-Komponente können nun weitere Einstellungen für die Anzeige der Daten für die Vorgangsliste festgelegt werden.


Upgrade 3.5.13

WICHTIG! Durchführung nur notwendig, wenn Sync Feondi in den Fewo-Einstllungen aktiviert ist.
Dieses Update enthält Verbesserungen für die Benutzung von Sync Feondi im Backend. Wenn Sie den Sync für Feondi in den Fewo-Einstellungen aktiviert haben, müssen alle Belegungen im Fewo-Verwalter zu Feondi erneut gesendet werden.
Gehen Sie dazu im Fewo-Verwalter auf Programm > Internetschnittstellen > Fewo-Verwalter Proxy (Feondi) > alle Belegungen senden. Warten Sie, bis die Übertragung abgeschlossen ist.


Upgrade 3.5.7

Behebung einer Sicherheitslücke im Bereich Listensortierung (credits @Daniel Blumhagen für die Meldung der Lücke)

Zur kurzfristigen Installation des Updates wird dringend geraten!


Upgrade 3.5.5

Achtung: Im Falle der Verwendung unseres Eigentümerlogins, müssen alle notwendigen Abrechnungen erneut vom Fewo-Verwalter für den Eigentümerlogin bereitgestellt werden. Dies kann wie folgt erfolgen:

Gehen Sie im Fewo-Verwalter in den Bereich Finanzen. Klicken Sie nun auf den Button Abrechnungsliste. Markieren Sie alle Abrechnungen, die für den Eigentümerlogin bereitgestellt werden sollen. Dies können Sie entweder mit gedrückter Strg-Taste und anklicken der jeweiligen Abrechnung machen oder indem Sie die oberste zu sendende Abrechnung anklicken, die Umschalt-Taste (Großschreib-Taste) drücken und gedrückt halten und dann die unterste Abrechnung mit der Maus anklicken (beides Windows-Standard für die Mehrfach-Auswahl in Listen wenn zulässig). Anschließend klicken Sie auf den Button in Eigentümerlogin bereitstellen.

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Bild aus Stammdaten (Image) default.htm: Das src-Attribut aller img-Tags muss wie folgt definiert werden:

src="{{ image|raw }}"

Upgrade 3.5.4

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Buchungsmaske default.htm: Folgende Code-Zeile muss innerhalb des div-Elements mit der Klasse class=&quot;book-22&quot; ganz unten (unterhalb von id=&quot;error-anreise&quot;) eingefügt werden:

<div id="belplanScript"></div>

Optionale Anpassungen

Diese Anpassungen sind optional.
Folgende Felder können in der Zusammenfassung der Buchungsmaske (Partials > Buchungsmaske/zusammen.htm) ausgegeben werden:

Ausgabe Gast-Titel. Label Platzhalter kann in der Komponenete gesetzt werden.

<div class="label">{{ labels.titel }}</div>
<div class="zusammenfassung titel">{{ data.titel }}</div>

Ausgabe Anzahl der gewählten Nächte. Label Platzhalter kann in der Komponenete gesetzt werden.

<div class="label">{{ labels.naechte }}</div>
<div class="zusammenfassung naechte">{{ data.naechte }}</div>

Ausgabe Objektpreis. Label Platzhalter kann in der Komponenete gesetzt werden.

<div class="label">{{ summen.objektpreis }}</div>
<div class="zusammenfassung objektpreis">{{ data.objektpreis }}</div>

Upgrade 3.4.38

Folgende Partialanpassungen sind für dieses Update notwendig

Komponente Objekt OpenStreetMap (ObjektMap) default.htm: Kompletten Code ersetzen durch:

&lt;div id=&quot;fewo-liste&quot; class=&quot;col-lg-12 float-left&quot;&gt;
    &lt;div id=&quot;fewo-listmap&quot;&gt;
        {% if keineObjekte %}
            &lt;div&gt;&lt;p&gt;{{ keineTrefferLabel }}&lt;/p&gt;&lt;/div&gt;
        {% else %}
            &lt;div id=&quot;map&quot; class=&quot;fewo-listmap&quot; style=&quot;height:600px;&quot;&gt;&lt;/div&gt;
            &lt;script&gt;
                jQuery(document).ready(function() {
                    let tiles = L.tileLayer('{{maptype}}', {
                        maxZoom: 18,
                        scrollWheelZoom: false,
                        attribution: '&copy; &lt;a href=&quot;https://www.openstreetmap.org/copyright&quot;&gt;OpenStreetMap&lt;/a&gt;, Service &lt;a href=&quot;https://www.fewo-verwalter.de&quot; target=_blank&quot;&gt;Fewo-Verwalter&lt;/a&gt;'
                    });
                    let latlng = L.latLng({{mapcenterlat}}, {{mapcenterlng}})
                    let map = L.map('map', {
                        center: latlng,
                        zoom: 14,
                        layers: [tiles],
                        {% if fullscreen %}
                            fullscreenControl: true,
                            fullscreenControlOptions: {
                                title: &quot;Vollbildansicht&quot;,
                                titleCancel: &quot;Normalansicht&quot;
                            },
                        {% endif %}
                    });
                    let markers = L.markerClusterGroup({ chunkedLoading: true });
                    let markerList = [];
                    {% for marker in maps %}
                        var title = '&lt;div class=&quot;map_marker&quot;&gt;&lt;img src=&quot;{{ marker.image|raw }}&quot;&gt;&lt;div class=&quot;title&quot;&gt;{{ marker.titel }}&lt;/div&gt;&lt;div class=&quot;title&quot;&gt;{{ marker.strasse|raw }}&lt;/div&gt;&lt;div class=&quot;title&quot;&gt;{{ marker.plz }} {{ marker.ort|raw }}&lt;/div&gt;&lt;div class=&quot;btn btn-success btn-sm fewo-btndetail&quot;&gt;&lt;a href=&quot;{{ marker.href }}&quot;&gt;{{ btnDetail|raw }}&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;';
                        var marker = L.marker(L.latLng({{ marker.lat}}, {{marker.long}}), { title: '{{ marker.titel }}' });
                        marker.bindPopup(title).on('click', clickZoom);
                        markerList.push(marker);
                    {% endfor %}
                    markers.addLayers(markerList);
                    map.addLayer(markers);
                    try {
                        var bounds = markers.getBounds();
                        if (bounds) {
                            map.fitBounds(bounds);
                        }
                    } catch(err) {
                        // pass
                    }
                    map.on('mouseout',function() {
                        map.scrollWheelZoom.disable();
                    });
                    function clickZoom(e) {
                        map.setView(e.target.getLatLng());
                    }
                });
            &lt;/script&gt;
        {% endif %}
    &lt;/div&gt;
&lt;/div&gt;

WICHTIG: Gegebenenfalls muss bereits individuell angepasster Code in den obenstehenden Code erneut integriert werden.


Upgrade 3.4.36

Folgende Partialanpassungen sind für dieses Update notwendig

Angebote default.htm: Code {{ listitemcss }} hinter der Klasse fewo-item einfügen:

<div class="fewo-item {{ listitemcss }}">

Upgrade 3.4.32

Folgende Partialanpassungen sind für dieses Update notwendig

Listenfilter default.htm: Im Script innerhalb der Funktion $(document).ready(function() {}); unten folgenden Code einfügen:

picker.bind('datepicker-clear', function() {
    $.request('onDeleteDate');
});

Upgrade 3.4.20

Optionale Anpassung: Nur notwendig, wenn Ausgabe des Youtube-Links auf der Listenseite erwünscht ist

Objektliste default.htm: Folgende Codezeile innerhalb des &lt;article&gt;-Elemets an der gewünschten Stelle einfügen:

{% if objekt.YoutubeLink %}<div class="fewo-youtubeLink">{{ objekt.YoutubeLink|raw }}</div>{% endif %}

Upgrade 3.4.18

WICHTIG!
Bitte wenden Sie sich VOR der Aktivierung von Sync Feondi an unseren Support, damit er diesen Kanal für Sie aktivieren kann!
Danach aktivieren Sie die Funktion Sync Feondi im Backend unter Einstellungen > FEWO Einstellungen.
Damit die Funktion Sync Feondi benutzt werden kann, ist ein erneutes Daten senden vom Fewo-Verwalter an Feondi notwendig.
Gehen Sie dazu im Fewo-Verwalter auf Programm > Internetschnittstellen > Fewo-Verwalter Proxy (Feondi) > alle Daten senden. Warten Sie, bis die Übertragung abgeschlossen ist.


Upgrade 3.4.13

WICHTIG! Bitte lösen Sie nach dem Update "alle Belegungen senden" im Fewo-Verwalter aus.

Folgende Partialanpassungen sind für dieses Update notwendig

Buchungsmaske mitreisende-variant2.htm und mitreisende.htm: Im Script {{ mitreisender.mitgeb2 }} ändern zu:

{{ mitreisender.mitgeb }}

Upgrade 3.4.8

Folgende Partialanpassungen sind für dieses Update notwendig

Buchungsmaske default.htm und variant2.htm: Folgenden Code im Script-Teil unterhalb von var customArrowNext = ' '; einfügen und
Preisrechner default.htm: Folgenden Code im Script-Teil unterhalb von var customArrowNext = ' '; einfügen.

var wechselleiste = '{{ wechselleiste }}';
var wechselleisteStart = {{ wechselleisteStart }};

HINWEIS: Nach Durchführung des Updates und der Anpassungen muss gegebenenfalls der Browser-Cache geleert werden.


Upgrade 3.4.0

Folgende Partialanpassungen sind für dieses Update notwendig

Im Falle der Verwendung einer Karte auf der Listenseite, muss das komplette default.htm Partial der Listenseite überarbeitet werden. Schauen Sie dazu in das default.htm Partial der Komponente.

Notwendige Anpassungen in der Übersicht

  • Um das div mit der ID fewo-listmap eine if else Anweisung schreiben {% if mapOption == true %}
  • In den else-Teil das script für GoogleMaps einfügen
  • Im article-Tag muss folgender Code eingefügt werden: {% if showmap == true %}onclick=&quot;onListSelected({{ objekt.id }})&quot;{% endif %}&gt;
  • Das div nach &lt;article&gt; muss mit der Klasse class=&quot;mapObjekt&quot; erweitert werden
  • Um das div mit der Klasse fewo-map eine if else Anweisung schreiben {% if mapOption == true %}
  • In den else-Teil den das Script für GoogleMaps einfügen

Bild aus Stammdaten default.htm: Das letzte und das drittletzte &lt;img&gt;-Tag ersetzen durch folgenden Code:

<img src="{{ image|raw }}" alt="{{ image.title }}" title="{{ image.title }}">

Upgrade 3.3.8

Folgende Partialanpassungen sind für dieses Update notwendig

Objekliste default.htm: img-Tag im div-Container mit der Klasse fewo_image durch folgenden Code ersetzen:

<img src="{{ objekt.image|raw }}" alt="{{ objekt.image.title }}" title="{{ objekt.image.title }}"/>

Maps default.htm: Folgende Code-Zeilen unterhalb von var color = '{{ color }}'; einfügen:

var isInTab = false;
var selectedTab = '';

Upgrade 3.3.6

Folgende Partialanpassungen sind für dieses Update notwendig

Buchungsmaske default.htm: Folgenden Code unter die Zeile var dateplaceholder = '{{ dateplaceholder }}'; einfügen und
Preisrechner default.htm: Folgenden Code unter die Zeile var zeitraum = '{{ ppzeitraum }}'; einfügen:

var calClick = {{ calClick }};

Upgrade 3.3.4

Folgende Partialanpassungen sind für dieses Update notwendig

Preisrechner default.htm: Folgenden Code über die Zeile // Datepicker settings einfügen:

var anreise = '{{ ppanreise }}';
var abreise = '{{ ppabreise }}';
var zeitraum = '{{ ppzeitraum }}';

Upgrade 3.3.2

Anpassungen Eigentümerlogin

Folgende Anpassungen sind nur notwendig, wenn Sie bereits einen Eigentümerlogin besitzen!

  • Melden Sie sich in Ihrem Hosting an
  • Wechseln Sie in das Hauptverzeichnis Ihrer OctoberCMS-Installation
  • Navigieren Sie in das Verzeichnis /plugins/xsigns
  • Erstellen Sie eine Lokale Kopie des Ordners owner auf Ihren Rechner
  • Löschen Sie nun den Ordner owner in Ihrem Hosting

Folgende Partialanpassungen sind für dieses Update notwendig

SchemaOrg default.htm aggregateRating-Block ersetzen durch:

{% if ratingcount > 0 %}
  "aggregateRating": {
    "@type": "AggregateRating",
    "bestRating": 5,
    "ratingValue": "{{ ratingvalue }}",
    "reviewCount": "{{ ratingcount }}",
    "worstRating": 1
  },
{% endif %}

Buchungsmaske default.htm und Preisrechner default.htm: Folgenden Code unter var todayInvalid = {{ todayno }}; einfügen

var customArrowPrev = ' ';
var customArrowNext = ' ';

Upgrade 3.3.1

Folgende Partialanpassungen sind für dieses Update notwendig

Preisrechner default.htm: Kompletten script-Part ersetzen

<script type="text/javascript">
    {% if script1 %}
        var script1 = true;
    {% else %}
        var script1 = false;
    {% endif %}

    var datecompact = {{ datecompact }};

    {% if felder.tagein %}
        var tagein = true;
    {% else %}
        var tagein = false;
    {% endif %}

    // Datepicker settings
    var separator = ' bis ';
    var selectForward = true;
    var autoClose = true;
    var showArrow = {% if datecompact == 1 %} false {% else %} true {% endif %};
    var format = 'DD.MM.YYYY';
    var startOfWeek = 'monday';
    var startDate = '{{ mindate|raw}}';
    var