gunnar: server/horde/fbview-kronolith HK-SB-Fbview_extra_params.patch, NONE, 1.1 HK-SB-Fbview_save_attendees.patch, NONE, 1.1 fbview-kronolith.spec, 1.16, 1.17 prefs.php, 1.2, 1.3 fbview.patch, 1.1, NONE open_savedattlist_win.js, 1.1, NONE savedattlist.inc, 1.1, NONE savedattlist.php, 1.1, NONE

cvs at kolab.org cvs at kolab.org
Thu Nov 29 12:09:05 CET 2007


Author: gunnar

Update of /kolabrepository/server/horde/fbview-kronolith
In directory doto:/tmp/cvs-serv14573/horde/fbview-kronolith

Modified Files:
	fbview-kronolith.spec prefs.php 
Added Files:
	HK-SB-Fbview_extra_params.patch 
	HK-SB-Fbview_save_attendees.patch 
Removed Files:
	fbview.patch open_savedattlist_win.js savedattlist.inc 
	savedattlist.php 
Log Message:
Cleanup of the fbview patches. Both patches that make kronolith into fbview have now been added to the patch directory and are documented there.

--- NEW FILE: HK-SB-Fbview_extra_params.patch ---
This includes extra parameters into the free/busy view. The params are hardcoded so this patch won't make it upstream.

diff -r 735b35f9f866 kronolith/lib/FBView.php
--- a/kronolith/lib/FBView.php	Thu Nov 29 11:32:43 2007 +0100
+++ b/kronolith/lib/FBView.php	Thu Nov 29 11:35:20 2007 +0100
@@ -86,8 +86,8 @@ class Kronolith_FreeBusy_View {
             $template = new Horde_Template();
             $rows = '';
             foreach ($this->_requiredMembers as $member) {
-                $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"));
-                $template = new Horde_Template();
+                $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"), $member->getExtraParams());
+                $template = &new Horde_Template();
                 $template->set('blocks', $blocks);
                 $template->set('name', $member->getName());
                 $rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.tpl');
@@ -107,8 +107,8 @@ class Kronolith_FreeBusy_View {
             $template = new Horde_Template();
             $rows = '';
             foreach ($this->_optionalMembers as $member) {
-                $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"));
-                $template = new Horde_Template();
+                $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"), $member->getExtraParams());
+                $template = &new Horde_Template();
                 $template->set('blocks', $blocks);
                 $template->set('name', $member->getName());
                 $rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.tpl');
@@ -122,6 +122,9 @@ class Kronolith_FreeBusy_View {
             $template->set('legend', '');
             $html .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/section.tpl');
         }
+
+	//**********
+	//This has been disabled in kolab-fbview. Make this optional?
 
         // Possible meeting times.
         $optimal->setAttribute('ORGANIZER', _("All Attendees"));
@@ -144,6 +147,9 @@ class Kronolith_FreeBusy_View {
         $template->set('name', _("Required Attendees"));
         $template->set('blocks', $blocks);
         $rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.tpl');
+
+	//This has been disabled in kolab-fbview. Make this optional?
+	//**********
 
         // Reset locale.
         setlocale(LC_NUMERIC, $lc);
@@ -217,7 +223,7 @@ class Kronolith_FreeBusy_View {
         return $instances[$view];
     }
 
-    function _getBlocks($member, $periods, $blockfile, $label)
+    function _getBlocks($member, $periods, $blockfile, $label, $extra = array())
     {
         $template = new Horde_Template();
         $template->set('label', $label);
@@ -250,6 +256,21 @@ class Kronolith_FreeBusy_View {
 
                 $template->set('left', $left . '%');
                 $template->set('width', $width . '%');
+                $template->set('evclick', '');
+
+                if (isset($extra[$periodStart])) {
+                    if (!empty($extra[$periodStart]['X-UID'])) {
+                        $link = "javascript:performAction('viewaction', '" 
+			  . addslashes($member->getName() . "#" 
+				       . String::convertCharset(base64_decode($extra[$periodStart]['X-UID']), 
+								'UTF-8',NLS::getCharset())) . "')";
+                        $template->set('evclick', $link);
+                    }
+                    if (!empty($extra[$periodStart]['X-SUMMARY'])) {
+                        $template->set('label', String::convertCharset(base64_decode($extra[$periodStart]['X-SUMMARY']),'UTF-8',
+				       NLS::getCharset()));
+                    }
+                }
 
                 $blocks .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/' . $blockfile);
             } else {
diff -r 735b35f9f866 kronolith/templates/fbview/busyblock.tpl
--- a/kronolith/templates/fbview/busyblock.tpl	Thu Nov 29 11:32:43 2007 +0100
+++ b/kronolith/templates/fbview/busyblock.tpl	Thu Nov 29 11:35:20 2007 +0100
@@ -1,1 +1,1 @@
-<td><div class="busy" style="left:<tag:left />;width:<tag:width />;"> </div></td>
+<td><div class="busy" onclick="<tag:evclick />" style="cursor:pointer;left:<tag:left />;width:<tag:width />;" title="<tag:label />"> </div></td>

--- NEW FILE: HK-SB-Fbview_save_attendees.patch ---
Provides a patch to store the list of attendees in the user preferences. This is a broken patch that has been rejected upstream (http://bugs.horde.org/ticket/?id=4788). This should be solved using Horde::Groups.

diff -r 848f241f83e0 kronolith/attendees.php
--- a/kronolith/attendees.php	Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/attendees.php	Thu Nov 29 11:32:43 2007 +0100
@@ -155,6 +155,16 @@ case 'clear':
     $attendees = array();
     $_SESSION['kronolith']['attendees'] = $attendees;
     break;
+
+case 'save':
+    if (empty($attendees)) {
+        break;
+    }
+    $savedattlist = unserialize($prefs->getValue('saved_attendee_list'));
+    $savedattlist[] = array_keys($attendees);
+    $prefs->setValue('saved_attendee_list', serialize($savedattlist));
+    $notification->push(_('Successfully saved attendee list'), 'horde.success');
+    break;
 }
 
 // Get the current Free/Busy view; default to the 'day' view if none specified.
@@ -226,6 +236,14 @@ Imple::factory('ContactAutoCompleter', a
 
 $title = _("Edit attendees");
 require KRONOLITH_TEMPLATES . '/common-header.inc';
+
+if ($browser->hasFeature('javascript')) {
+    Horde::addScriptFile('open_savedattlist_win.js');
+    $savedattlist_url = 'javascript:open_savedattlist_win();';
+} else {
+    $savedattlist_url = Horde::applicationUrl('savedattlist.php');
+}
+
 $notification->notify(array('status'));
 require KRONOLITH_TEMPLATES . '/attendees/attendees.inc';
 require $registry->get('templates', 'horde') . '/common-footer.inc';
diff -r 848f241f83e0 kronolith/config/prefs.php.dist
--- a/kronolith/config/prefs.php.dist	Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/config/prefs.php.dist	Thu Nov 29 11:32:43 2007 +0100
@@ -465,3 +465,11 @@ if ($GLOBALS['registry']->hasMethod('con
     'shared' => false,
     'type' => 'implicit'
 );
+
+$_prefs['saved_attendee_list'] = array(
+    'value' => 'a:0:{}',
+    'locked' => false,
+    'shared' => false,
+    'type' => 'implicit',
+    'desc' => _("A saved list of attendees")
+);
diff -r 848f241f83e0 kronolith/savedattlist.php
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/savedattlist.php	Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,77 @@
+<?php
+/**
+ * $Horde: kronolith/attendeeshandler.php,v 1.1 2004/05/25 08:34:21 stuart Exp $
+ *
+ * Copyright 2004 Code Fusion  <http://www.codefusion.co.za/>
+ *                Stuart Binge <s.binge at codefusion.co.za>
+ *
+ * See the enclosed file COPYING for license information (GPL).  If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+ at define('KRONOLITH_BASE', dirname(__FILE__));
+require_once KRONOLITH_BASE . '/lib/base.php';
+require_once KRONOLITH_BASE . '/lib/FBView.php';
+
+$title = _('Load Attendee List');
+
+Horde::addScriptFile('tooltip.js', 'horde');
+require KRONOLITH_TEMPLATES . '/common-header.inc';
+
+// Get our list of saved attendees
+$savedattlist = unserialize($prefs->getValue('saved_attendee_list'));
+
+// Preformat our image urls
+$delimg = Horde::img('delete.png', _("Remove List"), null, $GLOBALS['registry']->getImageDir('horde'));
+$loadimg = Horde::img('tree/folder.png', _("Load List"), null, $GLOBALS['registry']->getImageDir('horde'));
+
+// Get our Action ID & Value. This specifies what action the user initiated.
+$actionID = Util::getFormData('actionID', false);
+$actionValue = Util::getFormData('actionValue', false);
+if (!$actionID) {
+    $actionID = (Util::getFormData('addNew', false) ? 'add' : false);
+    $actionValue = Util::getFormData('newAttendees', '');
+}
+
+// Perform the specified action, if there is one.
+switch ($actionID) {
+case 'remove':
+    // Remove the specified attendee
+    if (array_key_exists($actionValue, $savedattlist)) {
+        unset($savedattlist[$actionValue]);
+	$prefs->setValue('saved_attendee_list', serialize($savedattlist));
+    }
+    
+    break;
+
+case 'dismiss':
+    // Make sure we're actually allowed to dismiss
+    if (!$allow_dismiss) break;
+
+    // Close the attendee window
+    global $browser;
+
+    if ($browser->hasFeature('javascript')) {
+        Util::closeWindowJS();
+    } else {
+        $url = Util::getFormData('url');
+
+        if (!empty($url)) {
+            $location = Horde::applicationUrl($url, true);
+        } else {
+            $url = Util::addParameter($prefs->getValue('defaultview') . '.php', 'month', Util::getFormData('month'));
+            $url = Util::addParameter($url, 'year', Util::getFormData('year'));
+            $location = Horde::applicationUrl($url, true);
+        }
+
+        // Make sure URL is unique.
+        $location = Util::addParameter($location, 'unique', md5(microtime()));
+
+        header('Location: ' . $location);
+    }
+    break;
+}
+
+$form_handler = Horde::applicationUrl('savedattlist.php');
+require KRONOLITH_TEMPLATES . '/savedattlist/savedattlist.inc';
+require $GLOBALS['registry']->get('templates', 'horde') . '/common-footer.inc';
diff -r 848f241f83e0 kronolith/templates/attendees/attendees.inc
--- a/kronolith/templates/attendees/attendees.inc	Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/templates/attendees/attendees.inc	Thu Nov 29 11:32:43 2007 +0100
@@ -92,6 +92,8 @@ function switchDateView(view, timestamp)
 <div>
  <input type="submit" class="button" name="addNew" value="<?php echo htmlspecialchars(_("Save Attendees")) ?>" />
  <input type="submit" class="button" name="addNewClose" value="<?php echo htmlspecialchars(_("Save and Finish")) ?>" />
+ <input type="button" class="button" name="loadAttList" value="<?php echo htmlspecialchars(_("Load Attendee List")) ?>" onclick="<?php echo $savedattlist_url ?>" />
+ <?php if (!empty($attendees)): ?><input type="button" class="button" name="saveAttList" value="<?php echo htmlspecialchars(_("Save Attendee List")) ?>" onclick="performAction('save', '');" /><?php endif; ?>
  <?php if (!empty($attendees)): ?><input type="submit" class="button" name="clearAll" value="<?php echo htmlspecialchars(_("Clear all attendees")) ?>" /><?php endif; ?>
 </div>
 
diff -r 848f241f83e0 kronolith/templates/javascript/open_savedattlist_win.js
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/javascript/open_savedattlist_win.js	Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,36 @@
+<?php if (!strstr($_SERVER['PHP_SELF'], 'javascript.php')): ?><script language="JavaScript" type="text/javascript">
+<!--
+<?php endif; ?>
+function open_savedattlist_win(args)
+{
+    var url = "<?php echo Horde::url($GLOBALS['registry']->applicationWebPath('%application%/savedattlist.php', 'kronolith')) ?>";
+    if (url.indexOf('?') == -1) glue = '?';
+    else glue = '<?php echo ini_get('arg_separator.output') ?>';
+    var now = new Date();
+    var name = "savedattlist_window_" + now.getTime();
+    if (args != "") {
+        url = url + glue + args + '<?php echo ini_get('arg_separator.output') ?>' + "uniq=" + now.getTime();
+    } else {
+        url = url + glue + "uniq=" + now.getTime();
+    }
+    var Width = screen.width;
+    if (Width > 775) {
+        Width = 700;
+    } else {
+        Width -= 75;
+    }
+    var Height = screen.height;
+    if (Height > 725) {
+        Height = 650;
+    } else {
+        Height -= 75;
+    }
+    param = "toolbar=no,location=no,status=yes,scrollbars=yes,resizable=yes,width=" + Width + ",height=" + Height + ",left=0,top=0";
+    name = window.open(url, name, param);
+    if (!eval("name.opener")) {
+        name.opener = self;
+    }
+}
+<?php if (!strstr($_SERVER['PHP_SELF'], 'javascript.php')): ?>// -->
+</script>
+<?php endif; ?>
diff -r 848f241f83e0 kronolith/templates/savedattlist/savedattlist.inc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/savedattlist/savedattlist.inc	Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,68 @@
+<!-- javascript action handling -->
+<script language="JavaScript" type="text/javascript">
+<!--
+function performAction(id, value)
+{
+    document.savedattlistForm.actionID.value = id;
+    document.savedattlistForm.actionValue.value = value;
+    document.savedattlistForm.submit();
+    return false;
+}
+
+function updateMessage(list)
+{
+    if (parent.opener.closed) {
+        alert('<?php echo addslashes(_("The Edit Attendees screen is no longer present. Exiting.")) ?>');
+        this.close();
+        return;
+    }
+
+    if (!parent.opener.document.attendeesForm) {
+        alert('<?php echo addslashes(_("You can only use this form from the Edit Attendees screen.")) ?>');
+        this.close();
+        return;
+    }
+
+    parent.opener.document.attendeesForm.newAttendees.value = list;
+    this.close();
+}
+// -->
+</script>
+
+<form method="post" action="<?php echo $form_handler; ?>" name="savedattlistForm">
+<?php Util::pformInput(); ?>
+<input type="hidden" name="actionID" value="" />
+<input type="hidden" name="actionValue" value="" />
+
+<div align="center">
+
+<table border="0" width="500" cellspacing="0" cellpadding="2">
+
+<!-- header -->
+<tr><td colspan="4" class="header"><b><?php echo $title ?></b></td></tr>
+
+<!-- attendee list header -->
+<tr class="item">
+ <td nowrap="nowrap" width="2%" align="center"><?php echo $loadimg ?></td>
+ <td nowrap="nowrap" width="2%" align="center"><?php echo $delimg ?></td>
+ <td nowrap="nowrap" width="96%"><b><?php echo htmlspecialchars(_("Attendees")) ?></b></td>
+</tr>
+
+<!-- attendees -->
+<?php $i = 0 ?>
+<?php if (empty($savedattlist)): ?>
+ <tr class="item<?php echo ($i++ % 2) ?>"><td align="center" colspan="3"><i><?php echo htmlspecialchars('-- ' . _("No saved attendee lists are available") . ' --') ?></i></td></tr>
+<?php else: foreach ($savedattlist as $index => $list): ?>
+ <tr class="item<?php echo ($i++ % 2) ?>">
+ <?php
+  echo '<td align="center">', Horde::link("javascript:updateMessage('" . addslashes(implode(', ', $list)) . "')", _("Load this list")), $loadimg, "</a></td>";
+ ?>
+ <?php
+  echo '<td align="center">', Horde::link("javascript:performAction('remove', '" . $index . "')", _("Remove this list")), $delimg, "</a></td>";
+ ?>
+  <td><?php echo implode(', ', $list); ?></td>
+ </tr>
+<?php endforeach; endif; ?>
+</table>
+</div>
+</form>

Index: fbview-kronolith.spec
===================================================================
RCS file: /kolabrepository/server/horde/fbview-kronolith/fbview-kronolith.spec,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- fbview-kronolith.spec	29 Nov 2007 09:55:38 -0000	1.16
+++ fbview-kronolith.spec	29 Nov 2007 11:09:02 -0000	1.17
@@ -27,19 +27,10 @@
 Source2:        conf.php
 Source3:        prefs.php
 
-##################################################
-# PATCH COMMENT
-#
-#   This allows to display extended parameters (like the event
-#   summary) in the fbview and to store a list of attendees in the
-#   preferences
-Source4:        savedattlist.php
-Source5:        savedattlist.inc
-Source6:        open_savedattlist_win.js
-
 # List of Patches
-Patch0:         fbview.patch
-Patch1:         HK-JS-Fix_library_import.patch
+Patch0:         HK-SB-Fbview_extra_params.patch
+Patch1:         HK-SB-Fbview_save_attendees.patch
+Patch2:         HK-JS-Fix_library_import.patch
 
 # Build Info
 Prefix:		%{l_prefix}
@@ -69,8 +60,9 @@
 	%setup -c -q -n %{V_horde_name}-h3-%{V_uver}
 
 	cd %{V_horde_name}-h3-%{V_uver}
-	%patch -p0 -P 0
+	%patch -p2 -P 0
 	%patch -p2 -P 1
+	%patch -p2 -P 2
 	cd ..
 
 %build

Index: prefs.php
===================================================================
RCS file: /kolabrepository/server/horde/fbview-kronolith/prefs.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- prefs.php	3 Aug 2007 07:38:08 -0000	1.2
+++ prefs.php	29 Nov 2007 11:09:02 -0000	1.3
@@ -1,6 +1,6 @@
 <?php
 /**
- * $Horde: kronolith/config/prefs.php.dist,v 1.93 2007/06/18 16:27:44 chuck Exp $
+ * $Horde: kronolith/config/prefs.php.dist,v 1.95 2007/10/25 05:20:33 chuck Exp $
  *
  * See horde/config/prefs.php for documentation on the structure of this file.
  */
@@ -12,8 +12,8 @@
     'members' => array('confirm_delete', 'defaultview',
                        'time_between_days', 'week_start_monday',
                        'day_hour_start', 'day_hour_end', 'day_hour_force',
-                       'slots_per_hour', 'show_icons', 'show_legend', 'show_panel',
-                       'show_fb_legend', 'show_shared_side_by_side'),
+                       'slots_per_hour', 'show_icons', 'show_time', 'show_location',
+                       'show_legend', 'show_panel', 'show_fb_legend', 'show_shared_side_by_side', 'show_external_colors'),
 );
 
 $prefGroups['summary'] = array(
@@ -23,24 +23,6 @@
     'members' => array('summary_days', 'summary_alarms'),
 );
 
-$apis = array();
-foreach ($GLOBALS['registry']->listAPIs() as $api) {
-    if ($GLOBALS['registry']->hasMethod($api . '/listTimeObjects')) {
-        $apis[$api] = $GLOBALS['registry']->get('name', $GLOBALS['registry']->hasInterface($api));
-    }
-}
-if (!isset($apis['tasks']) && $GLOBALS['registry']->hasMethod('tasks/listTasks')) {
-    $apis['tasks'] = $GLOBALS['registry']->get('name', $GLOBALS['registry']->hasInterface('tasks'));
-}
-if (count($apis)) {
-    $prefGroups['external'] = array(
-        'column' => _("Display Options"),
-        'label' => _("Tasks and other external events"),
-        'desc' => _("Do you want to show external events in your calendar (like tasks which are due etc) ?"),
-        'members' => array('show_external', 'show_external_colors'),
-    );
-}
-
 $prefGroups['share'] = array(
     'column' => _("Calendars"),
     'label' => _("Default Calendar"),
@@ -163,7 +145,7 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Restrict day and week views to these time slots, even if there <strong>are</strong> earlier or later events?")
+    'desc' => _("Restrict day and week views to these time slots, even if there <strong>are</strong> earlier or later events?"),
 );
 
 // number of slots in each hour:
@@ -176,7 +158,8 @@
     'enum' => array(4 => _("15 minutes"),
                     3 => _("20 minutes"),
                     2 => _("30 minutes"),
-                    1 => _("1 hour"))
+                    1 => _("1 hour"),
+    ),
 );
 
 // show delete/alarm icons in the calendar view?
@@ -185,7 +168,31 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Show delete, alarm, and recurrence icons in calendar views?")
+    'desc' => _("Show delete, alarm, and recurrence icons in calendar views?"),
+);
+
+// show event start/end times in the calendar and/or print views?
+$_prefs['show_time'] = array(
+    'value' => 'a:1:{i:0;s:5:"print";}',
+    'locked' => false,
+    'shared' => false,
+    'type' => 'multienum',
+    'enum' => array('screen' => _("Month and Week Views"),
+                    'print' => _("Print Views"),
+     ),
+    'desc' => _("Choose the views to show event start and end times in:"),
+);
+
+// show event location in the calendar and/or print views?
+$_prefs['show_location'] = array(
+    'value' => 'a:1:{i:0;s:5:"print";}',
+    'locked' => false,
+    'shared' => false,
+    'type' => 'multienum',
+    'enum' => array('screen' => _("Month, Week, and Day Views"),
+                    'print' => _("Print Views"),
+     ),
+    'desc' => _("Choose the views to show event locations in:"),
 );
 
 // show category legend?
@@ -195,7 +202,7 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Show category legend?")
+    'desc' => _("Show category legend?"),
 );
 
 // show the calendar options panel?
@@ -205,7 +212,7 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Show calendar options panel?")
+    'desc' => _("Show calendar options panel?"),
 );
 
 // show free/busy legend?
@@ -215,7 +222,7 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Show free/busy legend?")
+    'desc' => _("Show free/busy legend?"),
 );
 
 // collapsed or side by side view
@@ -224,7 +231,7 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Show shared calendars side-by-side?")
+    'desc' => _("Show shared calendars side-by-side?"),
 );
 
 // days to show in summary
@@ -243,7 +250,8 @@
                     7 => '1 ' . _("week"),
                     14 => '2 ' . _("weeks"),
                     21 => '3 ' . _("weeks"),
-                    28 => '4 ' . _("weeks"))
+                    28 => '4 ' . _("weeks"),
+    ),
 );
 
 // show alarms in summary?
@@ -252,17 +260,7 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Show only events that have an alarm set?")
-);
-
-// show external events in the calendar views?
-$_prefs['show_external'] = array(
-    'value' => 'a:0:{}',
-    'locked' => false,
-    'shared' => false,
-    'type' => 'multienum',
-    'enum' => $apis,
-    'desc' => _("Select which external events you would like to display")
+    'desc' => _("Show only events that have an alarm set?"),
 );
 
 // show external event colors?
@@ -271,7 +269,7 @@
     'locked' => false,
     'shared' => false,
     'type' => 'checkbox',
-    'desc' => _("Show external events using category colors?")
+    'desc' => _("Show external events using category colors?"),
 );
 
 // default calendar selection widget
@@ -323,6 +321,14 @@
 
 // store the remote calendars to display
 $_prefs['display_remote_cals'] = array(
+    'value' => 'a:0:{}',
+    'locked' => false,
+    'shared' => false,
+    'type' => 'implicit'
+);
+
+// store the external calendars to display
+$_prefs['display_external_cals'] = array(
     'value' => 'a:0:{}',
     'locked' => false,
     'shared' => false,

--- fbview.patch DELETED ---

--- open_savedattlist_win.js DELETED ---

--- savedattlist.inc DELETED ---

--- savedattlist.php DELETED ---





More information about the commits mailing list