PHP: MCAL 関数 - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<mb_substrmcal_append_event>
view the version of this page
Last updated: Tue, 21 Dec 2004

LIX. MCAL 関数

導入

MCAL は、Modular Calendar Access Library を意味します。

libmcal は、カレンダーアクセス用の C ライブラリです。このライブラ リは、結合性の高いドライバとして書かれています。MCAL は、メールボッ クス用の IMAP モジュールのカレンダー版です。

mcal サポート機能により、カレンダーストリームを IMAP サポート機能 によるメールボックスストリームと全く同様にオープンすることができま す。カレンダーは、ローカルファイルに保存したり、リモートのICAPサー バーとしたり、mcal ライブラリによりサポートされる他のフォーマット とすることができます。

カレンダーイベントは、発生、検索、保存することができます。カレンダー のトリガー(アラーム)および定期的なイベントもサポートされます。

libmcal により、メインのカレンダーサーバーをアクセス、使用することが できます。この場合、特定のデータベースおよびローカルファイルに依存した プログラミングは必要ありません。

多くの関数は、各ストリーム毎に固有の内部イベント構造体を使用します。 これにより、大きなオブジェクトを関数の間で渡すことが容易になります。 イベント構造体の値を設定、初期化、取得する便利な関数があります。

注意: PHPには、ICAP拡張モジュールが以前ありましたが、元のライブラリと このPHP拡張モジュールはもうサポートされていません。推奨される代 替品はMCALです。

注意: この拡張モジュールはWindows環境 では利用できません。

要件

mcalライブラリがインストールされている必要があります。最新版を から取得し、コンパイル、 インストールしてください。

インストール手順

mcalライブラリをインストールした後、これらの関数を動作させるには、 PHP を--with-mcal[=DIR] を付けてコ ンパイルする必要があります。

実行用の設定

この拡張モジュールは設定ディレクティブを全く定義しません。

リソース型

この拡張モジュールはリソース型を全く定義しません。

定義済みの定数

これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。

MCAL_SUNDAY (integer)

MCAL_MONDAY (integer)

MCAL_TUESDAY (integer)

MCAL_WEDNESDAY (integer)

MCAL_THURSDAY (integer)

MCAL_FRIDAY (integer)

MCAL_SATURDAY (integer)

MCAL_JANUARY (integer)

MCAL_FEBRUARY (integer)

MCAL_MARCH (integer)

MCAL_APRIL (integer)

MCAL_MAY (integer)

MCAL_JUNE (integer)

MCAL_JULY (integer)

MCAL_AUGUST (integer)

MCAL_SEPTEMBER (integer)

MCAL_OCTOBER (integer)

MCAL_NOVEMBER (integer)

MCAL_DECEMBER (integer)

MCAL_RECUR_NONE (integer)

MCAL_RECUR_DAILY (integer)

MCAL_RECUR_WEEKLY (integer)

MCAL_RECUR_MONTHLY_MDAY (integer)

MCAL_RECUR_MONTHLY_WDAY (integer)

MCAL_RECUR_YEARLY (integer)

MCAL_M_SUNDAY (integer)

MCAL_M_MONDAY (integer)

MCAL_M_TUESDAY (integer)

MCAL_M_WEDNESDAY (integer)

MCAL_M_THURSDAY (integer)

MCAL_M_FRIDAY (integer)

MCAL_M_SATURDAY (integer)

MCAL_M_WEEKDAYS (integer)

MCAL_M_WEEKEND (integer)

MCAL_M_ALLDAYS (integer)

目次
mcal_append_event -- MCALカレンダーに新規イベントを保存する
mcal_close -- MCAL ストリームを閉じる
mcal_create_calendar -- 新規にMCALカレンダを作成する
mcal_date_compare -- 二つの日付を比較する
mcal_date_valid --  指定した年月日が有効な日付である場合に TRUE を返す
mcal_day_of_week --  指定した日の曜日を返す
mcal_day_of_year --  指定した日の年間積算日を返す
mcal_days_in_month --  指定した月の日数を返す
mcal_delete_calendar -- MCALカレンダを削除する
mcal_delete_event -- MCAL カレンダーからイベントを削除する
mcal_event_add_attribute --  グローバルイベント構造体ストリームに属性およびその値を追加する
mcal_event_init --  グローバルイベント構造体のストリームを初期化する
mcal_event_set_alarm --  グローバルイベント構造体ストリームのアラームを設定する
mcal_event_set_category --  グローバルイベント構造体ストリームの«テゴリを設定する
mcal_event_set_class --  グローバルイベント構造体ストリームのクラスを設定する
mcal_event_set_description --  グローバルイベント構造体ストリームの description を設定する
mcal_event_set_end --  グローバルイベント構造体ストリームの終了日を設定する
mcal_event_set_recur_daily --  グローバルイベント構造体ストリームの反復を設定する
mcal_event_set_recur_monthly_mday --  グローバルイベント構造体ストリームの繰り返しを設定する
mcal_event_set_recur_monthly_wday --  グローバルイベント構造体ストリームの繰り返しを設定する
mcal_event_set_recur_none --  グローバルイベント構造体ストリームの反復を設定する
mcal_event_set_recur_weekly --  グローバルイベント構造体ストリームの繰り返しを設定する
mcal_event_set_recur_yearly --  グローバルイベント構造体ストリームの繰り返しを設定する
mcal_event_set_start --  グローバルイベント構造体ストリームの開始日を設定する
mcal_event_set_title --  グローバルイベント構造体ストリームのtitleを設定する
mcal_expunge --  削除マークを付けられた全てのイベントを削除する
mcal_fetch_current_stream_event --  現在のイベント構造体ストリームを有するオブジェクトを返す
mcal_fetch_event --  カレンダーストリームからイベントを取得する
mcal_is_leap_year --  指定した年が閏年であるかどうかを返す
mcal_list_alarms --  指定した datetime までにアラームを発生するイベントのリストを返す
mcal_list_events --  日付または日付の範囲に関してIDのリストを返す
mcal_next_recurrence -- イベントが次に発生する日を返す
mcal_open -- MCAL 接続をオープンする
mcal_popen -- 永続的なMCAL接続をオープンする
mcal_rename_calendar -- MCALカレンダの名前を変更する
mcal_reopen -- MCAL接続を再オープンする
mcal_snooze -- イベントのアラームをオフにする
mcal_store_event -- MCALカレンダーの既存のイベントを修正する
mcal_time_valid --  指定した時間、分、秒が有効な時間である場合に TRUE を返す
mcal_week_of_year --  指定した日付の週番号を返す


add a note add a note User Contributed Notes
MCAL 関数
verdy_p at wanadoo dot fr
12-May-2002 06:55
Correction to previous extensive note:
ANDing distinct bit values will always result in zero, so your weekly events won't ever be raised. You must use the bitwise-or operator (|) to combine several week days.

mcal_event_set_recur_weekly takes an additional integer parameter
"weekdays" which is basicly a binary mask created by bitwise
ORing together integers representing the days of the week.

Sunday = 1
Monday = 2
Tuesday = 4
Wednesday = 8
Thursday = 16
Friday = 32
Saturday = 64

So if I wanted the value needed to raise the event every "Monday, Wednesday, and Friday" I would do this:
$weekdays = 2 | 8 | 32;
jeff at univrel dot pr dot uconn dot edu
03-Jul-2001 07:03
As of 7/3/2001, libmcal can be built shared (libmcal.so), which should get rid of the linking problem with the MySQL driver. Check the latest version out of the repository if you're planning on building it this way.
lurker at shadowtech dot org
23-Dec-2000 09:04
After a thorough search of the web for documentation of how recurence works in MCAL, or even for documentation of the recurence function parameters, I found nothing.  So, I gave up and dove into the MCAL source code for answers, and this is what I have found.  Please keep in mind that this is all "As far as I can tell" information.

First of all, I believe that mcal_list_events DOES return events that recur in the range being searched.

The mcal_event_set_recur_* functions take in an mcal stream, and date for the event to stop recuring by (given by day, month, year), and an "interval".

mcal_event_set_recur_weekly takes an additional integer parameter "weekdays" which is basicly a binary mask created by bitwise ANDing together integers representing the days of the week.

Sunday = 1
Monday = 2
Tuesday = 4
Wednesday = 8
Thursday = 16
Friday = 32
Saturday = 64

So if I wanted the value that represented  "Monday, Wednesday, and Friday" I would do this:
$weekdays = 2 & 8 & 32;

Here is how to interpret "interval" and "weekdays".

For mcal_event_set_recur_daily:
This event should recur every "interval" days.

For mcal_event_set_recur_weekly:
This event should recur on every day specified in "weekdays", and should do so every "interval" weeks.

For mcal_event_set_recur_monthly_mday:
This event should recur on the "interval" day of every month.

For mcal_event_set_recur_monthly_wday:
This event should recur every on every Xday of the Yth week of the month, every "interval" months. (Where Xday is a day of the week, e.g. Monday, Tuesday, etc.  Note: This is the one I am the least sure about though it seems to be the logical assumption for how it should work based on the fact that there are two monthly functions and the other one's operation is intuitive.)

For mcal_event_set_recur_yearly:
This event should recur every "interval" years.
inan at canada dot com
25-Mar-2000 11:59
MCAL is a great little package, but has changed quite a bit since the documentation has been updated.  If you're having trouble stop by mcal.chek.com and pop a question onto the mcal users mailing list and we'll be happy to help you out.

<mb_substrmcal_append_event>
 Last updated: Tue, 21 Dec 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Mon Mar 14 08:13:06 2005 Local time zone must be set--see zic manual page