Speicherfresser / Zwischenlösung cal_limit
Hallo zusammen,
ich winke in die Runde, da dies mein erster Post im Forum ist. :p
Und dann auch vielen Dank für diese Erweiterung kmielke.
Ich habe zum Thema des Memory_Limits eine kleine Zwischenlösung anzubieten und dann auch ein Feature-Request.
Kurz beschrieben die Ausgangssituation.
1. Für einen Event habe ich erweiterte Wiederholung eingesetzt, hier "Jeder 3. Donnerstag im Monat" ohne Ausnahme sowie 0 als Wiederholungs-Limit.
2. Im Lister "musste" ich vorerst auf Anzeigenformat "Alle Events" umstellen, damit ein sich wiederholendes Event mit Startdatum in der Vergangenheit weiter wiederholt wird.
=> Dadurch läuft der Speicher voll bei einem angegebenen Memory_Limit (128MB), bei 2 Termineinträgen
Um eine Begrenzung zu schaffen wollte ich die Anzahl der Events beschränken. Jegliche Eingabe von 100, 10, 1 brachte keine Besserung.
Im Code der EventsExt.php habe ich dann bemerkt, dass die while-Schleife ($nextTime < $intEnd) schön brav weiter laufen möchte, bis intEnd erreicht ist. Im Falle von "Alle Events" (cal_all) bedeutet dass, bis zum 01.01.2038 (definiert im Klasse Events.php des Originalmoduls)
Lösung hierbei meinerseits, folgendes:
EventsExt.patch:
PHP-Code:
67,68d66
< $countStoreEvents = 0;
<
111d108
< $countStoreEvents++;
113,115d109
< if($countStoreEvents >= $this->cal_limit) {
< break;
< }
281d274
< $countStoreEvents++;
283,285d275
< if($countStoreEvents >= $this->cal_limit) {
< break;
< }
Also, einen Zähler für die addEvents einsetzen und bei Erreichen des cal_limit abbrechen, damit man den Memory_Limit umgehen kann.
Das dürfte der Verwendung des cal_limit bei der Pagination ModuleEventlistExt.php nicht im Wege stehen.
Da komme ich kurz zu einem Feature-Request.
Die Wiederholungen, eines Events mit vergangenem "Startdatum" müssten bei Wahl eines Anzeigenformats "Zukünftige Events" angezeigt werden.
Dies funktioniert zumindest bei Verwendung der "erweiterten Wiederholungen" nicht.
Vielleicht könnte man irgendwie beim Eintreten der Vergangenheit das startDate eines Events mit dem wiederholten nextDate abgleichen. Dann bleiben diese Events auch in de BE-Auflistung im aktuellen Focus.
Danke und Gruß
Wola
Liste der Anhänge anzeigen (Anzahl: 1)
[gelöst] Bug vergangene Events mit Wiederholung
Hallo wieder,
kurz als Nachtrag zum eben erwähnten Problem mit den vergangenen Events und erweiterter Wiederholung.
Lösung ist hier:
EventsExt.php (v 1.0.11)
PHP-Code:
// ALT > if (($objEvents->recurring && $objEvents->repeatEach) || ($objEvents->recurringExt && $objEvents->repeatEach))
if (($objEvents->recurring && $objEvents->repeatEach) || ($objEvents->recurringExt && $objEvents->repeatEachExt))
Gesamte EventsExt.php ist angehängt.
Gruß
Wola
Stundenplan: nur einen bestimmten Zeitraum anzeigen
Lieber Kester,
erst mal herzlichen Dank für diese sehr nützliche Erweiterung.
Ich würde gerne die Stundenplan-Ansicht für die Darstellung eines Konferenz-Programms nutzen. Dabei sollte dann nur ein bestimmter Zeitraum (z.B. 1.-5.9.), dargestellt werden.
Ist so etwas möglich? Ich habe es bisher nicht hinbekommen.
Herzlichen Dank für eine Antwort & viele Grüße,
Hella
Liste der Anhänge anzeigen (Anzahl: 1)
Event Wiederholen endet immer am heutigen Tag
Hallo,
auf einer Website habe ich diese Erweiterung installiert, da ich eine Wiederholung eines Events immer am letzten Dienstag im Monat benötige. Wenn ich die Einstellungen abspeichere, dann wird immer ein Enddatum eingetragen, welches auch dem heutigen Datum entspricht, ohne dass ich dies angegeben habe und damit werden die Wiederholungen nicht angezeigt. Löschen des Datums und erneutes Abspeichern bringt das gleiche Ergebnis. Einen Bildschirmausdruck meiner Einstellungen anbei.
Anhang 8564
Was mache ich falsch?
Grüße
Matthias
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Kester,
Zitat:
Zitat von
kmielke
Hallo Matthias,
kannst du mir mehr Info's geben? PHP Version, Welches Template benutzt du? Welche Versionen Contao und Erweiterung?
Wenn du bei den Wioederholungen 0 (= unendlich) angibst, wird das Enddatum auf das aktuelle Datum gesetzt.Das ist richtig so. Ein anderes macht ja keinen Sinn, da es ja nicht errechnet werden kann. Unendlich ist eben unendlich. ;)
Gruß
Kester
Die Website läuft bei Allinkl. Die erweiterten Infos von Allinkl wie folgt:
Anhang 8565
Die Contao Version ist im Moment 2.11.2 und wird demnächst auf 2.11.5 geupdated werden. An den Templates habe ich nicht rumgespielt, ausser der Navigation. An Erweiterungen habe ich folgendes zu bieten:
Anhang 8567
Den Kalender der Seite erreichst Du unter http://kirche-soemmerda.de/index.php/kalender.html zum ansehen. Dort soll wie gesagt jeden letzten Dienst ein entsprechender Eintrag zu sehen sein.
Ok. Ich dachte, dass dann gar kein Datum drin stehen dürfte, wenn ich unendlich eingegeben habe.
Grüße
Matthias
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
kmielke
Hallo Matthias,
Das sind die PHP Versionen, die All-Inkl. dir zur Verfügung stellt. Wichtig ist zu wissen, welche Version dein Contao tatsächlich benutzt.
Um sicher zu stellen, dass du die richtige Version benutzt, muss du folgende Zeit oben in die .htaccess Datei einfügen.
AddHandler php53-cgi .php
Bei den Templates wollte ich wissen, welches Template du in welchem Kalender-Modul verwendest.
Beim Aufruf der Seite bekomme ich einen Fehler.
Gruß
Kester
Hallo zurück,
hatte gerade das Update auf 2.11.5 eingespielt. Danach habe ich in die .htaccess erstellt und die Zeile wie von Dir geschrieben "drag and drop" eingefügt. Da bekomme ich dann folgende Fehlermeldung schon beim Login in das Backend
Anhang 8578
Ohne die .htaccess kann ich mich ganz normal einloggen.
Ich benutze für das Kalendermodul das Template cal_default.
Grüße
Matthias
Tabellenzeilen mit Uhrzeiten in der timetable
Hallo Kester,
danke für die Erweiterung. Gerade der Stundenplan ist für mich genau das, wonach ich gesucht habe. Allerdings hat sich mir bislang nicht erschlossen, wie ich die Zeiten in einer Zeile dargestellt bekomme. Die Termine (bei mir Kurse) werden zwar mit der jeweiligen Zeit am jeweiligen Tag angeordnet, doch wenn z.b. am Montag nur ein Kurs am Vormittag stattfindet, die restlichen Kurse jedoch eher am Nachmittag, wird das aus der Übersicht nicht auch grafisch ersichtlich. Wie bei einem Stundenplan würde ich gern für die jeweiligen Tage bestimmte Kurszeiten einrichten. Ist das über CSS möglich oder muss ich dazu in die Erweiterung selbst eingreifen (dann würde ich davon die Finger lassen und hoffen, dass das bei einer künftigen Version möglich wird)
Sollte ich jedoch nur ein Häckchen an einer wichtigen Stelle vergessen haben, wäre ich dankbar, für einen Hinweis. :o
Beste Grüße
Newbe
$GLOBALS['TL_CONFIG']['tl_calendar_events']['maxRepeatExecptions'] ohne Wirkung?
Hoi,
ich habe den Wert in der localconfig auf 730 verdoppelt. Allerdings scheint das ohne Wirkung zu sein.
Ein Beispiel: Das Event startet am 02.01.2013 wiederholt sich wöchentlich und endet am 25.12.2012. Der Dropdown für die Ausnahmen beinhaltet aber nur die Daten bis einschließlich 30.10.2013.
Woran kann das liegen?
2012 - 2013 Umschaltung KW52 KW1
Hi, leider weiß ich nicht ganz genau, ob das ein calender_extended Problem ist, aber wenn ich in der Stundenplan-Ansicht in KW52 bin und klicke dann auf KW 1 2013,
steht nach dem Klick oben in der Mitte KW1 2012 da und zurück gehen kann ich auf KW 52 2011.
Ich glaube das sollte so nicht sein.
Hat jemand eine Idee
VG
Simon
Neue Version für Contao 3
Hallo,
ich habe heute die neue Version der calendar_extended Erweiterung veröffentlicht. Diese ist für Contao 3 komplett überarbeitet worden. Neue Features gibt es bisher nicht. Das möchte ich aber noch ändern.
Viel Spaß
Gruß
Kester