}
             if (is_array($field)) {
                 $line .= '"' . str_replace(array("\n", "\r", '"'), array('\\n', '', '""'), join(',', $field)) . '";';
             } else {
                 $line .= '"' . str_replace(array("\n", "\r", '"'), array('\\n', '', '""'), $field) . '";';
             }
         }
         if ($first === true) {
             echo trim($description, ';') . "\n";
             $first = false;
         }
         echo trim($line, ';') . "\n";
     }
 } else {
     // create ical array//
     $iCal = new File_iCal();
     $cal = $iCal->getSkeletonCalendar();
     foreach ($events as $event) {
         $ea = array();
         $ea['Summary'] = $event['name'];
         $ea['dateStart'] = $event['start'];
         $ea['dateEnd'] = $event['end'];
         $ea['Description'] = preg_replace('/\\n/', "\\n", strip_tags(TikiLib::lib('parser')->parse_data($event['description'], array('is_html' => $prefs['calendar_description_is_html'] === 'y'))));
         if ($event['participants']) {
             $ea['Attendees'] = $event['participants'];
         }
         $ea['LastModified'] = $event['lastModif'];
         // re: Second character of duration value must be a 'P' ??
         // jb for tiki 11 - feb 2013
         // spec is at: https://tools.ietf.org/html/rfc5545#section-3.3.6, so i tried:
         //	$durationSeconds = $event['end'] - $event['start'];
    $smarty->assign('individual', $userlib->object_has_one_permission($_REQUEST["calendarId"], 'calendar'));
}
$sort_mode = "name_ASC";
$find = "";
$calendars = $calendarlib->list_calendars(0, -1, $sort_mode, $find);
foreach (array_keys($calendars["data"]) as $i) {
    $calendars["data"][$i]["individual"] = $userlib->object_has_one_permission($i, 'calendar');
}
$smarty->assign('calendars', $calendars["data"]);
$smarty->assign('uses_jscalendar', 'y');
// export calendar //
if (isset($_REQUEST["calendarId"]) && $_REQUEST["calendarId"] && $_REQUEST["export"] == 'y') {
    // get calendar events
    $events = $calendarlib->list_items(array($_REQUEST["calendarId"]), $user, $_REQUEST["tstart"], $_REQUEST["tstop"], -1, $maxRecords, $sort_mode = 'start_asc', $find = '');
    // create ical array//
    $iCal = new File_iCal();
    $cal = $iCal->getSkeletonCalendar();
    foreach ($events as $day => $day_data) {
        for ($i = 0; $i < count($day_data); $i++) {
            //var_dump($day_data[$i]["result"]);
            $ea = array();
            $ea["Summary"] = $day_data[$i]["result"]["name"];
            $ea["dateStart"] = $day_data[$i]["result"]["start"];
            $ea["dateEnd"] = $day_data[$i]["result"]["end"];
            $ea["Description"] = preg_replace("/\n/", "\\n", $day_data[$i]["result"]["description"]);
            if ($day_data[$i]["result"]["participants"]) {
                $ea["Attendees"] = $day_data[$i]["result"]["participants"];
            }
            $ea["LastModified"] = $day_data[$i]["result"]["lastModif"];
            // Second character of duration value must be a 'P' ??
            //$ea["Duration"]=($day_data[$i]["result"]["end"] - $day_data[$i]["result"]["start"]);