Пример #1
0
 public static function getCalendarDetails($className, $classId)
 {
     $calendar = new Kalender();
     $ids = preg_split("/:/", $classId);
     $server = anyC::getFirst("xCal", "xCalID", $ids[0]);
     $xmlBuffer = xCalUtil::getSimpleXmlByXCal($server->A("xCalCache"));
     foreach ($xmlBuffer->vcalendar->vevent as $event) {
         if ((string) $event->uid != $ids[1]) {
             continue;
         }
         // Konvertierung der Zeitstempel
         $match = array();
         preg_match("/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2})Z\$/", (string) $event->dtstart, $match);
         $startTimestamp = gmmktime($match[4], $match[5], $match[6], $match[2], $match[3], $match[1]);
         $match = array();
         preg_match("/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2})Z\$/", (string) $event->dtend, $match);
         $endTimestamp = gmmktime($match[4], $match[5], $match[6], $match[2], $match[3], $match[1]);
         $calendarEvent = new KalenderEvent("mxCalGUI", $server->A("xCalID") . ":" . (string) $event->uid, $calendar->formatDay($startTimestamp), $calendar->formatTime($startTimestamp), (string) $event->summary);
         $description = preg_replace("/\n|\r/", "<br>", (string) $event->description);
         $calendarEvent->summary($description);
         return $calendarEvent;
     }
 }
Пример #2
0
 /**
  * Gibt die xCal-Repräsentation dieses Objektes zurück.
  * @return DOMElement
  */
 public function toXCal()
 {
     $xCalData = new xCalDataEvent();
     #$dateTime = new DateTime();
     $xCalData->setUid($this->UID);
     $xCalData->setSummary($this->title);
     // TODO: Wiederholende Termine über when holen --> Wiederholungen über xCal angeben
     // Parameter vermutlich Timestamp
     /*if (is_null($this->time)) {
     			$dtStart = $this->day;
     			// TODO: Testen ob Timestamp oder nicht
     			$xCalData->setDtStartValue(xCalDataEvent::DTVALUE_DATE);
     			$xCalData->setDtStart(gmdate("Ymd", $dtStart));
     		} else {*/
     $dtStart = Kalender::parseDay($this->day) + Kalender::parseTime($this->time) - 60;
     #echo date("dmY His", $dtStart).": ".$this->title."<br />";
     // TODO: Test des Formats
     // parseTime parseDay Kalender-Klasse
     $xCalData->setDtStartValue(xCalDataEvent::DTVALUE_DATETIME);
     $xCalData->setDtStart(gmdate("Ymd", $dtStart) . "T" . gmdate("His", $dtStart) . "Z");
     #}
     /*if (is_null($this->endTime)) {
     		$dtEnd = $this->endDay;
     		$xCalData->setDtEnd(gmdate("Ymd", $dtEnd));
     		$xCalData->setDtEndValue(xCalDataEvent::DTVALUE_DATE);*/
     #} else {
     $dtEnd = Kalender::parseDay($this->endDay) + Kalender::parseTime($this->endTime) - 60;
     $xCalData->setDtEnd(gmdate("Ymd", $dtEnd) . "T" . gmdate("His", $dtEnd) . "Z");
     $xCalData->setDtEndValue(xCalDataEvent::DTVALUE_DATETIME);
     #}
     #$dateTime->setTimestamp($dtStart);
     return xCalUtil::getXCalEventByXCalDataEvent($xCalData);
 }
Пример #3
0
    die("incorrect date format");
}
if (!preg_match("/^[0-9]*\$/i", $cutoffDateFuture)) {
    die("incorrect date format");
}
if (empty($cutoffDatePast)) {
    $cutoffDatePast = time() - 14 * 24 * 3600;
}
if (empty($cutoffDateFuture)) {
    $cutoffDateFuture = time() + 84 * 24 * 3600;
}
if (isset($_GET["auth_token"])) {
    if (file_exists($absolutePathToPhynx . "/ubiquitous/Sync/mSync.class.php")) {
        require_once $absolutePathToPhynx . "/ubiquitous/Sync/mSync.class.php";
    }
    $userToken = $_GET["auth_token"];
    if (!preg_match("/^[a-z0-9]+\$/i", $userToken)) {
        die("incorrect login information");
    }
    $user = mSync::getUserByToken($userToken);
    $E->login($user->A("username"), $user->A("SHApassword"));
} else {
    $E->login($_GET["username"], $_GET["password"]);
}
$calendar = mTodoGUI::getCalendarData($cutoffDatePast, $cutoffDateFuture);
$events = array();
foreach ($calendar->getEventsList() as $calendarEvent) {
    $events[] = $calendarEvent->toXCal();
}
echo xCalUtil::getXCal($events);
$E->cleanUp();