Zum Inhalt springen

Calendar Base (cal): Problem mit der weekview &dayview

Erstellt am 26. Juli 2010 · 1 Antwort · letzte Antwort am 27. Juli 2010

Tags: Frage

sushie ·

Hallo

habe ähnliche probleme wie hier beschrieben:
#93588
welche ich teilweise beheben konnte.

mein system:
- typo3 4.3.1
- php 5.2.12
- cal 1.3.3 (mit default templates & config)

1.)
---------------
hatte das problem das in der FE-weekview alle events um einen tag verschoben angezeigt wurden (die vom montag am dienstag, die vom dienstag am mittwoch, usw.). habe die von dir angegebenen änderungen in der datei "cal/view/class.tx_cal_weekview.php" vorgenommen, nun gehts.

ca. Zeile 533:

$cal_time_obj->copy($d_start);

auskommentiert und mit

$cal_time_obj->copy($week_start_day);

ersetzt

nächste zeile

$cal_time_obj->toUTC();

auskommentiert

ca. Zeile 607:

$cal_time_obj->setDay($d_start->getDay());

auskommentiert und mit

$cal_time_obj->setDay($week_start_day->getDay());

ersetzt
---------------

2.)
---------------
habe ich nun noch folgende probleme in der FE-weekview NICHT beheben können:

- events welche vor 02:00 werden starten nicht angezeigt, ausserdem verschwinden felder, ähnlich wie in post 93588

- events welche über nacht laufen, also bspw. von 22:00 abends bis 04:00 am nächsten tag, werden nur am abend bis 24:00 angezeigt, dafür verschwinden wieder einige felder wie oben.
---------------

3.)
---------------
in der FE-dayview gibts auch probleme mit events welche über nacht laufen:

- zwar wird der event am morgen des folgetages angezeigt, allerding fehlerhaft "end-zeit" (scheinbar immer nur bis 01:00). auch hier verschwinden einige felder...
---------------

hat irgendwer ähnliche probleme und/oder kann mir hinweise zur behebung dieser geben?

*danke im voraus und grüsse

sushie ·

habe nach langem testen und suchen folgende änderungen an der datei "cal/view/class.tx_cal_weekview.php" gemacht, nun funktioneren bei mir:
- "späte events" (laufen bis 24:00)
- "frühe events" (starten vor 01:00)
- "über-nacht-events" (starten abends, laufen bis am anderen tag)

... habe noch nicht alle funktionen fertiggetestet, und die patches sind womöglich etwas gebastelt, aber ich bin da zuwenig cooder um bei den komplexen objekten voll durchzublicken... hauptsache es funktionert ,)

hier die änderungen, vieleicht hilfts jemandem:

ca. line 260

$endtime->addSeconds((($endtime->getMinute())%$gridLength)*60);

auskommentiert

ca. line 290

$j->addSeconds(86400);

auskommentiert

ca. line 295

$j->subtractSeconds($gridLength*60);

auskommentiert

ca. line 300

for($k = 0; $k < count($view_array[$startOfDay->format('%Y%m%d')]); $k++) {
	if (empty($view_array[$startOfDay->format('%Y%m%d')][$startOfDay->format('%H%M')][$k])) {
		break;
	}
}

auskommentiert

ca. line 305

$entries = 0;

ersetzt durch

$entries = 1;

ca. line 390

$eventStartDate=$eventStart->format('%Y%m%d');

eingefügt

ca. line 395

$t_array[$week_key][$timeKey][$pos_array[$week_key][$eventType.$eventUid.'_'.$startFormatted]] = array ('ended' => $week_key.'_'.$eventType.'_'.$eventUid.'_'.$startFormatted);

auskommentiert

ca. line 400

$t_array[$week_key][$timeKey][$pos_array[$week_key][$eventType.$eventUid.'_'.$startFormatted]] = array ('started' => $week_key.'_'.$eventType.'_'.$eventUid.'_'.$startFormatted);

ersetzt durch

$t_array[$week_key][$timeKey][$pos_array[$week_key][$eventType.$eventUid.'_'.$startFormatted]] = array ('started' => $eventStartDate.'_'.$eventType.'_'.$eventUid.'_'.$startFormatted);

ca. line 405

$t_array[$week_key][$timeKey][$j] = array ('begin' => $week_key.'_'.$eventType.'_'.$eventUid.'_'.$startFormatted);

ersetzt durch

$t_array[$week_key][$timeKey][$j] = array ('begin' => $eventStartDate.'_'.$eventType.'_'.$eventUid.'_'.$startFormatted);

ca. line 530

$cal_time_obj->copy($d_start);

ersetzt durch

$cal_time_obj->copy($week_start_day);

nächste zeile

$cal_time_obj->toUTC();

auskommentiert

ca. line 600

$cal_time_obj->setDay($d_start->getDay());

ersetzt durch

$cal_time_obj->setDay($week_start_day->getDay());

*cheers