$from_url = Horde::selfUrl(true, false, true);
}
- $link = '';
$event_title = $this->getTitle();
+ $view_url = $this->getViewUrl(array('datetime' => $datetime->strftime('%Y%m%d%H%M%S'), 'url' => $from_url), $full);
+ $read_permission = $this->hasPermission(PERMS_READ);
+
+ $link = '';
if (isset($this->external) && !empty($this->external_link)) {
$link = $this->external_link;
$link = Horde::linkTooltip(Horde::url($link), '', 'event-tentative', '', '', Horde_String::wrap($this->description));
- } elseif (isset($this->eventID) && $this->hasPermission(PERMS_READ)) {
- $link = Horde::linkTooltip($this->getViewUrl(array('datetime' => $datetime->strftime('%Y%m%d%H%M%S'), 'url' => $from_url), $full),
+ } elseif (isset($this->eventID) && $read_permission) {
+ $link = Horde::linkTooltip($view_url,
$event_title,
$this->getStatusClass(), '', '',
$this->getTooltip(),
$link .= @htmlspecialchars($event_title, ENT_QUOTES, Horde_Nls::getCharset());
- if ($this->hasPermission(PERMS_READ) &&
- (isset($this->eventID) ||
- isset($this->external))) {
+ if ($read_permission && (isset($this->eventID) || isset($this->external))) {
$link .= '</a>';
}
$delete = '';
if ((!$this->isPrivate() || $this->getCreatorId() == Horde_Auth::getAuth())
&& $this->hasPermission(PERMS_EDIT)) {
- $editurl = $this->getEditUrl(array('datetime' => $datetime->strftime('%Y%m%d%H%M%S'),
- 'url' => $from_url));
+ $editurl = Horde_Util::addParameter($view_url, 'view', 'EditEvent', !$full);
$edit = Horde::link($editurl, sprintf(_("Edit %s"), $event_title), 'iconEdit')
. Horde::fullSrcImg('edit-' . $icon_color . '.png', array('attr' => 'alt="' . _("Edit") . '"'))
. '</a>';
}
if ($this->hasPermission(PERMS_DELETE)) {
- $delurl = $this->getDeleteUrl(array('datetime' => $datetime->strftime('%Y%m%d%H%M%S'),
- 'url' => $from_url));
+ $delurl = Horde_Util::addParameter($view_url, 'view', 'DeleteEvent', !$full);
$delete = Horde::link($delurl, sprintf(_("Delete %s"), $event_title), 'iconDelete')
. Horde::fullSrcImg('delete-' . $icon_color . '.png', array('attr' => 'alt="' . _("Delete") . '"'))
. '</a>';
$showLocation = Kronolith::viewShowLocation();
$showTime = Kronolith::viewShowTime();
+ $day_url = Horde::applicationUrl('day.php');
+ $this_link = $this->link(0, true);
+ $new_url = Horde_Util::addParameter(Horde::applicationUrl('new.php'), 'url', $this_link);
+ $new_img = Horde::img('new_small.png', '+');
foreach ($this->_currentCalendars as $id => $cal) {
if ($sidebyside) {
$html .= '<td class="' . $style . '" height="70" width="14%" valign="top"><div>';
- $url = Horde_Util::addParameter(Horde::applicationUrl('day.php'),
- 'date', $date->dateString());
+ $url = Horde_Util::addParameter($day_url, 'date', $date->dateString());
$html .= '<a class="day" href="' . $url . '">' . $date->mday . '</a>';
if ($addLinks) {
- $url = Horde_Util::addParameter(Horde::applicationUrl('new.php'),
- array('date' => $date->dateString(),
- 'url' => $this->link(0, true)));
+ $url = Horde_Util::addParameter($new_url, 'date', $date->dateString());
if ($sidebyside) {
$url = Horde_Util::addParameter($url, 'calendar', $id);
}
$html .= Horde::link($url, _("Create a New Event"), 'newEvent') .
- Horde::img('new_small.png', '+') . '</a>';
+ $new_img . '</a>';
}
if ($date->dayOfWeek() == Horde_Date::DATE_MONDAY) {
foreach ($this->_events[$date_stamp] as $event) {
if (!$sidebyside || $event->getCalendar() == $id) {
$html .= '<div class="month-eventbox"' . $event->getCSSColors() . '>'
- . $event->getLink($date, true, $this->link(0, true));
+ . $event->getLink($date, true, $this_link);
if ($showTime) {
$html .= '<div class="event-time">' . htmlspecialchars($event->getTimeRange()) . '</div>';
}