Abonennten-Import: Datums-Format?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • felix-oertel
    Contao-Nutzer
    • 17.09.2009
    • 12

    #1

    Abonennten-Import: Datums-Format?

    Guten Tag,

    vielen Dank für dieses schöne, einfache Newsletter-System!

    Ich würde gerne auch die Option nutzen, den Zeitpunkt der Abonennten-Anmeldung zu importieren.
    Nur leider werden die Daten beim Import nicht übernommen.
    Welches Format wird da erwartet?

    Ich habe es schon mit Unixtimestamp, und einigen anderen probiert - kein Erfolg.
    felix-oertel.de
  • felix-oertel
    Contao-Nutzer
    • 17.09.2009
    • 12

    #2
    Import

    Die Spalte Eintragungszeitpunkt wird gar nicht verarbeitet sondern in dca/tl_avisota_recipient_import.php immer mit time() belegt.

    Folgende Änderungen, Zeile 451-464 original:
    PHP-Code:
    $arrRecipient['tstamp']    = $time;
                
                if (!isset($arrExistingRecipients[$arrRecipient['email']]))
                {
                    $arrRecipient['pid']       = $this->Input->get('id');
                    $arrRecipient['addedOn']   = $time;
                    $arrRecipient['addedBy']   = $this->User->id;
                    $arrRecipient['confirmed'] = 1;
                    $this->Database->prepare("INSERT INTO tl_avisota_recipient %s")
                        ->set($arrRecipient)
                        ->execute();
    
                    ++$intTotal;
                } 
    

    Zu ändern in:
    PHP-Code:
    $arrRecipient['tstamp']    = $time;
                
                if(isset($arrRecipient['addedOn'])){
                    //echo strtotime($arrRecipient['addedOn']);
                    $addedOn = strtotime($arrRecipient['addedOn']);
                } else {
                    $addedOn = $time;
                }
                
                            
                if (!isset($arrExistingRecipients[$arrRecipient['email']]))
                {
                    $arrRecipient['pid']       = $this->Input->get('id');
                    $arrRecipient['addedOn']   = $addedOn;
                    $arrRecipient['addedBy']   = $this->User->id;
                    $arrRecipient['confirmed'] = 1;
                    $this->Database->prepare("INSERT INTO tl_avisota_recipient %s")
                        ->set($arrRecipient)
                        ->execute();
    
                    ++$intTotal;
                } 
    
    strtotime() erwartet recht beliebe Date-Time-Angaben.
    Am besten
    Code:
    2012-05-30 15:47:00
    .


    Export

    Ähnlich sieht es bei dca/tl_avisota_recipient_export.php aus. Mit dem Unix-Timestamp kann man in aller Regel wenig anfangen beim Export.

    Darum in Zeile 251 einfügen:
    PHP-Code:
    if($strField=='addedOn'){
                            $objRecipient->addedOn=(date("Y-m-d H:m:s",$objRecipient->addedOn));
                            //echo $objRecipient->addedOn.'<br>';
                    } 
    
    Damit wird im Export das oben genannte Format eingeführt.


    Sonnige Grüße!
    felix-oertel.de

    Kommentar

    • tril
      Contao-Urgestein
      • 07.01.2010
      • 2939

      #3
      Hallo Felix ich habe mir das hier vermerkt https://github.com/InfinitySoft/Avisota/issues/104 und werde das entsprechend einbauen.

      Kommentar

      • tril
        Contao-Urgestein
        • 07.01.2010
        • 2939

        #4
        Ist in der Version 1.6.2 gefixt.

        Kommentar

        Lädt...