LIII. MCAL

Introduction

MCAL signifie Modular Calendar Access Library (librairie calendaire modulaire).

Libmcal est une librairie C de calendriers. Elle est écrite pour être très modulaire, et dispose de nombreux modules. MCAL est l'équivalent de IMAP pour les calendriers.

Avec mcal, un calendrier peut être ouvert comme une boîte aux lettres. Les calendriers peuvent être des fichiers locaux, ou bien être sur des serveurs ICAP distants, ou encore tout autre format supporté par la librairie.

Les événements peuvent être lus, sélectionnés et enregistrés. Il y a aussi la possibilité d'ajouter des alarmes, et de placer des événéments récurents.

Avec libmcal, les serveurs centralisés peuvent être accédés et utilisés, et remplacent avantageusement tout développement spécifique de base de données.

La plupart des fonctions utilisent une structure d'événement interne, qui est unique pour chaque connexion. Cela évite d'avoir à passer des objets de grande taille entre les fonctions. Il y a des accesseurs bien pratiques pour créer, initialiser et lire des objets événements.

Note : PHP disposait d'une extension ICAP, mais la librairie originale et l'extension PHP ne sont plus supportées. La solution de remplacement est MCAL.

Note : Cette extension n'est pas disponible sur les plate-formes Windows.

Pré-requis

Pour faire fonctionner cette librairie, vous devez compiler PHP avec l'option --with-mcal. Il vous faudra alors avoir installé la librairie mcal. Téléchargez la dernière version à http://mcal.chek.com/ et compilez-la, puis installez-la.

Installation

Après avoir installé la librairie mcal, vous devez compiler PHP avec l'option --with-mcal[=DIR].

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes prédefinies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

MCAL_SUNDAY (entier)

MCAL_MONDAY (entier)

MCAL_TUESDAY (entier)

MCAL_WEDNESDAY (entier)

MCAL_THURSDAY (entier)

MCAL_FRIDAY (entier)

MCAL_SATURDAY (entier)

MCAL_JANUARY (entier)

MCAL_FEBRUARY (entier)

MCAL_MARCH (entier)

MCAL_APRIL (entier)

MCAL_MAY (entier)

MCAL_JUNE (entier)

MCAL_JULY (entier)

MCAL_AUGUST (entier)

MCAL_SEPTEMBER (entier)

MCAL_OCTOBER (entier)

MCAL_NOVEMBER (entier)

MCAL_DECEMBER (entier)

MCAL_RECUR_NONE (entier)

MCAL_RECUR_DAILY (entier)

MCAL_RECUR_WEEKLY (entier)

MCAL_RECUR_MONTHLY_MDAY (entier)

MCAL_RECUR_MONTHLY_WDAY (entier)

MCAL_RECUR_YEARLY (entier)

MCAL_M_SUNDAY (entier)

MCAL_M_MONDAY (entier)

MCAL_M_TUESDAY (entier)

MCAL_M_WEDNESDAY (entier)

MCAL_M_THURSDAY (entier)

MCAL_M_FRIDAY (entier)

MCAL_M_SATURDAY (entier)

MCAL_M_WEEKDAYS (entier)

MCAL_M_WEEKEND (entier)

MCAL_M_ALLDAYS (entier)

Table des matières
mcal_append_event --  Enregistre un nouvel événement dans un calendrier MCAL
mcal_close -- Ferme une connexion MCAL
mcal_create_calendar -- Crée un nouveau calendrier
mcal_date_compare -- Compare deux dates
mcal_date_valid --  Valide une date.
mcal_day_of_week --  Le jour de la semaine.
mcal_day_of_year --  Le jour de l'année.
mcal_days_in_month --  Retourne le nombre de jour dans un mois
mcal_delete_calendar -- Efface un calendrier
mcal_delete_event --  Efface un événement dans un calendrier MCAL.
mcal_event_add_attribute --  Ajoute un attribut et une valeur à la structure globale
mcal_event_init --  Initialise la structure globale d'un flux MCAL
mcal_event_set_alarm --  Fixe l'alarme de la structure globale
mcal_event_set_category --  Fixe la catégorie de la structure globale
mcal_event_set_class --  Fixe la classe de la structure globale
mcal_event_set_description --  Fixe la description de la structure globale
mcal_event_set_end --  Fixe la date de fin de la structure globale.
mcal_event_set_recur_daily --  Fixe la récurrence quotidienne
mcal_event_set_recur_monthly_mday --  Fixe la récurrence
mcal_event_set_recur_monthly_wday --  Fixe la récurrence mensuelle.
mcal_event_set_recur_none --  Supprime la récurrence de la structure globale
mcal_event_set_recur_weekly --  Fixe la récurrence hebdomadaire
mcal_event_set_recur_yearly --  Fixe la récurrence annuelle
mcal_event_set_start --  Fixe la date de début de la structure globale
mcal_event_set_title --  Fixe le titre de la structure globale
mcal_expunge --  Supprime tous les événements marqués pour l'effacement
mcal_fetch_current_stream_event --  Retourne un objet contenant la structure de date
mcal_fetch_event --  Recherche un événement dans le calendrier
mcal_is_leap_year --  Vérifie que l'année est bissextile.
mcal_list_alarms --  Retourne une liste d'événements qui ont une alarme prévue à une date
mcal_list_events --  Retourne une liste d'événement entre deux dates
mcal_next_recurrence --  Retourne la prochaine occurrence d'un événement
mcal_open -- Ouvre une connexion MCAL
mcal_popen -- Ouvre une connexion persistante MCAL
mcal_rename_calendar -- Renomme un calendrier
mcal_reopen -- Réouvre une connexion MCAL
mcal_snooze -- Eteind l'alarme d'un événement
mcal_store_event --  Modifie un événement dans un calendrier MCAL
mcal_time_valid --  Valide une heure.
mcal_week_of_year --  Retourne le numéro de semaine dans l'année pour une date donnée