Ergebnis 1 bis 2 von 2

Thema: Datenbankzugriff im Contao 3.x Scheduler klappt nicht

  1. #1
    Contao-Nutzer Avatar von Timon
    Registriert seit
    18.12.2010.
    Ort
    Fellbach bei Stuttgart
    Beiträge
    54

    Standard Datenbankzugriff im Contao 3.x Scheduler klappt nicht

    Hallo Community,

    ich versuche gerade ein Script zu erstellen das über den Contao3 (Version 3.1.1) Scheduler terminiert wird.
    Das Script soll Inhalte aus der News Tabelle per E-Mail verschicken.

    Soweit funktioniert das auch alles, bis auf den Datenbankzugriff innerhalb des Scripts.
    Irgendwie bekomme ich das mit dem Datenbank-Objekt nicht hin. Das durchlaufen der Treffer liefert nicht das erhoffte Ergebnis und der Task wird nicht korrekt beendet.

    Die Suche gibt außer dem Hinweis auf die PurgeLog leider nicht viel her.
    Ich habe mich jedoch bereits an der Datei PurgeLog orientiert und diese als Vorlage genommen.

    Hier mein Script:
    PHP-Code:
    /**
     * Initialize the system
     */
    define('TL_MODE''BE');
    require_once(
    '../../../initialize.php');

    class 
    SendMessagesIntranet extends Backend
    {

        
    /**
         * Initialize the controller
         */
        
    public function __construct()
        {
            
    parent::__construct();
            
    $this->import'Database' );
        } 
    // __construct
        
        /**
         * Implement the commands to run by this batch program
         */
        
    public function run()
        {
            global  
    $cronJob// from CronController
     
      
            //At this time the job should be defered,
            //no new actions should be started after this time.
            
    if (time() >= $cronJob['endtime'])
            {
                
    $cronJob['completed'] = false;
                return;
            }
            
            
    // Datenbank auslesen
            
    $intranetNews $this->Database->prepare("SELECT id, teaser FROM tl_news
                WHERE pid=4 AND UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 7 day)) <= time AND published = 1
                ORDER BY time DESC"
    )
            ->
    execute();


            unset(
    $mailtext);
            
    $mailtext "Alle News dieser Woche:\n\n";
            
    $mailtext .= "----------------------------------------------------------------------------------------------------------------------------\n";

            while (
    $intranetNews->next())
            {

                
    // HTML Konvertieren
                
    $strTeaser strip_tags($intranetNews->teaser);
                
    $strTeaser $this->String->decodeEntities($strTeaser);
                
    $strTeaser str_replace(array('[&]''[lt]''[gt]'), array('&''<''>'), $strTeaser);
            
                
    $mailtext .= wordwrap($strTeaser80)."\n\n";
            }

            
    $mailtext .= "----------------------------------------------------------------------------------------------------------------------------\n";
            
            
    /*--------------E-mail -------------- */
            // Notification
            
    $objEmail = new Email();

            
    $objEmail->from 'info@meinedomain.de';
            
    $objEmail->fromName 'Meine Domain';
            
    $objEmail->subject 'News dieser Woche';

            
    // Die E-Mail an verschicken
            
    $objEmail->sendTo('mail@empfaengerdomain.de');

        } 
    // run
        

    /**
     * Instantiate
     */
    $SendMessagesIntranet = new SendMessagesIntranet();
    $SendMessagesIntranet->run(); 
    Woran könnte das liegen und wie kann ich das hinbekommen?

    Vielen Dank
    Timon

  2. #2
    Contao-Nutzer Avatar von Timon
    Registriert seit
    18.12.2010.
    Ort
    Fellbach bei Stuttgart
    Beiträge
    54

    Standard Problem gelöst

    Das Problem war der fehlende Import der "String" Funktionen.
    Aus diesem Grund wurde der Task nicht ausgeführt.

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
  •