Active Calendar Class v1.0 Documentation 日本語
このパッケージ同梱のソースコードは無償で提供されます。改変、譲渡は「GNU Lesser General Public License」記載の条件下で行うことができます。 GNU Lesser General Public License published by the Free Software Foundation. 非公式な日本語訳は ここで 読むことができます。 |
作者は、コメントや進言を歓迎します。是非、サイト:www.phpclasses.org または freshmeat.net, を訪ねてください。これらサイトで配布しています。 |
目次
Active Calendar Class は PHP のclassです。カレンダーをHTMLテーブル(XHTML-Valid)で生成します。
Active Calendarは PHP内包のdate functionを(defaultで) ベースにしています。オプションでADOdb Date Libraryをサポートしています。
$cal = new activeCalendar([$year,$month,$day,$gmt_zone]); |
最初に、新しいオブジェクトを生成します。パラメータ$year, $month and $day はオプションです。これらパラメータがセットされていなければ、現在の年、月、日がプログラムに渡されます。$year(年パラメータ)は "yyyy"の形にします。例としては"2005" とか "1996"です。$month(月パラメータ)は "m"の形にします。例としては "1" で1月とか "10" で10月です。$day(日パラメータ)は "d"の形にします。例としては "4" で月の4日 とか "24" で月の24日です。2005年1月7日の場合は $cal = new activeCalendar("2005","1","7") と、呼び出します。パラメータ $gmt_zone もオプションです。現在の日時をGMT(グリニッジ標準時準拠)で計算するために指定します。(例:日本時間は"9"を指定、ギリシャのアテネは"2"、 ニューヨーク[米国東海岸]は"-5")。このパラメータがセットされていなければ、サーバーのローカルタイムが使用されます。 |
$cal->enableMonthNav([$link,$arrowBack,$arrowForw]); |
月ナビゲーション(前の月、次の月)を呼び出します。パラメータ$linkはオプションです。このパラメーターにURLをセットすることができます。(例 えば: "mycalendar.php" とか "mycalendar.php?mode=4&item=test", もっと複雑なものでも・・)。標準で生成されるリンクを変更したい場合には、クラスのprivate method mkUrl() を変更する必要があります。$arrowBack(戻り用のパラメータ)と$arrowForw(進む用のパラメータ)もオプションで変更できます(リン クを画像にすることもできます)。 |
$cal->enableYearNav([$link,$arrowBack,$arrowForw]); |
年ナビゲーション(前の年、次の年)を呼び出します。パラメータ$linkはオプションです。このパラ メーターにURLをセットすることができます。(例えば: "mycalendar.php" とか "mycalendar.php?mode=4&item=test", もっと複雑なものでも・・)。標準で生成されるリンクを変更したい場合には、クラスのprivate method mkUrl() を変更する必要があります。$arrowBack(戻り用のパラメータ)と$arrowForw(進む用のパラメータ)もオプションで変更できます(リン クを画像にすることもできます)。 |
$cal->enableDatePicker([$startYear,$endYear,$link,$button]); |
月カレンダーを選択コントロール付きで生成したい場合には、このメソッドを呼び出します。パラメーター$ startYear と $endYear で選択できる年の幅を決めます。(例えば、2000年から2010年の場合は: $startYear=2000, $endYear=2010 とします)。このパラメータ値はprivate classの$startYear と $endYear の値で設定が制限されています。必要があれば変更してください。パラメータ$linkはオプションです。このパラメーターにURLを セットすることができます。(例えば: "mycalendar.php" とか "mycalendar.php?mode=4&item=test", もっと複雑なものでも・・)。標準で生成されるリンクを変更したい場合には、クラスのprivate method mkUrl() を変更する必要があります。パラメータ $button もオプションです。選択コントロールのサブミットボタンを変更したい場合にセットします。 |
$cal->enableDayLinks([$link,$javaScript]); |
日付をリンクとして生成したい場合には、このメソッドを呼び出します。パラメータ$linkはオプション です。このパラメーターにURLをセットすることができます。(例えば: "mycalendar.php" とか "mycalendar.php?mode=4&item=test", もっと複雑なものでも・・)。標準で生成されるリンクを変更したい場合には、クラスのprivate method mkUrl() を変更する必要があります。パラメータ $javaScript もオプションです。リンクにURLをセットせず、かわりにJavaScriptのfunctionを割り当てたい時に使用します。もし、 $cal->enableDayLinks(false,"selectDate") のようにセットしますと、2007年5月27日に.. href="javascript:selectDate(2007,5,27)"..のようにリンクが生成されるでしょう。例における Javascript の function 'selectDate'は、このクラスで生成されませんので必要に応じて作成して下さい。 |
$cal->setMonthNames($monthNamesArray); |
月の名前に設定と違う名前を使用して生成する場合に使用します。パラメータ$monthNamesArray は、1月に相当する月の名前から始まる12ヶ月分の配列である必要があります。 |
$cal->setDayNames($dayNamesArray); |
曜日の名前に設定と違う名前を使用して生成する場合に使用します。パラメータ$dayNamesArray は、日曜に相当する曜日の名前から始まる7日分の配列である必要があります。 |
$cal->setEvent($year,$month,$day,[$id,$eventUrl]); |
パラメータ指定の年月日で、HTMLのtd class=$id とするためには、このメソッドを呼び出します。CSS側でイベント日ごとに応じた設定(例えば異なるバックグラウンドカラーにをすることが)可能です。パ ラメータ $id はオプションです。このパラメーターに設定しないと、デフォルトのHTMLの class='event'が生成されます。パラメータ $eventUrl もオプションです。このパラメータ $eventUrl がセットされると、メソッド$cal->enableDayLinks($link)を呼び出さなくても、イベント日にリンクが生成されます。 |
$cal->setEventContent($year,$month,$day,$content,[$contentUrl,$id]); |
パラメータ指定の年月日で、HTMLのテーブルを生成するためには、このメソッドを呼び出します。パラ メータ$content は、文字列または配列です。$content が文字列の場合には、新しく生成されるテーブルは1行となります。$content が配列ですと配列の長さで行を生成します。パラメータ$contentUrl はオプションです。このパラメータ $contentUrl がセットされると、メソッド$cal->enableDayLinks($link)を呼び出さなくても、各行にリンクが生成されます。パラメータ $id はオプションです。このパラメーターをセットするとeventcontentそれぞれに、HTMLのクラス(class='$id')が生成されます。設 定しないとデフォルトのHTMLのクラス(class='eventcontent')が生成されます。 |
$cal->showMonth(); |
月カレンダーをHTML生成します。カレンダーを表示するには "print $cal->showMonth()" とします。このメソッドは、複数のプライベートクラスファンクション群(private class functions)を呼び出し、TRタグを生成します。テーブル構造を変更したい場合には、これら呼び出されるプライベートクラスファンクション群の呼 び出し順を変更してください。(ただし、mkMonthHead() は最初に、そして mkMonthFoot() は、最後に呼び出される必要があります)。 |
$cal->showYear([$columns]); |
年カレンダーをHTML生成します。カレンダーを表示するには "print $cal->showYear()" とします。このメソッドは、複数のプライベートクラスファンクション群(private class functions)を呼び出し、TRタグを生成します。テーブル構造を変更したい場合には、これら呼び出されるプライベートクラスファンクション群の呼 び出し順を変更してください。(ただし、mkYearHead() は最初に、そして mkYearFoot() は、最後に呼び出される必要があります)。パラメータ$columnsはオプションです。このパラメータは、年カレンダーで、一行に表示される月の数を セットします。デフォルトは1行に4か月分になっています。 |
<?php include("activecalendar.php"); $cal = new activeCalendar(); echo $cal->showMonth(); ?> |
<?php include("activecalendar.php"); $myurl=$_SERVER['PHP_SELF']; // the links url is this page $yearID=false; // init false to display current year $monthID=false; // init false to display current month $dayID=false; // init false to display current day extract($_GET); // get the new values (if any) of $yearID,$monthID,$dayID $cal = new activeCalendar($yearID,$monthID,$dayID); $cal->enableMonthNav($myurl); echo $cal->showMonth(); ?> |
<?php include("activecalendar.php"); $myurl=$_SERVER['PHP_SELF']; // the links url is this page $yearID=false; // init false to display current year $monthID=false; // init false to display current month $dayID=false; // init false to display current day extract($_GET); // get the new values (if any) of $yearID,$monthID,$dayID $cal = new activeCalendar($yearID,$monthID,$dayID); $cal->enableDatePicker(2000,2010,$myurl); echo $cal->showMonth(); ?> |
<?php include("activecalendar.php"); $myurl=$_SERVER['PHP_SELF']; // the links url is this page $cal = new activeCalendar("2007","11"); $cal->enableDayLinks($myurl); echo $cal->showMonth(); ?> |
<?php include("activecalendar.php"); $cal = new activeCalendar("2007","11"); $cal->setEvent("2007","11","17","meeting"); //it will create a class="meeting" $cal->setEvent("2007","11","7","birthday"); //it will create a class="birthday" //The following will create a class="myevent" and an <a href="myevent.html"> $cal->setEvent("2007","11","20","myevent","myevent.html"); echo $cal->showMonth(); ?> |
<?php include("activecalendar.php"); $cal = new activeCalendar(); echo $cal->showYear(2); // 2 months in each row ?> |
<?php include("activecalendar.php"); $myurl=$_SERVER['PHP_SELF']; // the links url is this page $yearID=false; // init false to display current year $monthID=false; // init false to display current month $dayID=false; // init false to display current day extract($_GET); // get the new values (if any) of $yearID,$monthID,$dayID $cal = new activeCalendar($yearID,$monthID,$dayID); $cal->enableYearNav($myurl); echo $cal->showYear(); ?> |
<?php include("activecalendar.php"); $myurl=$_SERVER['PHP_SELF']; // the links url is this page $cal = new activeCalendar("2007"); $cal->enableDayLinks($myurl); echo $cal->showYear(); ?> |
<?php include("activecalendar.php"); $cal = new activeCalendar("2007"); $cal->setEvent("2007","1","24","meeting"); $cal->setEvent("2007","5","12","birthday"); $cal->setEvent("2007","6","24","event"); $cal->setEvent("2007","6","25"); echo $cal->showYear(); ?> |
<?php include("activecalendar.php"); $cal = new activeCalendar("2007"); $cal->setEventContent("2007","1","24","meeting"); $cal->setEventContent("2007","5","12","birthday"); $cal->setEventContent("2007","6","24","Google","http://www.google.com"); $multipleLinesEvent=array("Title: News","Time: 16.00","Status: ok"); $cal->setEventContent("2007","6","25",$multipleLinesEvent); echo $cal->showYear(); ?> |
生 成されるカレンダーのレイアウトはCSSで設定できます。Active Calendar Class は、生成時に数々のHTMLタグをクラスを伴って生成します。これを利用してレイアウト設定が実施できます。下記のサンプルCSS(デフォルト設定で使用 しています)を参照してください。: |
.year {border-style: outset; border-width: 1px; background-color: #cbeaca; text-align: center;} .month {border-style: none; background-color: #cbeaca; text-align: center;} .yearname {text-align: center; font-size: 20px; font-weight: bold;} .monthname {text-align: center; font-size: 13px; height: 30px; background-color: #e9e9e9;} .yearnavigation {background-color: #dddddd;} .monthnavigation {background-color: #dddddd;} .datepicker {background-color: #ffffff;} .datepickerform {margin: 0px;} .monthpicker {background-color: #eeeeee;} .yearpicker {background-color: #eeeeee;} .pickerbutton {background-color: #eeeeee; border-style: none;} .dayname td {text-align: center; font-size: 13px; background-color: #dddddd;} .nomonthday {background-color: #cbeaca; height:25px; width:25px;} .monthday {text-align: center; background-color: #e9e9e9; height:25px; width:25px;} .today {text-align: center; background-color: #ffff99; height:25px; width:25px;} .selectedday {text-align: center; background-color: #66ff66; height:25px; width:25px;} .sunday {text-align: center; font-weight: bold; color: red; height:20px; width:20px;} .sunday a {color: red;} .saturday {text-align: center; font-weight: bold; color: red; height:20px; width:20px;} .saturday a {color: red;} .event {text-align: center; color: red; background-color: #ffff99; height:20px; width:20px;} .event a {background-color: #ffff99; color: red;} .selectedevent {text-align: center; color: red; background-color: #ffff99; height:20px; width:20px;} .selectedevent a {background-color: #ffff99; color: red;} .todayevent {text-align: center; color: red; background-color: #ffff99; height:20px; width:20px;} .todayevent a {background-color: #ffff99; color: red;} .eventcontent {font-size: 10px; border-style: outset; border-width: 1px;} |
Active Calendar Classでの設定で生成されるHTMLタグのクラス一覧です。 既に、お使いのCSSとのバッティングを避けるため生成されるクラス名は変更できるようになっています。 | ||
変数の設定 | HTML クラス | HTML タグ |
$cssYearTable | year | TABLE用のタグ: 年用のカレンダー |
$cssYearTitle | yearname | TD用のタグ: 年用のカレンダー タイトル |
$cssYearNav | yearnavigation | TD用のタグ: 年用のカレンダー ナビ/td> |
$cssMonthTable | month | TABLE用のタグ: 月用のカレンダー |
$cssMonthTitle | monthname | TD用のタグ: 月用のカレンダー タイトル |
$cssMonthNav | monthnavigation | TD用のタグ: 月用のカレンダー ナビ |
$cssWeekDay | dayname | TR用のタグ: カレンダー ウイークディ |
$cssPicker | datepicker | TD用のタグ: 選択プルダウン |
$cssPickerForm | datepickerform | FORMタグ: 選択プルダウンフォーム |
$cssPickerMonth | monthpicker | SELECTタグ: 月の選択 |
$cssPickerYear | yearpicker | SELECTタグ: 年の選択 |
$cssPickerButton | pickerbutton | INPUT (submit) タグ: 送信ボタン |
$cssMonthDay | monthday | TD用のタグ: 日付, 当月 |
$cssNoMonthDay | nomonthday | TD用のタグ: 日付, 当月でない |
$cssToday | today | TD用のタグ: 現在日付 |
$cssSelecDay | selectedday | TD用のタグ: 選択された日 |
$cssSunday | sunday | TD用のタグ: 全ての日曜 |
$cssSaturday | saturday | TD用のタグ: 全ての土曜 |
$cssEvent | event | TD用のタグ: setEvent()にセットされたイベント日。複数のクラスが生成できます(例'meeting' で会議とか) |
$cssPrefixSelecEvent | selected | TD用のタグ: setEvent()にセットされたイベント日で選択されたもの。イベントクラス名に追加できます(例:'selectedevent'選択イベント日)。 複数のクラスが生成できます(例:'selectedmeeting'で選択会議とか) |
$cssPrefixTodayEvent | today | TD用のタグ: setEvent()にセットされたイベント日で、現在日付のもの。 イベントクラス名に追加できます(例:'todayevent'当日イベント)。複数のクラスが生成できます(例:'todaymeeting'で当日会議とか) |
$cssEventContent | eventcontent | TABLE用のタグ : setEventContent()にセットされたイベント内容。複数のクラスが生成できます(例:'meetingcontent'会議内容とか) |
1. 初期設定を変更したい場合は activecalendar.phpを編集し、設定します。.
2. Active Calendar Class のファイルactivecalendar.php をサーバにアップし、include してお使い下さい。
This Japanese translation is done by
H.Fujino(inet|@|zam|dot|att|dot|ne|dot|jp). The original is
http://www.micronetwork.de/activecalendar/docs/readme.html . I
appreciate any comments or suggestions in mistranslation. 邦 訳は藤野(メールアドレス:inet|@|zam|dot|att|dot|ne|dot|jp)が行いましたが、原文は http: //www.micronetwork.de/activecalendar/docs/readme.html にあります。誤訳についての指摘、改善案を歓迎します。 (c) Giorgos Tsiledakis, Crete Greece |