Ergebnis 1 bis 4 von 4

Thema: Ausnahmen im iCal Kalender

  1. #1
    Contao-Nutzer
    Registriert seit
    22.12.2009.
    Beiträge
    17

    Standard Ausnahmen im iCal Kalender

    Hallo Helmut,
    ich benutze die Erweiterung event_recurrences in Zusammenhang mit dem Contao Kalender. Weiss nicht, ob Du diese Erweiterung schon einmal angesehen hast.

    Da ich sehr gerne weiterhin meine ics Datei anbieten wuerde, musste ich folgende Zeilen in dein Script einfuegen: (ab Zeile 220)
    PHP-Code:
    if ($objEvents->repeatExecptions)
    {    
        
    $arrSkipDates deserialize($objEvents->repeatExecptions);
        foreach(
    $arrSkipDates as $skipDate)
        {
            
    $arrDate explode('.',$skipDate);
            
    $exdate = array(array($arrDate[2],$arrDate[1],$arrDate[0]));
            
    $vevent->setProperty'exdate'$exdate, array( 'VALUE' => 'DATE' ));
        }

    Wie koennten wir sowas updatesicher einbauen? Waere ein Hook an dieser Stelle eine Moeglichkeit? Oder eine Abhaengigkeit schaffen zum dem anderen Modul?

    Mfg Samuel

  2. #2
    Contao-Fan Avatar von hschottm
    Registriert seit
    15.06.2009.
    Ort
    Loxstedt, Germany
    Beiträge
    825
    User beschenken
    Wunschliste

    Standard

    Hi Samuel,

    Zitat Zitat von samheero Beitrag anzeigen
    Hallo Helmut,
    ich benutze die Erweiterung event_recurrences in Zusammenhang mit dem Contao Kalender. Weiss nicht, ob Du diese Erweiterung schon einmal angesehen hast.

    Da ich sehr gerne weiterhin meine ics Datei anbieten wuerde, musste ich folgende Zeilen in dein Script einfuegen: (ab Zeile 220)
    PHP-Code:
    if ($objEvents->repeatExecptions)
    {    
        
    $arrSkipDates deserialize($objEvents->repeatExecptions);
        foreach(
    $arrSkipDates as $skipDate)
        {
            
    $arrDate explode('.',$skipDate);
            
    $exdate = array(array($arrDate[2],$arrDate[1],$arrDate[0]));
            
    $vevent->setProperty'exdate'$exdate, array( 'VALUE' => 'DATE' ));
        }

    Wie koennten wir sowas updatesicher einbauen? Waere ein Hook an dieser Stelle eine Moeglichkeit? Oder eine Abhaengigkeit schaffen zum dem anderen Modul?

    Mfg Samuel
    repeatExecptions kommt dann von der Erweiterung? Es ist ja kein Problem, wenn man die Erweiterung einfach abfragt und dann den Code so wie er ist übernimmt.
    Ich schau mir das mal an und baue das dann einfach ein, oder spricht da was gegen?

    LG,
    Helmut
    Blackmail's such an ugly word. I prefer extortion -- the "x" makes it sound cool.
    -- Bender

  3. #3
    Contao-Nutzer
    Registriert seit
    22.12.2009.
    Beiträge
    17

    Standard

    Zitat Zitat von hschottm Beitrag anzeigen
    Hi Samuel,

    repeatExecptions kommt dann von der Erweiterung? Es ist ja kein Problem, wenn man die Erweiterung einfach abfragt und dann den Code so wie er ist übernimmt.
    Ich schau mir das mal an und baue das dann einfach ein, oder spricht da was gegen?

    LG,
    Helmut
    Hi Helmut,
    habe heute den Code nochmals etwas angepasst, da er mit dem VALUE=>Date etwas Schwierigkeiten gemacht hat. Dafuer wird jetzt die Startzeit mit uebergeben, was genauso funktioniert.

    Das einzige, was dagegen spricht, diesen Code einzubauen, ist die Inkompatibilitaet mit anderen Datumsformaten. Mein Datumsformat ist DD.MM.JJJJ, so gebe ich die Ausnahmen ein. Im selben Format werden die Daten in die Datenbank geschrieben von dem anderen Modul. Wenn jetzt aber jemand beispielsweise das englische Datumsformat nutzt, wird es nicht funktionieren, da keine Punkte vorkommen, ich aber das Datum nach den Punkten aufsplitte. Leider weiss ich nicht, wie ich sowas einheitlich fuer alle Datumsformate programmieren koennte. Vielleicht koennte man das noch optimieren?!

    PHP-Code:
    if ($objEvents->repeatExecptions)
    {    
        
    $arrSkipDates deserialize($objEvents->repeatExecptions);
        foreach(
    $arrSkipDates as $skipDate)
        {
            
    $arrDate explode('.',$skipDate);
            
    $exdate = array(array($arrDate[2],$arrDate[1],$arrDate[0],date('H',$objEvents->startTime),date('i',$objEvents->startTime),date('s',$objEvents->startTime)));
            
    $vevent->setProperty'exdate'$exdate);
        }

    Lg Samuel

  4. #4
    Contao-Fan Avatar von hschottm
    Registriert seit
    15.06.2009.
    Ort
    Loxstedt, Germany
    Beiträge
    825
    User beschenken
    Wunschliste

    Standard

    Also, die Dateien sind nicht kaputt. Problem ist hier die freie Erweiterung iCalCreator, die ich verwende und die zieht ordentlich Speicher. Leider hab ich nicht rausfinden können, wo man da evtl. am Speicher sparen kann, da das doch eine recht komplexe Angelegenheit ist.

    Ich teste da noch ein bisschen herum und kann hoffentlich ein paar Änderungen vornehmen, die den Speicherverbrauch etwas senken.

    Ansonsten bleibt nur die Erhöhung von memory_limit, was natürlich bei vielen Providern gar nicht geht.

    LG,
    Helmut

    Zitat Zitat von fso Beitrag anzeigen
    einstweilen vielen Dank. Da muss ich mal schauen. Gibts vll. ein Tool um .ics Dateien zu reparieren / Testen? -- weil mit Thunderbird / Lightning geht das alles ganz problemlos hmmm
    Blackmail's such an ugly word. I prefer extortion -- the "x" makes it sound cool.
    -- Bender

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •