Download the PHP package pulseline/jalali-events without Composer

On this page you can find all versions of the php package pulseline/jalali-events. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package jalali-events

# Jalali Events ### Iranian Jalali Calendar Events & Official Holidays for Laravel A Laravel package for fetching, storing, querying, and automatically synchronizing Iranian Jalali calendar events and official holidays. [![Latest Stable Version](https://img.shields.io/packagist/v/pulseline/jalali-events.svg?style=flat-square)](https://packagist.org/packages/pulseline/jalali-events) [![Total Downloads](https://img.shields.io/packagist/dt/pulseline/jalali-events.svg?style=flat-square)](https://packagist.org/packages/pulseline/jalali-events) [![PHP Version](https://img.shields.io/packagist/php-v/pulseline/jalali-events.svg?style=flat-square)](https://packagist.org/packages/pulseline/jalali-events) [![License](https://img.shields.io/github/license/Pulselineir/jalali-events?style=flat-square)](LICENSE) [![GitHub Release](https://img.shields.io/github/v/release/Pulselineir/jalali-events?style=flat-square)](https://github.com/Pulselineir/jalali-events/releases)

Features

Jalali Events provides a simple API for working with the Iranian calendar in Laravel applications.


Installation

Install the package using Composer:

Laravel will automatically discover the package service provider.

Run the package migrations:

Then synchronize the current Jalali year:

Or synchronize a specific year:


Quick Start

The package provides the JalaliEvents facade.

Get information about a Jalali date:

Example result:


Check Whether a Date Is a Holiday

Returns:


Get Events for a Date

Example:

A single date can contain multiple events.


Query a Date Range

This returns all calendar days between the two supplied Jalali dates.


Holidays in a Date Range


Count Holidays


Calendar Synchronization

Synchronize a specific Jalali year:

Synchronize the current Jalali year:

Synchronization downloads calendar data from the configured upstream source and stores the normalized result locally.

Application queries do not request data from time.ir.

The normal flow is:

This means the application queries its own local storage instead of calling the upstream website for every request.


Storage

Jalali Events supports two storage drivers:

Database Storage

Database storage is the default:

The package creates two tables:

The jalali_calendar_days table stores one record for each calendar day.

The jalali_events table supports multiple events for each day.


PostgreSQL, MySQL, MariaDB and SQLite

By default, Jalali Events uses the Laravel application's default database connection.

For example, if the Laravel application uses PostgreSQL:

Jalali Events will store its tables in the same PostgreSQL database.

No additional configuration is required.

The same approach applies when the main Laravel project uses MySQL, MariaDB, or SQLite.


Dedicated Database Connection

Calendar data can optionally be stored using a separate Laravel database connection.

Then define the jalali connection inside:

Example:


JSON Storage

To use JSON instead of a database:

The default JSON file is stored at:


Publishing Configuration

Publish the package configuration:

This creates:


Configuration

Available environment variables:


Automatic Updates

Automatic synchronization is enabled by default:

Available frequencies:

The default is:

Jalali Events schedules the following command automatically:

The Laravel scheduler must be configured on the host application.

A typical cron entry is:


SSL Verification

SSL verification is enabled by default:

Disabling SSL verification is not recommended in production.

If the development environment uses an internal Certificate Authority or SSL inspection proxy, configure PHP and cURL with the appropriate CA certificate instead of disabling SSL verification.


Calendar Source

The default upstream calendar source is:

The source layer is separated from the rest of the package architecture so alternative calendar providers can be implemented in future versions without changing the public API.

The package dynamically resolves the Next.js Server Action used by the upstream calendar service instead of relying on a permanently hard-coded action identifier.

Since time.ir is an external service, changes to its internal implementation may require a package update.


Architecture


Testing

Install development dependencies:

Run the complete test suite:

or:

Validate Composer metadata:


Requirements

The application does not require internet access when reading previously synchronized calendar data.


Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create a feature branch.
  3. Make the required changes.
  4. Add or update tests where appropriate.
  5. Run the complete test suite.
  6. Submit a pull request.

Repository:


Issues

Bug reports and feature requests can be submitted through GitHub Issues:


Security

For security-related issues, please avoid publishing sensitive information in a public issue.

Contact:


Author

Farzin Bidokhti

GitHub: @farzinbidokhti

Jalali Events is developed and maintained under Pulseline:

github.com/Pulselineir


License

Jalali Events is open-source software licensed under the MIT License.


All versions of jalali-events with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
illuminate/console Version ^13.0
illuminate/database Version ^13.0
illuminate/http Version ^13.0
illuminate/support Version ^13.0
hekmatinasser/verta Version ^9.0
symfony/dom-crawler Version ^7.3 || ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package pulseline/jalali-events contains the following files

Loading the files please wait ...