Summary | FreeBusy view of shared calendars |
Queue | Kronolith |
Queue Version | HEAD |
Type | Enhancement |
State | Rejected |
Priority | 2. Medium |
Owners | |
Requester | ctnpublic-horde (at) yahoo (dot) com |
Created | 10/13/2004 (7608 days ago) |
Due | |
Updated | 10/14/2004 (7607 days ago) |
Assigned | |
Resolved | 10/14/2004 (7607 days ago) |
Milestone | |
Patch | No |
State ⇒ Rejected
generating your freebusy url.
State ⇒ New
Priority ⇒ 2. Medium
Type ⇒ Enhancement
Summary ⇒ FreeBusy view of shared calendars
Queue ⇒ Kronolith
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();