WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 01.07.2021 11:57:54

choppopo
Gast

[gelöst] Undefined constant "SM2_DEBUG"

Hallo!
Seit dem Ubdate auf 1.5.0 hab ich in einigen Errorlogs haufenweise diese Zeile:

[Exception] There was an unknown exception: Undefined constant "SM2_DEBUG" in line (38) of /modules/show_menu2/include.php

Ich behelfe mir, indem ich die Konstante in der config.php angebe: define('SM2_DEBUG', false);
Aber die eigentliche Ursache kann ich nicht feststellen.
PHP ist meist 8 soweit ich das sehe.

#2 01.07.2021 12:21:24

stefanek
Developer

Re: [gelöst] Undefined constant "SM2_DEBUG"

choppopo schrieb:
[Exception] There was an unknown exception: Undefined constant "SM2_DEBUG" in line (38) of /modules/show_menu2/include.php

Das sollte auf GitHub als Known-Bug hinzugefügt werden, damit es nicht in Vergessenheit gerät.


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#3 01.07.2021 12:26:16

florian
Administrator

Re: [gelöst] Undefined constant "SM2_DEBUG"

Da gab es schon eine Lösung, das ist wohl irgendwie untergegangen.
https://forum.wbce.org/viewtopic.php?pid=36320#p36320


Code allein macht nicht glücklich. Jetzt spenden!

Online

Liked by:

stefanek

#4 01.07.2021 12:28:01

stefanek
Developer

Re: [gelöst] Undefined constant "SM2_DEBUG"

:-) Sag ich doch.


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#5 01.07.2021 12:52:46

choppopo
Gast

Re: [gelöst] Undefined constant "SM2_DEBUG"

Eine "Ursache" des Fehlers = Warum er da auftritt und dort nicht:
Der falsche Parameter 4 im SM2 Aufruf, also "" statt zb SM2_TRIM

Kommt bei älteren Templates noch öfter vor, weil ja lustig von einem Template zum nächsten kopiert worden ist.
"Ursache" in Anführungszeichen, weil die wahre Ursache natürlich ist, dass eine Konstante/Variable verwendet wird, ohne dass sie definiert ist. Passiert und fällt wegen anderen Fehlern dann eben auf.

Beitrag geändert von choppopo (01.07.2021 12:53:55)

#6 02.07.2021 17:14:55

colinax
Developer

Re: [gelöst] Undefined constant "SM2_DEBUG"

florian schrieb:

Da gab es schon eine Lösung, das ist wohl irgendwie untergegangen.
https://forum.wbce.org/viewtopic.php?pid=36320#p36320

Die Lösung bezog sich nur auf die eine Zeile aber nicht auf die komplette function:

function sm2_error_logs($error_str)
{
    $log_error = (SM2_DEBUG and SM2_DEBUG === true) ? true : false;
    if (!function_exists('error_log')) {
        $log_error = false;
    }

    $log_file = @ini_get('error_log');
    if (!empty($log_file) && ('syslog' != $log_file) && !@is_writable($log_file)) {
        $log_error = false;
    }

    if ($log_error) {
        @error_log($error_str, 0);
    }
}

Die function ist per se immer true außer man sagt dass diese false ist bzw. einer der oberen Fälle eintritt.

wenn ich dann bei 1/3 sage dass $log_error per se false ist, funktioniert der Rest nicht mehr.

Lösung Variante 1:
Laut der Fehlermeldung sollte ein:

SM2_DEBUG  ='';

vor der function reichen

Lösung Variante 2:

Man ersetzt SM2_DEBUG durch WB_DEBUG dann wird aber nichts mehr geloggt außer man aktiviert explizit WB_DEBUG

Lösung Variante 3:

Aufgrund der @ schreibt man das Ganze neu (mit oder ohne Lösung Variante 2)

Beitrag geändert von colinax (03.07.2021 12:42:42)

Offline

#7 04.07.2021 20:46:16

stefanek
Developer

Re: [gelöst] Undefined constant "SM2_DEBUG"

Könntet ihr einmal testen, wenn die eine Zeile ersetzt wird:

$log_error = (defined('SM2_DEBUG') && SM2_DEBUG == true) ? true : false;

Die Exception sollte dann nicht mehr auftauchen.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#8 22.07.2021 19:39:49

colinax
Developer

Re: [gelöst] Undefined constant "SM2_DEBUG"

Nachdem der Fix aus #7 hier erfolgreich angewendet werden konnte.

Hab ich den Fix auf GitHub hochgeladen und den Thread als gelöst markiert.

Offline

Liked by:

florian

Fußzeile des Forums

up