contao/test — Issue #1051: Wochenanfang in Eventlist wird falsch berechnet
Author: computino
Created: 2011-11-28 17:55:52+00:00
State: open
Labels: calendar, Defect

Zeile 102 in ModuleEventlist.php ist falsch, ich habe aber noch nicht herausgefunden ob das erst mit dem Update auf 2.7.5 herauskam und vorher woanders abgefedert wurde, oder ob der Fehler schon länger besteht.

```
$strBegin = $this->Date->dayBegin - ((date('w', $this->Date->dayBegin) - $this->cal_startDay) * 86400);
```

* Beispiel heute, Sonntag 4.10.
* dayBeginn = heute
* date(w) = 0 (für Sonntag)
* $this->cal_startDay = 1 (Wochenstart = Montag im Modul eingestellt)
* Rechnung (date('w', $this->Date->dayBegin) - $this->cal_startDay) ergibt -1, --1 = +1

Dann fängt die Woche morgen an, nicht letzten Montag.

Lösung a) die Rechnung hier direkt reparieren auf

```
// Wochenlogik Sonderfall Start der Woche = Wochentag "morgen"
$dow = date('w', $this->Date->dayBegin);
$dow = ($dow+1 == $this->cal_startDay)?$dow+7:$dow;
$strBegin = $this->Date->dayBegin - (($dow - $this->cal_startDay) * 86400);
```

Lösung b) wäre noch schöner aber auch deutlich aufwendiger, weil man die Modulangabe des Wochenstarts irgendwie übergeben müsste: die Wochenberechnung in die Date-Klasse aufnehmen.

Ich teste mal gleich noch ob der Fehler auch in 2.7.3 oder früher auftritt.

--- _Originally created on October 4th, 2009, at 02:00pm (ID 1051)_