2017 © Pedro Peláez
 

library php-ics

Generate a iCalendar (.ics) file in PHP.

image

tinuviel/php-ics

Generate a iCalendar (.ics) file in PHP.

  • Friday, November 24, 2017
  • by bonnonk
  • Repository
  • 0 Watchers
  • 0 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

PHP to ICS

This gist contains a convenient script to generate iCalendar (.ics) files on the fly in PHP., (*1)

Basic usage

include 'ICS.php'

$properties = array(
  'dtstart' => 'now',
  'dtend' => 'now + 30 minutes'
);

$ics = new ICS($properties);
$ics_file_contents = $ics->to_string();

Available properties

  • description - string description of the event.
  • dtend - date/time stamp designating the end of the event. You can use either a DateTime object or a PHP datetime format string (e.g. "now + 1 hour").
  • dtstart - date/time stamp designating the start of the event. You can use either a DateTime object or a PHP datetime format string (e.g. "now + 1 hour").
  • location - string address or description of the location of the event.
  • summary - string short summary of the event - usually used as the title.
  • url - string url to attach to the the event. Make sure to add the protocol (http:// or https://).

Detailed examples

Button that downloads an ICS file when clicked

This example contains a form on the front-end that submits to a PHP script that initiates a download of an ICS file. This example uses hidden form fields to set the properties dynamically., (*2)

index.html, (*3)

<form method="post" action="/download-ics.php">
  <input type="hidden" name="date_start" value="2017-1-16 9:00AM">
  <input type="hidden" name="date_end" value="2017-1-16 10:00AM">
  <input type="hidden" name="location" value="123 Fake St, New York, NY">
  <input type="hidden" name="description" value="This is my description">
  <input type="hidden" name="summary" value="This is my summary">
  <input type="hidden" name="url" value="http://example.com">
  <input type="submit" value="Add to Calendar">
</form>

download-ics.php, (*4)

<?php

include 'ICS.php';

header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: attachment; filename=invite.ics');

$ics = new ICS(array(
  'location' => $_POST['location'],
  'description' => $_POST['description'],
  'dtstart' => $_POST['date_start'],
  'dtend' => $_POST['date_end'],
  'summary' => $_POST['summary'],
  'url' => $_POST['url']
));

echo $ics->to_string();

The Versions

24/11 2017

dev-master

9999999-dev https://github.com/Bonno/php-ics

Generate a iCalendar (.ics) file in PHP.

  Sources   Download

MIT

The Requires

  • php ^5.3 || ^7.0

 

24/11 2017

0.3.0

0.3.0.0 https://github.com/Bonno/php-ics

Generate a iCalendar (.ics) file in PHP.

  Sources   Download

MIT

The Requires

  • php ^5.3 || ^7.0

 

24/11 2017

0.2.0

0.2.0.0 https://github.com/Bonno/php-ics

Generate a iCalendar (.ics) file in PHP.

  Sources   Download

MIT

The Requires

  • php ^5.3 || ^7.0

 

24/11 2017

0.1.0

0.1.0.0

Generate a iCalendar (.ics) file in PHP.

  Sources   Download

The Requires

  • php ^5.3 || ^7.0