2017 © Pedro Peláez
 

symfony-bundle ical-bundle

The XIMA iCal Bundle

image

xima-media/ical-bundle

The XIMA iCal Bundle

  • Thursday, February 15, 2018
  • by ximamedia
  • Repository
  • 8 Watchers
  • 0 Stars
  • 369 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 8 Versions
  • 18 % Grown

The README.md

iCal Bundle

Wraps the eluceo/ical package to a Symfony Bundle with Doctrine Association Mappings and includes Sonata Admin classes., (*1)

Installation

composer require xima-media/ical-bundle

Notes: * The dependency to the eluceo/ical fork depends on https://github.com/markuspoerschke/iCal/pull/50 and will be removed as soon as the pull request is accepeted. * The dependency to the dev version of herrera-io/doctrine-dateinterval depends on https://github.com/kherge-abandoned/php-doctrine-dateinterval/issues/3 and will be removed as soon as a new release is out., (*2)

Load the bundle in app/AppKernel.php:, (*3)

public function registerBundles()
{
    $bundles = array(
    ...
    new Xima\ICalBundle\XimaICalBundle()
}

Configuration

Your projects needs to support the dbal types json and dateinterval, configured in your app/config/config.yml, e.g.:, (*4)

doctrine:
    dbal:
      ...
      types:
            json: Sonata\Doctrine\Types\JsonType
            dateinterval:  Herrera\Doctrine\DBAL\Types\DateIntervalType

Integration

1. Create en event entity

You need to create a custom Event class that inherits from ICalBundle's Event class, e.g.:, (*5)

<?php
use Doctrine\ORM\Mapping as ORM;

/**
 * ICalEvent.
 *
 * @ORM\Entity
 */
class ICalEvent extends \Xima\ICalBundle\Entity\Component\Event
{

}

Note: ORM auto_mapping should be enabled or configure XimaICalBundle manually in app/config/config.yml., (*6)

2. Update your database schema

Use your the method of choice to update your database schema, e.g. doctrine migrations., (*7)

Sonata Admin classes

Documentation to be done. Take a look, use or inherit from the admin classes in xima-media\ical-bundle\Admin\EventAdmin.php and xima-media\ical-bundle\Admin\RecurrenceRuleAdmin.php., (*8)

Usage

Get all events in cal format
/**
 * @Route("/ical")
 * Render all events as iCalendar
 */
protected function iCalAction(Array $events)
{
    $vCalendar = new \Eluceo\iCal\Component\Calendar('myCalendar');

    foreach ($events as $event) {
        $vCalendar->addComponent($event);
    }

    $response = new Response();
    $response->headers->set('Content-Type', 'text/calendar; charset=utf-8');
    $response->headers->set('Content-Disposition', 'inline; filename="cal.ics"');
    $response->setContent($vCalendar->render());

    return $response;
}

The Versions

15/02 2018

dev-master

9999999-dev

The XIMA iCal Bundle

  Sources   Download

The Requires

 

by Wolfram Eberius
by Konrad Michalik
by Sebastian Gierth

15/02 2018

v0.1.5

0.1.5.0

The XIMA iCal Bundle

  Sources   Download

The Requires

 

by Wolfram Eberius
by Konrad Michalik
by Sebastian Gierth

14/02 2018

v0.1.4

0.1.4.0

The XIMA iCal Bundle

  Sources   Download

The Requires

 

by Wolfram Eberius
by Konrad Michalik
by Sebastian Gierth

13/02 2018

v0.1.3

0.1.3.0

The XIMA iCal Bundle

  Sources   Download

The Requires

 

by Wolfram Eberius
by Konrad Michalik
by Sebastian Gierth

07/02 2018

v0.1.2

0.1.2.0

The XIMA iCal Bundle

  Sources   Download

The Requires

 

by Wolfram Eberius
by Konrad Michalik
by Sebastian Gierth

24/09 2015

dev-dev

dev-dev

The Xima iCal Bundle

  Sources   Download

The Requires

 

by Wolfram Eberius

24/09 2015

v0.1.0

0.1.0.0

The Xima iCal Bundle

  Sources   Download

The Requires

 

by Wolfram Eberius