WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

Ankündigung

WBCE CMS 1.6.9 verfügbar / available - wichtiges Sicherheitsudate / important security update

#1 13.11.2023 18:38:27

morri2
Mitglied

Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Hallo Zusammen ,

ich versuche gerade mit  Bookings V2.44 einen Hüttenbelegungsplan zu erstellen

ich habe  3 Testbuchungen eingetragen

Ich bekomme im Frontend die Fehlermeldung:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '» ORDER BY `level` ASC, `position` ASC' at line 1

Kennt jemand das Problem?
WBCE V1.6.1
PHP  8.0.30
MySQL 5.7

Vielen Dank falls jemand was weiss  smile

Beitrag geändert von morri2 (13.11.2023 18:43:39)

Offline

#2 13.11.2023 19:02:40

florian
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Eigenartig, ein SQL-Query mit "level" kommt nirgends im Code des Moduls vor. 
Tritt der Fehler nur auf der Seite mit dem Bookings-Modul auf?
Steht etwas im Errorlog?

Online

#3 13.11.2023 19:03:44

bernd
Core-Team

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Irgendwie mag mir die Fehlermeldung nicht so recht zu "Bookings" passen.
Sind auf der Seite noch andere Abschnitte?

Edit:
Soweit ich das sehe, kommt das ORDER BY `level` ASC, `position` ASC nur einmal vor
in der include.php von show_menu2
Dann müßte der Fehler aber eigentlich auch auf anderen Seiten auftreten ...

Beitrag geändert von bernd (13.11.2023 19:06:36)


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#4 14.11.2023 11:30:14

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

florian schrieb:

Eigenartig, ein SQL-Query mit "level" kommt nirgends im Code des Moduls vor. 
Tritt der Fehler nur auf der Seite mit dem Bookings-Modul auf?
Steht etwas im Errorlog?

Hallo Florian,

vielen Dank für Deine Hilfe ....
aber ich bin jetzt schon viel schlauer smile

Die Fehlermeldung triit nur auf wenn das Backend im Browser geöffnet ist und man sich zugleich das Frontend anschaut.

öffne ich den Link bei gschlossenem Frontend  .  sieht alles gut aus

Öffne ich ich das Backend mit z.B. Mozilla und das Frontend mit Chrome tritt das Problem ebenfalls nicht auf..
Mein Fehler war offensichtlich dass ich versucht habe mir das Aussehen durch Klick auf den "Ansicht (Frontend)"-Button anzschauen

Viele Grüße
und nochmals Danke!
Wolfgang

Offline

#5 14.11.2023 11:33:15

florian
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Ähm, schön, aber das sollte trotzdem nicht passieren - wie sind denn die Zugriffsrechte für die Seite bzw. das Bookings-Modul konfiguriert, und bist Du mit einem Administratory-Account angemeldet, oder mit einem Nutzy-Account mit eingeschränkten Zugriffsrechten?

Online

#6 14.11.2023 11:35:35

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

bernd schrieb:

Irgendwie mag mir die Fehlermeldung nicht so recht zu "Bookings" passen.
Sind auf der Seite noch andere Abschnitte?

Edit:
Soweit ich das sehe, kommt das ORDER BY `level` ASC, `position` ASC nur einmal vor
in der include.php von show_menu2
Dann müßte der Fehler aber eigentlich auch auf anderen Seiten auftreten ...

Hallo Bernd ,
auch Dir schon mal vielen Dank für Deine Mühe.

Offenbar macht es einen Unterschied ob man versucht die Bookingsseite Backend über den Button "Ansicht (frontend) " anzuschauen oder in einer separaten Browserumgebung.

Ob das so in Ornung ist weiss iich natürlich nicht...
Aber zumindest gibt es einen Workarround

Viele Grüße
Wolfgang

Offline

#7 14.11.2023 11:39:41

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

florian schrieb:

Ähm, schön, aber das sollte trotzdem nicht passieren - wie sind denn die Zugriffsrechte für die Seite bzw. das Bookings-Modul konfiguriert, und bist Du mit einem Administratory-Account angemeldet, oder mit einem Nutzy-Account mit eingeschränkten Zugriffsrechten?

Hallo Florian,

soweit ich das sehen kann, bin ich am Backend mit einem Admin-Account angemeldet..
ich werde aber mal versuch mich las editor anzumelden..

Das habe ich soeben probiert... auch hier kommt die Fehlermeldung

Viele Grüße
Wolfgang

Offline

#8 14.11.2023 11:41:06

florian
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Welches Template verwendest Du? Tritt der Fehler auch auf, wenn Du auf ein (unverändertes) Standardtemplate umstellst, z.B. WBCEZon oder WBCETik?

Online

#9 14.11.2023 11:58:22

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

florian schrieb:

Welches Template verwendest Du? Tritt der Fehler auch auf, wenn Du auf ein (unverändertes) Standardtemplate umstellst, z.B. WBCEZon oder WBCETik?

Hallo Florian,

Bei dieser Seite steht bei Template "Standardeinstellung", ich vermute dass das bei mir das template "alpinerskiclub1" ist, das von unserer Webdesignerin vor Jahren erstellt wurde .
Ändere ich das Template dieser Seite auf z.B. WBCE Hortal  tritt die Fehlermeldung nicht auf

Wolfgang

Offline

#10 14.11.2023 12:09:09

florian
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Alles sehr seltsam. Vielleicht wäre es sinnvoll, wenn ich mir das mal direkt selbst anschaue. Wenn Du willst, kannst Du mir Admin-Zugangsdaten per PM oder an support@wbce.org zukommen lassen.

Online

#11 14.11.2023 12:43:19

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

florian schrieb:

Alles sehr seltsam. Vielleicht wäre es sinnvoll, wenn ich mir das mal direkt selbst anschaue. Wenn Du willst, kannst Du mir Admin-Zugangsdaten per PM oder an support@wbce.org zukommen lassen.

Hallo Florian,
werde ich gleich so machen, habe nur noc ein Backup gezogen
Wolfgang

Offline

#12 14.11.2023 13:59:06

webbird
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Strange. Sagt Bescheid, falls ich helfen kann. Wäre interessant, das komplette SQL-Statement zu sehen. Ich hatte doch mal an der DB-Klasse rumgeschraubt, damit die im Fehlerfall das komplette SQL ins Log schreibt... Ich weiß nur nicht, ob das in irgendeine Version eingeflossen ist.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#13 14.11.2023 14:02:26

florian
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Ich hatte zwischenzeitlich Zugriff auf die Seite. Das kommt tatsächlich aus dem Query von show_menu2/include.php, Zeile 280 - orginal mit dem » drin.
Mööööglicherweise spielt eine Rolle, dass auf der Website die Meldung "Die Integritätsprüfung ist fehlgeschlagen" angezeigt wird, da also Reste eines gewissen anderen CMS herumgeistern.

Online

#14 14.11.2023 14:08:58

webbird
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Im Repo ist Zeile 280 irgendwas anderes. Ist "Deine" Zeile 280 rum sowas hier?

[== PHP ==]
$sSql  = 'SELECT '.$fields.' FROM `{TP}pages` '
                . 'WHERE '.$wb->extra_where_sql.' '.$menuLimitSql.' '
                . 'ORDER BY `level` ASC, `position` ASC';

Wenn ja, vermute ich, dass $wb->extra_where_sql UND $menuLimitSql beide leer sind. Dann ist das Ergebnis nämlich ein SQL-Statement

SELECT ... FROM {TP}pages WHERE ORDER BY...

Und das ist dann in der Tat ein ungültiges Statement.

Beitrag geändert von webbird (14.11.2023 14:10:22)


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#15 14.11.2023 14:23:37

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

webbird schrieb:

Im Repo ist Zeile 280 irgendwas anderes. Ist "Deine" Zeile 280 rum sowas hier?

[== PHP ==]
$sSql  = 'SELECT '.$fields.' FROM `{TP}pages` '
                . 'WHERE '.$wb->extra_where_sql.' '.$menuLimitSql.' '
                . 'ORDER BY `level` ASC, `position` ASC';

Wenn ja, vermute ich, dass $wb->extra_where_sql UND $menuLimitSql beide leer sind. Dann ist das Ergebnis nämlich ein SQL-Statement

SELECT ... FROM {TP}pages WHERE ORDER BY...

Und das ist dann in der Tat ein ungültiges Statement.

bei mir steht ab Zeile 276   in show_menu2/include.php folgendes:

ab Zeile 276:

         // mark all elements that are siblings of any element on the current path
        foreach ($rgCurrParents as $x) {
            if (array_key_exists($x, $rgParent)) {
                foreach (array_keys($rgParent[$x]) as $y) {
                    $mark =& $rgParent[$x][$y];
                    $mark['sm2_path_sibling'] = true;
                    unset($mark);
                }
            }
        }

Beitrag geändert von morri2 (14.11.2023 14:24:31)

Offline

#16 14.11.2023 14:44:42

webbird
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Ich glaube das ist ein Zahlendreher und Florian meinte Zeile 208.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#17 14.11.2023 15:22:05

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

webbird schrieb:

Ich glaube das ist ein Zahlendreher und Florian meinte Zeile 208.

Ok...

Ab Zeile 200.. 208


        // we request all matching rows from the database for the menu that we
        // are about to create it is cheaper for us to get everything we need
        // from the database once and create the menu from memory then make
        // multiple calls to the database.
        $sSql  = 'SELECT '.$fields.' FROM `{TP}pages` '
                . 'WHERE '.$wb->extra_where_sql.' '.$menuLimitSql.' '
                . 'ORDER BY `level` ASC, `position` ASC';
        $sSql = str_replace('hidden', 'IGNOREME', $sSql); // we want the hidden pages
        $oRowset = $database->query($sSql);

& Spenden ? ich werde das mit unserem Schatzmeister besprechen smile

Offline

#18 14.11.2023 16:16:07

webbird
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Florian hat mir das SQL aus dem Log geschickt. Da steht

`menu`=»

Da "»" eine Zeichenkette ist, müßte sie mit Anführungszeichen umgeben sein, ist sie aber nicht. Und sie ist es nicht, weil da eigentlich eine Zahl hingehört. Vielleicht schaust Du mal im Template, wie der show_menu2() Aufruf aussieht, insbesondere ob der Wert an erster Stelle dort irgendwie "berechnet" wird oder ob da "hartcodiert" eine Zahl steht. Also

show_menu2(0,...)

vs

show_menu2($whatever,...)

Als "quick fix" kann man in der include.php von SM2 die Zeile 172 ändern:

Original:
$menuLimitSql = ' AND `menu`='.$aMenu;

Ändern in:
$menuLimitSql = ' AND `menu`='.intval($aMenu);

Bei einem ungültigen Wert - wie dem » - kommt bei intval() an der Stelle 0 raus, also das Menü mit der ID 0. Dann ist das SQL-Statement zumindest nicht mehr ungültig, wenn auch der eigentliche Auslöser des Problems dadurch nicht behoben ist.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#19 14.11.2023 16:23:09

webbird
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Noch eine "verdächtige" Stelle in der include.php:
https://github.com/WBCE/WBCE_CMS/blob/b … e.php#L109

Da wird $aMenu (der erste Parameter im show_menu2() Aufruf) durch $wb->page['menu'] ersetzt, sofern der Wert 0 ist. Warum da jetzt "»" drin stehen sollte, wenn die Seite via Backend aufgerufen wird, kann ich zwar nicht erklären, aber es könnte trotzdem von dort her kommen. Auch da könnte man fixen:

Statt
$aMenu = isset($wb->page['menu']) ? $wb->page['menu'] : 1;

->
$aMenu = (isset($wb->page['menu']) && is_int($wb->page['menu'])) ? $wb->page['menu'] : 1;


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#20 14.11.2023 16:25:53

webbird
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#21 14.11.2023 16:47:39

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Hallo webbird, Hallo Florian,

Ich hab das jetzt bei mir getestet und für gut befunden..

Ergebnis:
läuft jetzt mit und ohne Backend , die Fehlermeldung ist weg
Zudem erschein in der Backend-Ansicht nun die möglichkeit direkt die Termine zu editieren
perfekt
Ihr seid unschlagbar!!
Danke euch
Wolfgang

Offline

#22 14.11.2023 17:09:58

webbird
Administrator

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

Wobei mich ja trotzdem interessieren würde, wo dieses "»" her kommt... big_smile


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#23 14.11.2023 17:18:33

morri2
Mitglied

Re: Fehlermeldung im Frontend bei Belegungsplan mit Bookings V2.44

webbird schrieb:

Wobei mich ja trotzdem interessieren würde, wo dieses "»" her kommt... big_smile

Von mir jedenfalls nicht.. dazu bin ich hier viel zu unbedarft und Ahnungslos big_smile wink

Offline

Fußzeile des Forums

up