Kalendereintrag über PHP und COM erzeugen

  • Hallo,


    nachdem ich die Notes-Designer-Hilfe nun beinahe auswendig kann und auch so ziemlich jede Ecke im WWW besucht habe (leicht übertrieben) seid ihr meine letzte Hoffnung:


    Mittels PHP und der COM-Schnittstelle bin ich in der Lage, Notes-DBs anzusprechen, Views auszulesen und auch neue Datensätze zu erzeugen.


    Nun möchte ich einen im Intranet realisierten Abwesenheitsplaner (wird intern meist Urlaubsplaner genannt) derart erweitern, dass er nicht nur die genehmigten Urlaubsanträge nach SAP bucht, sondern auch im jeweiligen persönlichen Kalender und gegebenfalls im Gruppenkalender speichert.


    Aufgabe ist es also ganztägige Events zu erzeugen, die auch über mehrere Tage gehen können. (Urlaub erstreckt sich ja in der Regel über mehrere Tage)


    Das Erzeugen eines Kalendereintrags für nur einen einzigen Tag funktioniert bereits tadellos. Leider nicht, wenn es mehrere Tage werden sollen.


    Das Problem liegt in dem Feld CalendarDateTime, der bei mehrtägigen Events eine Liste der Tage enthalten soll.
    Ich bekomme nur leider dieses Feld nicht korrekt geschrieben.


    In gefundenen VB-Script wird schlicht ein Array übergeben.
    Versuche ich dies in PHP, läuft das Script endlos (bis ich die Geduld verliere), der Notesclient auf dem Web-Server beendet sich selber, die DB ist anschließend korrupt, wird aber automatisch durch die Konsistenzprüfung korrigiert.
    Witzigerweise ist der Urlaub danach einwandfrei eingetragen.


    Ich hab zwar nicht verstanden, warum das VB-Script mal die Methode CreateDateTime und mal CDate verwendet, hab's aber mal VB-typisch eingeordnet und ignoriert.



    Ich hab den jetzigen Quellcode angehängt.


    Wie man dort sieht, bin ich bereits einige Möglichkeiten durchgegangen.



    Hat bitte bitte bitte jemand damit schon Erfahrungen gemacht, kann mir diesbezüglich einen Tipp geben oder weiß, wo ich vielleicht die Lösung finden könnte?





    Bevor jemand die Idee hat, mir ganz andere Lösungsansätze vorzuschlagen, die nichts mit php und com zu tun haben (DB-Agenten, XML/DXL, ...): %-(

    • Offizieller Beitrag

    hast Du es schon mit einem Evaluate(...) versucht?


    Mit dem Evaluate kannst Du die DateRang per
    @Explode(@TextToTime(@Text(Datum1) + "-" + @Text(Datum2)))
    berechnen.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein