6.0.0-beta1
8/12/25

[#691] FreeBusy view of shared calendars
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

History
10/14/2004 01:35:33 AM Chuck Hagenbuch Comment #2
State ⇒ Rejected
Reply to this comment
The way to do this would be to provide a "wizard"-like tool for 
generating your freebusy url.
10/13/2004 09:14:14 PM ctnpublic-horde (at) yahoo (dot) com Comment #1
State ⇒ New
Priority ⇒ 2. Medium
Type ⇒ Enhancement
Summary ⇒ FreeBusy view of shared calendars
Queue ⇒ Kronolith
Reply to this comment
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();


Saved Queries