diff --git a/calendar/inc/class.calendar_uiforms.inc.php b/calendar/inc/class.calendar_uiforms.inc.php
index 6fc8730854..cbfa1441ca 100644
--- a/calendar/inc/class.calendar_uiforms.inc.php
+++ b/calendar/inc/class.calendar_uiforms.inc.php
@@ -1117,7 +1117,7 @@ class calendar_uiforms extends calendar_ui
if(!is_array($event['link_to'])) $event['link_to'] = array();
$event['link_to']['to_app'] = 'calendar';
$event['link_to']['to_id'] = 0;
-
+
foreach(Link::get_links($event['link_to']['to_app'], $event['id']) as $link)
{
if(!$link['id']) continue;
@@ -1936,6 +1936,13 @@ class calendar_uiforms extends calendar_ui
}
$event = array_shift($events);
+ /* Encode html specialchars (eg. < to <) because client-side core
+ * widget runs decoding for the value causes elimination of none
+ * encoded html chars. This will help included links inside description
+ * get displayed if activate_links = ture for description widget is set.
+ */
+ if ($event['description'] != '') $event['description'] = htmlspecialchars($event['description']);
+
// convert event from servertime returned by calendar_ical to user-time
$this->bo->server2usertime($event);
diff --git a/calendar/templates/default/meeting.xet b/calendar/templates/default/meeting.xet
index 7e8696906a..2be7d7359e 100644
--- a/calendar/templates/default/meeting.xet
+++ b/calendar/templates/default/meeting.xet
@@ -71,7 +71,7 @@
-
+