PHPackages                             renfordt/icstorm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. renfordt/icstorm

AbandonedArchivedLibrary[File &amp; Storage](/categories/file-storage)

renfordt/icstorm
================

A PHP package for generating ICS files.

1.0.1(1y ago)02.1kMITPHPPHP ^8.2

Since Mar 28Pushed 1y ago1 watchersCompare

[ Source](https://github.com/renfordt/ICStorm)[ Packagist](https://packagist.org/packages/renfordt/icstorm)[ RSS](/packages/renfordt-icstorm/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (3)Versions (4)Used By (0)

 ICStorm
========

[](#-icstorm)

**A package for creating and importing iCalendar/ICS files with one or multiple events.**

[![Badge](https://camo.githubusercontent.com/ba55e6164bb823ea5b890c4ab222345e3604581717d1ba6d35af1ef552690802/687474703a2f2f696d672e736869656c64732e696f2f62616467652f736f757263652d72656e666f7264742f494353746f726d2d626c75652e737667)](https://github.com/renfordt/ICStorm)[![Packagist Version](https://camo.githubusercontent.com/c6ee1c41c4dc8d9ecce592eaccec8fbb87fcf4d18a2f114ed11f66f967828aa0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f72656e666f7264742f696373746f726d3f696e636c7564655f70726572656c6561736573)](https://packagist.org/packages/renfordt/icstorm/)[![Packagist PHP Version](https://camo.githubusercontent.com/34e51cb594a96f05b961693473a4354012effc51d0dd1c5adf587c1c7fda5286/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f72656e666f7264742f696373746f726d2f706870)](https://camo.githubusercontent.com/34e51cb594a96f05b961693473a4354012effc51d0dd1c5adf587c1c7fda5286/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f72656e666f7264742f696373746f726d2f706870)[![GitHub License](https://camo.githubusercontent.com/9cd8d3cab35dcea11c8707e3e8ae8f675481551a4e9a2fcb386de4def2b39468/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f72656e666f7264742f494353746f726d)](https://camo.githubusercontent.com/9cd8d3cab35dcea11c8707e3e8ae8f675481551a4e9a2fcb386de4def2b39468/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f72656e666f7264742f494353746f726d)[![GitHub Actions Workflow Status](https://camo.githubusercontent.com/0f1b35f3f52da2948b00019719661af76a2e964c02ef4b0a410ca3c07821e64e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f72656e666f7264742f494353746f726d2f7068702e796d6c3f6c6f676f3d676974687562)](https://camo.githubusercontent.com/0f1b35f3f52da2948b00019719661af76a2e964c02ef4b0a410ca3c07821e64e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f72656e666f7264742f494353746f726d2f7068702e796d6c3f6c6f676f3d676974687562)[![Code Climate coverage](https://camo.githubusercontent.com/5a2a78a215b1f5b60af38fca60bbae31ef471d38dca2f2303226f5cbbaeff0e9/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636c696d6174652f636f7665726167652f72656e666f7264742f494353746f726d3f6c6f676f3d636f6465636c696d617465)](https://codeclimate.com/github/renfordt/ICStorm/test_coverage)[![Code Climate maintainability](https://camo.githubusercontent.com/6b0495ac6361a659a91fbe21b9e8951e4171fe40353f14419c758e49fdacbd3d/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636c696d6174652f6d61696e7461696e6162696c6974792f72656e666f7264742f494353746f726d3f6c6f676f3d636f6465636c696d617465)](https://codeclimate.com/github/renfordt/ICStorm/maintainability)

Installation
------------

[](#installation)

The recommended way to install this package is using [Composer](https://getcomposer.org/). Execute the following command. This will not only install the package but also add it to your project's composer.json file as a dependency.

```
composer require renfordt/icstorm

```

Usage
-----

[](#usage)

### Create Events

[](#create-events)

The PHP code below is used to create a new event.

The variables at the beginning (`title`, `summary`, `description`, `startDate`, `endDate`, `classification`, `transparency`, and `location`) represent different details of the event:

- `title`: The title of the event.
- `summary`: A brief overview of the event.
- `description`: Detailed information about the event.
- `startDate` and `endDate`: The start and end dates of the event and are mandatory.
- `classification`: The visibility of the event, indicating whether it's private or public.
- `transparency`: Indicates whether the time of the event is blocked or free.
- `location`: Location of the event.

These details are collected together into an associative array using the `compact` function. This array is then passed as an argument to the `Event::createEvent` function, which generates an instance of an event with these details.

```
$title = 'Test Event';
$summary = 'Test Event';
$description = 'This is a test event';
$startDate = '2024-10-15 18:15:00';
$endDate = '2024-10-15 18:45:00';
$classification = EventClassification::private;
$transparency = EventTransparency::opaque;
$location = 'Test Location';

$event = Event::create(
    compact('title',
        'summary',
        'description',
        'startDate',
        'endDate',
        'classification',
        'transparency',
        'location'));
```

### Create an iCalendar

[](#create-an-icalendar)

To create an iCalendar/ICS file you can use the following code.

First create a new Calendar instance and add all required Events to it. After that you can generate the ICS string or the file with the functions.

```
$calendar = new Calendar();
$calendar->addEvent($event);

$ics = $calendar->generateICS(); // generates a ICS string
$icsFile = $calendar->generateICSFile(); // generates a ICS file
```

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~101 days

Total

3

Last Release

569d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1edb79f2a1fcd61016ec9a5b65183e1f6e7852a4b1f9a5bd6f69c6160366f22c?d=identicon)[renfordt](/maintainers/renfordt)

---

Top Contributors

[![renfordt](https://avatars.githubusercontent.com/u/699163?v=4)](https://github.com/renfordt "renfordt (96 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")

---

Tags

calendaricalendaricsphp8

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/renfordt-icstorm/health.svg)

```
[![Health](https://phpackages.com/badges/renfordt-icstorm/health.svg)](https://phpackages.com/packages/renfordt-icstorm)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M123](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M61](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
