}
// Get the current attendees array from the session cache.
-$attendees = $session['kronolith:attendees;array'];
-$resources = $session['kronolith:resources;array'];
+$attendees = $session->get('kronolith', 'attendees', Horde_Session::TYPE_ARRAY);
+$resources = $session->get('kronolith', 'resources', Horde_Session::TYPE_ARRAY);
$editAttendee = null;
// Get the action ID and value. This specifies what action the user initiated.
$newAttendees = Kronolith::parseAttendees($newAttendees);
if ($newAttendees) {
- $session['kronolith:attendees'] = $attendees + $newAttendees;
+ $session->set('kronolith', 'attendees', $attendees + $newAttendees);
}
// Any new resources?
'name' => $resource->get('name'),
);
- $session['kronolith:resources'] = $resources;
+ $session->set('kronolith', 'resources', $resources);
}
if (Horde_Util::getFormData('addNewClose')) {
: ' <' . $actionValue . '>'));
}
unset($attendees[$actionValue]);
- $session['kronolith:attendees'] = $attendees;
+ $session->set('kronolith', 'attendees', $attendees);
}
break;
$actionValue = Horde_String::lower($actionValue);
if (isset($attendees[$actionValue])) {
unset($attendees[$actionValue]);
- $session['kronolith:attendees'] = $attendees;
+ $session->set('kronolith', 'attendees', $attendees);
}
break;
// Remove the specified resource
if (isset($resources[$actionValue])) {
unset($resources[$actionValue]);
- $session['kronolith:resources'] = $resources;
+ $session->set('kronolith', 'resources', $resources);
}
break;
case 'changeResourceResp':
- //@TODO: What else to do here? Dissallow if responsetype is auto?
+ //@TODO: What else to do here? Disallow if responsetype is auto?
list($partval, $partname) = explode(' ', $actionValue, 2);
if (isset($resources[$partname])) {
$resources[$partname]['response'] = $partval;
- $session['kronolith:resources'] = $resources;
+ $session->set('kronolith', 'resources', $resources);
}
break;
$partname = Horde_String::lower($partname);
if (isset($attendees[$partname])) {
$attendees[$partname]['attendance'] = $partval;
- $session['kronolith:attendees'] = $attendees;
+ $session->set('kronolith', 'attendees', $attendees);
}
break;
$partname = Horde_String::lower($partname);
if (isset($resources[$partname])) {
$resources[$partname]['attendance'] = $partval;
- $session['kronolith:resources'] = $resources;
+ $session->set('kronolith', 'resources', $resources);
}
break;
$partname = Horde_String::lower($partname);
if (isset($attendees[$partname])) {
$attendees[$partname]['response'] = $partval;
- $session['kronolith:attendees'] = $attendees;
+ $session->set('kronolith', 'attendees', $attendees);
}
break;
case 'clear':
// Remove all the attendees and resources.
- unset($session['kronolith:attendees'], $session['kronolith:resources']);
+ $session->remove('kronolith', 'attendees');
+ $session->remove('kronolith', 'resources');
break;
}
}
// Add the Free/Busy information for each attendee.
-foreach ($session['kronolith:attendees;array'] as $email => $status) {
+foreach ($session->get('kronolith', 'attendees', Horde_Session::TYPE_ARRAY) as $email => $status) {
if (strpos($email, '@') !== false &&
($status['attendance'] == Kronolith::PART_REQUIRED ||
$status['attendance'] == Kronolith::PART_OPTIONAL)) {
// Attendees.
$this->attendees = ($attendees = Horde_Util::getFormData('attendees'))
? $attendees
- : $session['kronolith:attendees;array'];
+ : $session->get('kronolith', 'attendees', Horde_Session::TYPE_ARRAY);
// Resources
- $this->_resources = $session['kronolith:resources;array'];
+ $this->_resources = $session->get('kronolith', 'resources', Horde_Session::TYPE_ARRAY);
// strptime() is locale dependent, i.e. %p is not always matching
// AM/PM. Set the locale to C to workaround this, but grab the
* back to an available calendar. An empty string passed in this
* parameter will clear any existing session value.*/
if (($calendarId = Horde_Util::getFormData('display_cal')) !== null) {
- $GLOBALS['session']['kronolith:display_cal'] = $calendarId;
+ $GLOBALS['session']->set('kronolith', 'display_cal', $calendarId);
}
- if (isset($GLOBALS['session']['kronolith:display_cal'])) {
+ if ($GLOBALS['session']->exists('kronolith', 'display_cal')) {
/* Specifying a value for display_cal is always to make sure
* that only the specified calendars are shown. Use the
* "toggle_calendar" argument to toggle the state of a single
$GLOBALS['display_external_calendars'] = array();
$GLOBALS['display_resource_calendars'] = array();
$GLOBALS['display_holidays'] = array();
- $calendars = $GLOBALS['session']['kronolith:display_cal'];
+ $calendars = $GLOBALS['session']->get('kronolith', 'display_cal');
if (!is_array($calendars)) {
$calendars = array($calendars);
}
/* Get a list of external calendars. */
$GLOBALS['all_external_calendars'] = array();
- if (isset($GLOBALS['session']['kronolith:all_external_calendars'])) {
- foreach ($GLOBALS['session']['kronolith:all_external_calendars'] as $calendar) {
+ if ($GLOBALS['session']->exists('kronolith', 'all_external_calendars')) {
+ foreach ($GLOBALS['session']->get('kronolith', 'all_external_calendars') as $calendar) {
$GLOBALS['all_external_calendars'][$calendar['a'] . '/' . $calendar['n']] = new Kronolith_Calendar_External(array('api' => $calendar['a'], 'name' => $calendar['d']));
}
} else {
$apis = array_unique($GLOBALS['registry']->listAPIs());
- $ext_cals = $GLOBALS['session']['kronolith:all_external_calendars;array'];
+ $ext_cals = $GLOBALS['session']->get('kronolith', 'all_external_calendars', Horde_Session::TYPE_ARRAY);
foreach ($apis as $api) {
if (!$GLOBALS['registry']->hasMethod($api . '/listTimeObjects')) {
}
}
- $GLOBALS['session']['kronolith:all_external_calendars'] = $ext_cals;
+ $GLOBALS['session']->set('kronolith', 'all_external_calendars', $ext_cals);
}
/* Make sure all the external calendars still exist. */
{
/* Attendees */
$attendees = array();
- foreach ($GLOBALS['session']['kronolith:attendees;array'] as $email => $attendee) {
+ foreach ($GLOBALS['session']->get('kronolith', 'attendees', Horde_Session::TYPE_ARRAY) as $email => $attendee) {
$attendees[] = empty($attendee['name']) ? $email : Horde_Mime_Address::trimAddress($attendee['name'] . (strpos($email, '@') === false ? '' : ' <' . $email . '>'));
}
/* Resources */
- foreach ($GLOBALS['session']['kronolith:resources;array'] as $resource) {
+ foreach ($GLOBALS['session']->get('kronolith', 'resources', Horde_Session::TYPE_ARRAY) as $resource) {
$attendees[] = $resource['name'];
}
} catch (Exception $e) {
}
}
- $GLOBALS['session']['kronolith:attendees'] = $this->event->attendees;
- $GLOBALS['session']['kronolith:resources'] = $this->event->getResources();
+ $GLOBALS['session']->set('kronolith', 'attendees', $this->event->attendees);
+ $GLOBALS['session']->set('kronolith', 'resources', $this->event->getResources());
if ($datetime = Horde_Util::getFormData('datetime')) {
$datetime = new Horde_Date($datetime);
$month = $datetime->month;
}
$event = Kronolith::getDriver()->getEvent();
-$session['kronolith:attendees'] = $event->attendees;
-$session['kronolith:resources'] = $event->getResources();
+$session->set('kronolith', 'attendees', $event->attendees);
+$session->set('kronolith', 'resources', $event->getResources());
$date = Horde_Util::getFormData('datetime');
if (!$date) {
</tr>
<!-- attendees -->
-<?php $i = 0; if (empty($GLOBALS['session']['kronolith:attendees'])): ?>
+<?php $i = 0; if (!$GLOBALS['session']->get('kronolith', 'attendees')): ?>
<tr><td colspan="4"><em><?php echo _("No attendees") ?></em></td></tr>
-<?php else: foreach ($GLOBALS['session']['kronolith:attendees'] as $email => $status): ?>
+<?php else: foreach ($GLOBALS['session']->get('kronolith', 'attendees') as $email => $status): ?>
<tr>
<td class="nowrap"><?php $name = strpos($email, '@') === false ? $status['name'] : $email; echo Horde::url('#')->link(array('title' => sprintf(_("Remove %s"), $name), 'onclick' => "performAction('remove', decodeURIComponent('" . rawurlencode($email) . "')); return false;")) . Horde::img('delete.png') . '</a> ' . Horde::url('#')->link(array('title' => sprintf(_("Edit %s"), $name), 'onclick' => "performAction('edit', decodeURIComponent('" . rawurlencode($email) . "')); return false;")) . Horde::img('edit.png') . '</a>' ?></td>
<td><?php echo htmlspecialchars(empty($status['name']) ? $email : Horde_Mime_Address::trimAddress($status['name'] . (strpos($email, '@') === false ? '' : ' <' . $email . '>'))) ?></td>
<div>
<input type="submit" class="button" name="addNew" value="<?php echo htmlspecialchars(_("Update")) ?>" />
<input type="submit" class="button" name="addNewClose" value="<?php echo htmlspecialchars(_("Save and Finish")) ?>" />
- <?php if (!empty($GLOBALS['session']['kronolith:attendees'])): ?><input type="submit" class="button" name="clearAll" value="<?php echo htmlspecialchars(_("Clear all")) ?>" /><?php endif; ?>
+ <?php if ($GLOBALS['session']->get('kronolith', 'attendees')): ?><input type="submit" class="button" name="clearAll" value="<?php echo htmlspecialchars(_("Clear all")) ?>" /><?php endif; ?>
</div>
<br />
<div id="pageControls">
<a id="sbarShow" href="#" onclick="sbarToggle(); return false;"><?php echo _("Calendars") ?></a>
<a id="sbarHide" href="#" onclick="sbarToggle(); return false;"><?php echo _("Calendars") ?></a>
-<?php if (isset($GLOBALS['session']['kronolith:display_cal'])): ?>
+<?php if ($GLOBALS['session']->exists('kronolith', 'display_cal')): ?>
<a id="sbarClose" href="<?php echo Horde::selfUrl(true)->add('display_cal', '') ?>"><?php echo $GLOBALS['registry']->getAuth() ? _("Return to my calendars") : _("Return to calendars") ?></a>
<?php endif; ?>
<div id="pageControlsInner">
-<?php if (isset($GLOBALS['session']['kronolith:display_cal'])): ?>
+<?php if ($GLOBALS['session']->exists('kronolith', 'display_cal')): ?>
<h4><?php echo ngettext("Showing calendar:", "Showing calendars:", count($calendar_names)) ?></h4>
<?php foreach ($calendar_names as $name): ?>
<h4><?php echo $name ?></h4>