Hallo zusammen,
Version 3.01:
Wenn man den Kalender öffnet, wird im Select-Feld der Kalender-Typ "Allgemein" als default ausgewählt angezeigt. Es werden aber Alle Kalendereinträge angezeigt. Mir pesänlich ist als default auch "Alle" lieber.
Besten Gruß
Oliver
Anzeige Kalender-Typ
Re: Anzeige Kalender-Typ
Also hier ist "Alle" als default. (http://demo.admidio.org/adm_program/mod ... /dates.php)
Re: Anzeige Kalender-Typ
Hmmmm... sehe ich. Ist nur bei mir so. Ist aber wirklich! Echt! Bin nich blöd, kann gucken!
Re: Anzeige Kalender-Typ
Hallo XimeX,
das hat mir jetzt keine Ruhe gelassen!
Also: aus der dates.php wird die Funktion "addSelectBoxForCategories" aus der Klasse "HtmlForm" aufgerufen mit dem Parameter defaultValue => $dates->getParameter('cat_id'), wobei dieser '0' ist.
In dieser Funktion (htmlform.php Zeile 1400) wird verglichen, ob die Option gesetzt ist:
if(... && $optionsAll['defaultValue'] == null)
Und auf meinem Server (IIS7 / PHP 5.6) wird die übergebene '0' als Null interpretiert und die Abfrage wird beim ersten Schleifendurchlauf true!!!!!
Erst, wenn ich den Vergleich auch noch auf den Datentyp einschränke (drittes Gleichheits-Zeichen), funktioniert's korrekt:
if(... && $optionsAll['defaultValue'] === null)
Ohne Übergabe habe ich aber noch nicht ausprobiert, ob der Vergleich nun true ergibt, wenn $optionsAll['defaultValue'] gar nicht gesetzt ist (Ist aber ja als Leerstring gesetzt beim setzen von $optionsDefault... )
Da müsste auf jeden Fall noch mal getestet werden.
Besten Gruß
Oliver
das hat mir jetzt keine Ruhe gelassen!
Also: aus der dates.php wird die Funktion "addSelectBoxForCategories" aus der Klasse "HtmlForm" aufgerufen mit dem Parameter defaultValue => $dates->getParameter('cat_id'), wobei dieser '0' ist.
In dieser Funktion (htmlform.php Zeile 1400) wird verglichen, ob die Option gesetzt ist:
if(... && $optionsAll['defaultValue'] == null)
Und auf meinem Server (IIS7 / PHP 5.6) wird die übergebene '0' als Null interpretiert und die Abfrage wird beim ersten Schleifendurchlauf true!!!!!
Erst, wenn ich den Vergleich auch noch auf den Datentyp einschränke (drittes Gleichheits-Zeichen), funktioniert's korrekt:
if(... && $optionsAll['defaultValue'] === null)
Ohne Übergabe habe ich aber noch nicht ausprobiert, ob der Vergleich nun true ergibt, wenn $optionsAll['defaultValue'] gar nicht gesetzt ist (Ist aber ja als Leerstring gesetzt beim setzen von $optionsDefault... )
Da müsste auf jeden Fall noch mal getestet werden.
Besten Gruß
Oliver
Re: Anzeige Kalender-Typ
Genau wegen solchen fällen stell ich für 3.1 nacheinander (fast) alle "==" auf "===" um.
https://github.com/Admidio/admidio/issu ... t-93847694
Werd mir das auch mal anschauen wenn ich zeit habe.
https://github.com/Admidio/admidio/issu ... t-93847694
Werd mir das auch mal anschauen wenn ich zeit habe.