seebaermichi/monthly-calendar

A package which provides a monthly calendar with days and events depending on given months and events.

1.3.0 2023-03-07 12:29 UTC

README

Latest Version on Packagist Tests Total Downloads

This package returns a simple array with months, weeks and events depending on the months and events you provide.

Installation

You can install the package via composer:

composer require seebaermichi/monthly-calendar

Usage

// Will return an array with the given months and their weeks and days
// weeks will start with Monday
$monthlyCalendar = new Seebaermichi\MonthlyCalendar(['December 2021', 'January 2022']);
$calendar = $monthlyCalendar->getCalendar();

// Will return an array with the given months and their weeks and days
// weeks will start with Sunday
$monthlyCalendar = new Seebaermichi\MonthlyCalendar(['February 1989', 'March 1989'], 'Sun');
$calendar = $monthlyCalendar->getCalendar();

// Provide simple array of events and event label to get related days labeled
// First of December will have an event attribute 'birthday'
$monthlyCalendar = new Seebaermichi\MonthlyCalendar(['December 2021']);
$calendar = $monthlyCalendar->getCalendar(['2021-12-01'], 'birthday');

// Provide array of events with detailed data to get related days labeled
// 6th of March 2023 will have an events array including the given data
$monthlyCalendar = new Seebaermichi\MonthlyCalendar(['December 2021']);
$givenEvents = [
    [
        'datetime' => '2023-06-03 10:00',
        'label' => 'meeting',    
    ],
    [
        'datetime' => '2023-06-03 13:00',
        'label' => 'lunch',    
    ],
];
$calendar = $monthlyCalendar->getCalendar($givenEvents, '', 'Y-m-d H:i');

// Get only weekdays array with optional $startWith day
$weekdays = Seebaermichi\MonthlyCalendar::weekdays(); // ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
$weekdays = Seebaermichi\MonthlyCalendar::weekdays('Sun'); // ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.