API Fehler mail_user_update beim Datum für Autorespnder?

TraceBln

New Member
Hallo allerseits,

ich versuche gerade in der aktuellen ISPConfig Version 3.0.5.2 via API einen Autoresponder für einen Mail-Account zu aktivieren. Das ganze klappt auch bis auf einen Punkt. Das Start- und Enddatum wird in der Datenbank immer mit 0000-00-00 00:00:00 eingetragen, wenn man davor ein Datum in ISPConfig gesetzt hat, wird dieses gelöscht.

Hier das Script welches mehr oder weniger dem Example entspricht.

Code:
<?php
require('soap_config.php');

$client = new SoapClient(null, array('location' => $soap_location,
                                     'uri'      => $soap_uri,
                                                                         'trace' => 1,
                                                                         'exceptions' => 1));
try {
        if($session_id = $client->login($username,$password)) {
                echo 'Logged successfull. Session ID:'.$session_id.'<br />';
        }

        //* Parameters
        $mailuser_id = 1;
        $client_id = 1;

        //* Get the email user record
        $mail_user_record = $client->mail_user_get($session_id, $mailuser_id);

        //* Change the status to inactive
        $mail_user_record['autoresponder'] = 'y';
        $mail_user_record['autoresponder_start_date'] = "2013-08-05 05:00:00";
        $mail_user_record['autoresponder_end_date'] = "2013-09-08 21:15:00";
        $mail_user_record['password'] = '';
        $mail_user_record['autoresponder_text'] = "Text ".mktime();
        $mail_user_record['autoresponder_subject'] = "Betreff ".mktime();

        $affected_rows = $client->mail_user_update($session_id, $client_id, $mailuser_id, $mail_user_record);

        echo "Number of records that have been changed in the database: ".$affected_rows."<br>";

        if($client->logout($session_id)) {
                echo 'Logged out.<br />';
        }


} catch (SoapFault $e) {
        echo $client->__getLastResponse();
        die('SOAP Error: '.$e->getMessage());
}
?>
Die Daten werden korrekt ausgelesen (mit $client->mail_user_get($session_id, $mailuser_id);), auch meine Werte werden korrekt übernommen, aber im Anschluß steht in der Datenbank dann direkt wieder 0000-00-00 00:00:00 drin, sowohl beim Start- als auch beim Enddatum.

Das Script gibt folgendes aus:
Logged successfull. Session ID:a0b2e4edbbef709e04047f28af22a46b
Number of records that have been changed in the database: 0
Trotz der Angabe, daß keine Records eine Änderung erfahren hätten werden die Texte korrekt aktualisiert in der Datenbank.

Jemand eine Idee? Bin ich zu doof, oder handelt es sich hier einfach um einen bisher nicht entdeckten Bug?

Danke schonmal vorab.

Grüße


TraceBln
 

TraceBln

New Member
Hallo Till,

sorry für das späte Feedback, bin gerade erst zum testen gekommen. Super Hinweis und klappt. Etwas doof, daß man das date-Feld der Datenbank zurück bekommt und es dann als Array setzen muß, aber hauptsache es klappt! Danke!
 

Werbung

Top