[Tickets #691] NEW: FreeBusy view of shared calendars

bugs at bugs.horde.org bugs at bugs.horde.org
Wed Oct 13 14:14:14 PDT 2004


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=691
-----------------------------------------------------------------------
 Ticket     | 691
 Created By | ctnpublic-horde at yahoo.com
 Summary    | FreeBusy view of shared calendars
 Queue      | Kronolith
 Version    | HEAD
 State      | New
 Priority   | 2. Medium
 Type       | Enhancement
 Owners     | 
-----------------------------------------------------------------------


ctnpublic-horde at yahoo.com (2004-10-13 14:14) wrote:

Typically I would want my group's calendar to block out my free time as
well. This might be set by adding the calendar name to my fb URL, e.g.,
.../fb.php?c[]=ME&c[]MYGROUPCALENDAR.

Unfortunately group calendars are not indexed by name, but by a long ID. I
suggest mapping the names to IDs before doing the http retrieve. A suggested
for kronolith/lib/Kronolith.php follows.

cvs diff -u -r HEAD kronolith/lib/Kronolith.php
Index: kronolith/lib/Kronolith.php
===================================================================
RCS file: /repository/kronolith/lib/Kronolith.php,v
retrieving revision 1.235
diff -u -r1.235 Kronolith.php
--- kronolith/lib/Kronolith.php 4 Oct 2004 15:29:23 -0000       1.235
+++ kronolith/lib/Kronolith.php 13 Oct 2004 21:08:37 -0000
@@ -1122,6 +1122,16 @@
             return $url;
         }
         if (!empty($url)) {
+
+           // Map all known calendar names to their IDs
+           global $all_calendars;
+           $url = rawurldecode($url);
+           foreach ($all_calendars as $cal) {
+               $pattern = "/\=" . $cal->get('name') . "(&|$)/i";
+               $replacement = "=" . $cal->getName() . "$1";
+               $url = preg_replace($pattern, $replacement, $url);
+           }
+
             $data = @file_get_contents($url);
             if ($data) {
                 $vCal = &new Horde_iCalendar();





More information about the bugs mailing list