'calendarToSchedulable') , array('schedulable') , array('filter' => array( '=' , 'calendar' , $calendar))); // // $eventsIds = array(); // foreach ($eventLinks as &$eventLink) // $eventsIds[] = $eventLink['schedulable']; // // $events = Controller::find(array('concept' => 'schedulable') , false , array('filter' => array('IN','id',$eventsIds) , 'deepness' => '2' )); // $ics = Controller::format( array( 'service' => 'iCal' ) , $events ); // // } // //} if( isset($params['calendar']) ) { $eventLinks = Controller::find(array('concept' => 'calendarToSchedulable') , array('schedulable') , array('filter' => array( '=' , 'calendar' , $params['calendar']))); $calendar = Controller::read(array('concept' => 'calendar' , 'id' => $params['calendar'])); $eventsIds = array(); foreach ($eventLinks as &$eventLink) $eventsIds[] = $eventLink['schedulable']; $events = Controller::find(array('concept' => 'schedulable') , false , array('filter' => array('IN','id',$eventsIds) , 'deepness' => '2' )); $ics = Controller::format( array( 'service' => 'iCal' ) , $events , array('defaultTZI' => $calendar['timezone']) ); header( 'Content-Type: text/calendar; charset=utf-8' ); header( 'Content-Length: '. mb_strlen($ics) ); header( 'Content-Disposition: attachment; filename="Calendar.ics"' ); header( 'Cache-Control: max-age=10' ); echo $ics; die(); } if( isset($params['event']) ) { $event = Controller::read(array('concept' => 'schedulable' , 'id' => $params['event'])); $ics = Controller::format( array( 'service' => 'iCal' ) , array($event) , array('defaultTZI' => $event['timezone']) ); header( 'Content-Type: text/calendar; charset=utf-8' ); header( 'Content-Length: '. mb_strlen($ics) ); header( 'Content-Disposition: attachment; filename="'.$event['summary'].'.ics"' ); header( 'Cache-Control: max-age=10' ); echo $ics; die(); } ?>