Ergebnis 1 bis 3 von 3

Thema: Exceptions

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

    Standard Exceptions

    Zitat Zitat von samheero Beitrag anzeigen
    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);
        }

    OK, hab nun doch noch die 2 Zeilen angepasst. Meines Erachtens steht nun nichts mehr im Wege die Zeilen einzubauen.
    PHP-Code:
    if ($objEvents->repeatExecptions)
    {    
        
    $arrSkipDates deserialize($objEvents->repeatExecptions);
        foreach(
    $arrSkipDates as $skipDate)
        {
            
    $exTStamp strtotime($skipDate);
            
    $exdate = array(array(date('Y',$exTStamp),date('m',$exTStamp),date('d',$exTStamp),date('H',$objEvents->startTime),date('i',$objEvents->startTime),date('s',$objEvents->startTime)));
            
    $vevent->setProperty'exdate'$exdate);
        }

    lg und sorry fuers spammen

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

    Standard

    Samuel,

    da ich gestern und heute einiges an den calendar_ical-Dateien geändert habe, müsstest du mir noch mal aktualisierte Zeilennummern geben und vor allem auch einen Dateinamen, ich glaube, du hast nämlich nicht geschrieben, in welcher Datei die Anpassungen gemacht werden müssen :-)

    Oder ich habs überlesen...

    LG,
    Helmut

    Zitat Zitat von samheero Beitrag anzeigen
    OK, hab nun doch noch die 2 Zeilen angepasst. Meines Erachtens steht nun nichts mehr im Wege die Zeilen einzubauen.
    PHP-Code:
    if ($objEvents->repeatExecptions)
    {    
        
    $arrSkipDates deserialize($objEvents->repeatExecptions);
        foreach(
    $arrSkipDates as $skipDate)
        {
            
    $exTStamp strtotime($skipDate);
            
    $exdate = array(array(date('Y',$exTStamp),date('m',$exTStamp),date('d',$exTStamp),date('H',$objEvents->startTime),date('i',$objEvents->startTime),date('s',$objEvents->startTime)));
            
    $vevent->setProperty'exdate'$exdate);
        }

    lg und sorry fuers spammen
    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

    Ein Hook waere edel, denn dann kann man jedes beliebige Feld mit in die Description aufnehmen. Das faende ich auch sehr spitze!

    Mir ist noch etwas aufgefallen. Hast Du Dir schonmal Gedanken gemacht, die Weiterleitungsziele aufzunehmen? Man kann ja auswaehlen ob auf eine Seite oder einen Artikel oder Standard oder ein externer Link aufgerufen werden soll, wenn das Event im Kalender auf der Seite angeklickt wird. Wenn jemand beispielsweise auf eine Seite verlinkt, weil eine Seite fuer ein regelmaessigen Event existiert, waere es sehr schoen, wenn in der Event Description der Link zu der Eventseite mit eingefuegt wuerde. Hab da mal folgenden Code dafuer geschrieben, aber noch nicht ausreichend getestet.

    CalenderExport.php (Zeile 189 ersetzen)
    PHP-Code:
    switch($objEvents->source)
    {
        case 
    'external':
            
    $this->import('String');
                    if (
    substr($objEvents->url07) == 'mailto:')
            {
                
    $vevent->setProperty'contact'$objEvents->url);
            }
            else
            {
                
    $vevent->setProperty'description'$objEvents->url);
            }
            break;
                        
            case 
    'internal':
            
    $objPage $this->Database->prepare("SELECT id, alias FROM tl_page WHERE id=?")->limit(1)->execute($objEvents->jumpTo);

                    if (
    $objPage->numRows)
            {
                
    $vevent->setProperty'description'$this->Environment->base.$this->generateFrontendUrl($objPage->row()));
            }
            break;
                            
            case 
    'article':
            
    $objPage $this->Database->prepare("SELECT a.id AS aId, a.alias AS aAlias, a.title, p.id, p.alias FROM tl_article a, tl_page p WHERE a.pid=p.id AND a.id=?")->limit(1)->execute($objEvents->articleId);

            if (
    $objPage->numRows)
            {
                
    $vevent->setProperty'description'$this->Environment->base.$this->generateFrontendUrl($objPage->row(), '/articles/' . ((!$GLOBALS['TL_CONFIG']['disableAlias'] && $objPage->aAlias != '') ? $objPage->aAlias $objPage->aId)));
            }
            break;
                            
            case 
    'default':
            
    $vevent->setProperty'description'html_entity_decode(strip_tags(preg_replace('/<br \\/>/'"\n"$objEvents->details)), ENT_QUOTES'UTF-8'));
            break;


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
  •