イベント案内モジュール


概要
イベント案内モジュールは、催し物などの案内を掲載するとともに フォームによる受付を行うためのモジュールである。 主な機能としては次のものがある。
概略手順
  1. モジュールの導入
  2. [管理メニュー - モジュール管理] にて「イベント案内」モジュールをインストールする。
    必要に応じてイベント案内の動作設定を行う。 [管理メニュー - イベント案内 - 一般設定]
  3. イベント案内の掲載
  4. イベント案内の文章を登録する。 受付フォームの指定は、後からでも変更できるので文書だけ掲載してもよい。
  5. イベント申込の受付
  6. 受付状況に付いては、メールによる通知かログインして [予約受付] で閲覧できる。
機能一覧
イベント掲載機能
  1. 一覧表示 (要約表示)
  2. ブロック表示 (タイトル一覧)
  3. 詳細表示 (申込みフォーム付き)
    掲載者または管理者としてログインしていると、 機能への編集機能へのリンクが表示される。
イベント編集機能
  1. 新規イベント案内の投稿 - グループでアクセス権限を与える
  2. 受付処理
  3. 申込情報の編集
  4. 申込フォームの追加項目は、データ構造を決定するため 後から変更する場合は注意を要する。 項目名の削除や挿入、順番変更は行うと一貫性が崩れてデータが保証できない。 変更は、後への追加と選択項目 (checkbox, radio, select) の要素の追加に 制限するとデータの一貫性が崩れない。
  5. 削除
  6. イベント案内の掲載者による削除は、表示しない状態に変更することで 行われる。このため、掲載内容自体は保存されている。 データベース上からの削除は管理者権限で行い、管理者権限での削除は 受付データを始めとして全てのデータを削除する。
管理者機能
  1. 一般設定 - イベント案内の動作の設定
  2. イベント案内の操作 - 掲載の承認/削除/状態変更
  3. 新規登録のメール通知 - メール通知希望者の一覧と削除
モジュール設定
イベント案内モジュールの一般設定項目は次の通り
項目説明
イベント登録ができるグループ グループ (登録ユーザ) 新規にイベント案内の掲載を許可するグループを指定する
イベント管理者にメールで通知 いいえ/はい/常に通知 イベントが登録/変更された場合、管理者にメールで通知する。 いいえ=メール通知しない。はい=登録者以外へ通知を行う。 常に通知=登録者を含め通知を行う。
イベント管理者グループ グループ (サイト管理者) 管理通知メールを受け取るグループを指定する
新規登録イベントには承認が必要 はい/いいえ 新規登録されたイベント案内の掲載は管理者が承認してから行う
一覧で表示する追加項目数 列数 (3) 申し込み一覧で表示するフォームの追加項目の数
一覧表示の表示行数 行数 (50) 一覧形式で表示する場合の最大表示行数
トップページに掲載するイベント 個数 (10) イベント案内のトップページに並べて表示するイベントの数
複数掲載日を個別表示する はい/いいえ) 複数日指定のイベントを重複して表示を行う。「いいえ」を指定した場合、直近の日付のみ表示する
新規イベントを希望者に通知する はい/いいえ 新規のイベント案内が登録されたとき登録している通知希望者へメールで通知する
ログインによる認証に限定 いいえ/はい/両方利用する 申し込みをログインユーザに限定する(申し込みにメールアドレスを使わない)。 「両方利用する」を選択した場合、ログインしていればメールアドレスの入力を省略する。
予約時の確認画面を表示 はい/いいえ 予約処理時に入力値の確認用の画面を表示する
追加項目オプション設定 指定なし オプション一覧
  • label_persons=項目名 (予約人数を指定)
  • reply_tpl_suffix=追加ファイル名 (応答メールテンプレート名の拡張指定)
  • reply_extension=項目名 (応答メールテンプレート拡張用の項目名)
  • export_charset=UTF-8 (CSV 出力時の文字コード)
  • size=60 (テキスト入力フィールドの規定幅)
  • cols=40 (テキストエリアの規定幅)
  • rows=5 (テキストエリアの規定行)
詳細は「追加項目のオプション指定」を参照
受付〆切時間 分数 (60==1時間) 申込受付を開始時間の何分前に予約受付を締め切るかを指定する
掲載終了時間 分数 (1440==1日) イベントの時間以降の何分後にトップページの掲載を終了するかの既定値を指定する
予約人数の初期値 人数 (10) イベントを作成するフォームの申し込み人数の既定値を指定する
日付表示の形式 (Y-m-d (D)) イベントの開催日(時)を表示する形式を PHP の date 関数形式で指定する
連携プラグインを有効にする はい/いいえ イベントの申込制御に介入を行うプラグインを有効にする

plugins ディレクトリに対応モジュール名と、同じ名前 (xxxx.php) のファイルを置きハンドラ関数を定義する。予約 フォーム、予約動作前にハンドラを呼び出すので予約に必要 な条件の検査などを行う。

あるいは、「追加項目オプション設定」にて eguide_plugins=xxxx,yyy のように指定することで該当ファ イル名 (xxxx.php, yyy.php) のプラグインを読み込む。

予約状況の分類マーク
0,[終]
50,
100,[混]
101,[満]
予約量に応じて表示するマークを %で指定する。 (xx,yy で xx%未満なら yy を表示、ただし 0,yy は受付終了時のマークを指定)

マークに画像などを指定する場合は HTML タグを使う

時間枠指定 指定なし 定員一括画面で使う時間枠を指定する。例: 08:00,14:00,16:00
予約のファイルで出力項目 項目並び (*) フィールド名または、フィールド番号をカンマ区切りで並べて指定する。"*" は残りを表す。例: 3,4,0,2,*
イベント案内にコメントできる はい/いいえ イベント案内に対するコメント機能を有効にする

以下XOOPS の標準のコメント機能に対する設定

追加項目のオプション指定

追加項目のオプション指定では、オプション名=設定値 の形式でモジュールの初期設定値を変更する。

label_persons (予約人数を指定)
一人の予約で複数の人数の予約を許す場合、 人数を指定する項目名を指定する。

追加項目のラベル名称で指定する。 「label_persons=参加人数」 とするなら追加項目として、"参加人数,select,1,2,3,4" のように、必ず数値が選ばれる項目とするとよい

eguide 2.5 以前との互換性のため、値を単独で記載した場合に限り、 "label_persons=" の設定として扱う。
reply_tpl_suffix (応答メールテンプレートのファイル追加名称)
受付応答を行うメールのテンプレートに指定の文字列を追加したファイル名を用いる。 例えば、
reply_tpl_suffix=A
と指定した場合応答には language/<lang>/mail_template/{accept|order}A.tpl のファイルが用いられる。reply_extension が間接的に指定するのに対して、この変数は直接指定を行う。
reply_extension (応答メールテンプレート拡張用の項目名)
指定された項目値で受付応答を行うメールのテンプレートを切り替える。
この指定では追加項目のラベル名称で指定する。

例えば、モジュール一般設定での指定を「reply_extension=申込書式」とするなら、追加項目として、"申込書式,hidden,A" のような項目を作成することで、応答メールのテンプレートをフォーム毎に変更することができる。

対応するテンプレートとしては、指定した項目の値 (この例の場合 "A") をメールのテンプレートファイル名の付加したものとなる。したがって、language/<lang>/mail_template/{accept|order}A.tpl を用意しておけば応答文としてこれを使う。

ファイル名に付加する文字列は、申し込み時に保存される値であるが、エンコーディングが問題となる場合があるので英数字の範囲での指定を推奨する。
なお、指定値を付加したテンプレートファイルが存在しない場合、標準のテンプレートが利用される。

export_charset (CSV 出力時の文字コード)
既定値は export_charset=UTF-8 (※言語リソースの設定に従う)

旧版の MS-Excel を利用している場合、Shift_JIS などと設定するとよい。

size (テキスト入力フィールドの規定幅)
既定値は size=60
cols, rows (テキストエリアの規定幅/行数)
既定値は cols=40, rows=5
eguide_plugins (予約制御プラグインの指定)
予約処理を行うプラグイン名を指定する。 複数のプラグインを指定する場合は、"," で区切って並べる。 この指定を行うとモジュール名による指定 (連携用プラグイン) は 無効になるので、併用する場合はモジュール名を合わせて指定する。
use_fckeditor (イベントの説明文に FCKeditor を使用する)
このオプションを指定すると、イベントの説明文入力に、FCKeditor を使用する。 あらかじめ FCKeditor を、XOOPS_URL/common/fckeditor/ として導入すること。 指定する値を "Basic" とした場合、シンプルなツールバーになる。
bound_time (早朝を前日の夜として表示する境界時間)
イベント開催時間が指定した時刻以前の場合、前日表記で表示を行うことを指示する。 境界時間の書式は "HH:MM"。

例えば、"bound_time=03:00" のように指定した場合、2009-12-15 01:00 開始のイベントは 2009-12-14 25:00 開始と表記される。 境界時間は 00:0111:59 の範囲で指定すること。

reply_subject (応答メールの件名)
from_name (応答メールの差出人名)
応答メールの件名や差出人名の上書きを指示する。 未定義の場合は、言語リソースで規定されたものが使われる。
enable_copy (イベント記事の複写機能を有効にする)
enable_copy=yes イベント記事の編集画面に "新規登録イベント" のチェックボックスを追加する。 チェックボックスを有効にしてすると新規のイベントとして保存する。
email_repeat_check (イベント申し込みのメールアドレスの確認を行う)
email_repeat_check=yes イベントの申し込みを行う際に、メールアドレスの確認フィールドを追加し、 メールアドレスが一致することを確認する。
フォームの追加項目
予約処理 における追加項目は、申込時のフォームで入力する 項目を指定できる。指定の書式は次通り。
行 ::= ["!"]項目名["*"][,タイプ[,引数...]]

タイプ ::= {text|checkbox|radio|textarea|select|hidden|const}
引数 ::= [値 ["+"] "="] ラベル

例:
表記フォーム形態
名前*名前*
名前*,size=5名前*
名前*,size=10,規定値,#コメント文名前* コメント文
選択,radio,項目1+,項目2,項目3選択 項目1   項目2   項目3  
選択,checkbox,項目1+,項目2,項目3選択 項目1   項目2   項目3  
選択,select,項目1,項目2,項目3選択
ラベル,const,値ラベル 値 (そのまま表示され入力値として扱われる)
ラベル,hidden,値(フォームには表示されません - 入力値として現れる)
#コメント文コメント文
フォーム関連
複数人数の予約
集会で収容人数が決まっているイベントに代表者が申し込みをす るようなイベントを扱う場合以下のように設定する。
申し込み後のリダイレクト
予約申し込み後に遷移する URL を指定するものだが、URL には、 {X_EID} (イベント番号), {X_SUB} (開催日番号), {X_RVID} (予約番号) の変数を含むことができる。イベント申し込みに続くページでイベントの情報を取得するのに用いる。
予約制限プラグイン

イベント案内モジュールでは、プラグインを作成することで予約に 複雑な条件を付加することができる。サンプルとして付属する dlimit プラグインは、同じユーザが一日の間に予約できる数を限定する。 このプラグインでは、ログイン認証を必須とする。

このプラグインを有効にするにはモジュールの一般設定にある 「追加項目オプション指定」に次のような指定する。

eguide_plugins=dlimit
max_register_in_day=1
max_register_in_future=2
eguide_plugins
有効にするプラグインを指定する。 複数有効にする場合は、カンマで区切って指定する。
max_register_in_day
一日に予約できる件数を指定する。既定値は 1。制限しない場合 0 を指定する。
max_register_in_future
予約できる総数の制限を指定する。 イベントが開始された時点で、予約状態は完了となり次の予約が可能なる。 既定値は 0 で制限を行わない。
複数掲載日の取扱い

イベント案内 2.0 から、同一イベント内容に対して、複数の時間 枠を指定することが可能になった。この設定には、登録フォームの 「繰り返し開催」で掲載期間の間で開催する間隔を指定する。

終了日時を細かく指定したり、休催日がある場合、一度プレビュー を行うと個別に指定を変更できる。

さらに細かな指定を行いたい場合、一度イベントを登録し「開 催日の編集」画面で設定を行う。

複数掲載日指定に関する注意事項
モジュールの更新
モジュールの複製

eguide 2.4 以降ではモジュールの複製ができる。(残念ながらまだ D3 ではない) 複製は、コマンドラインの補助プログラムを使って行う。 "eguide/duplicate.php" で、eguide モジュールを欲しいだけ複製できる。 (このコマンドは、Unix系のシステムでのみ使える)

これの使い方は以下の通り:

    $ cd modules/eguide
    $ php duplicate.php event ticket class
    Duplicate: event
    Duplicate: ticket
    Duplicate: class
  
変更履歴
2011/09/10 イベント案内モジュール 2.64 リリース
  • 通知メールの登録および解除が機能しない障害を修正
2010/10/10 イベント案内モジュール 2.63 リリース
  • 曜日置換の誤りを修正 (2.63a)
  • メール確認 (email_repeat_check) オプションの追加
  • altsys の言語管理に対応
  • 申し込み集計で計算を誤るケースがあったものを修正
  • redirect_header を絶対パスで出力する (携帯対応の障害対策)
2010/05/16 イベント案内モジュール 2.62 リリース
  • バージョン番号の更新ミスを修正 (2.62a)
  • イベント開催日で月名の地域化を働くようにした
  • モジュール複製時のブロック表示で生じる障害を修正
  • Excel(XML) 出力で件数が増えると読み込めない問題の修正
2010/04/04 イベント案内モジュール 2.61 リリース
  • キャンセル時に申し込みデータを表示する
  • ポルトガル語の言語リソースを追加 (thx leco1)
  • 「ログインによる認証に限定」の選択肢として「両方」をサポート
  • excel(XML) の出力を可変長に変更。従来互換にする場合 "excel_max_rows=40" を指定する。
2010/02/27 イベント案内モジュール 2.6 リリース
  • ブロックオプションに表示形式の選択を追加
  • イベント編集画面の一部をデフォルト非表示に変更
  • 新規イベント通知でタグの定義漏れを修正
  • 「終了イベント」のブロックを追加
  • オプション変数 reply_tpl_suffix の導入
  • redirect 指定をオプション変数扱いに変更
  • help.html に「予約制限プラグイン」の説明文を追加
  • 終了したイベントを表示するブロックを追加
  • dlimitプラグインに予約総数の制限 (max_register_in_future) の追加
  • 予約送信ボタンの表示を確認の有無で変更する
  • {X_NAME}のような形式でユーザ変数の展開を行う
  • オプション変数 module_css でスタイルシートを指定
2009/12/24 イベント案内モジュール 2.56 リリース
  • EVENT_TITLE のメール変数の設定ミスを修正
  • dlimit プラグインの bound_time 対応
  • ブロック表示の bound_time 対応
  • 追加項目オプション enable_copy の追加
2009/12/20 イベント案内モジュール 2.55 リリース
  • 追加項目オプション指定の追加
    • bound_time=01:00 -- 早朝を前日の夜として表示
    • reply_subject=件名表記 -- 応答メール件名定義
    • from_name=名前 -- 応答メール差出人名
  • メール応答件名の書式を変数を含めた形式で再定義
  • メール変数で EVENT_DATE を定義
2009/10/04 イベント案内モジュール 2.54 リリース
  • 時間枠をイベント登録フォームに反映する
  • FCKeditor (use_fckeditor={Basic|Default}) のオプション指定を追加
  • イベント掲載をメールで通知のキャンセルページを修正
  • 追加項目の印刷コメント内のコンマの障害を修正
  • 開始日時の時間入力で "HH:MM" 形式を受け付ける
  • プラグインの指定方法をオプション変数で指定可能にする
  • 複数日指定時の予約再編集の障害を修正
  • ブロックでの説明出力編集の誤りを修正
  • 複数日付編集テンプレートの誤りを修正
2009/05/24 イベント案内モジュール 2.53 リリース
  • XOOPS検索モジュール向けのコンテキスト拡張 (thx tes)
  • ブロックで、説明を変数 (description) に定義
2009/03/09 イベント案内モジュール 2.52 リリース
  • 原因を調べやすくするため「REFERER エラー」を表示
  • 予約の詳細表示を実装 (thx uhouho)
  • 繰り返し開催の指定で日付を誤る障害を修正 (thx uhouho)
2008/10/19 イベント案内モジュール 2.51 リリース
  • {RVID} タグを日本語以外のメールテンプレート (accept.tpl) に追加
  • CSV出力時の文字コード指定オプション (export_charset) を追加
  • altsys 0.6 対応への対応
  • Gigamaster 氏の管理画面の改良を取り込む
  • カテゴリの画像項目が保存されない障害を修正 (thx Gigamaster)
  • 管理画面のイベント受付一括設定の障害を修正 (thx Gigamaster)
  • カテゴリの説明を smarty 変数に割り当てる
2008/07/22 イベント案内モジュール 2.5 リリース
  • 追加項目オプション reply_extension によるメールテンプレートの切り替え機能を追加
  • 追加項目オプションを規定値に反映
  • 一般設定の「人数指定」を「追加項目オプション」に変更
  • カテゴリがない場合、ブロックのカテゴリ選択ボタンを出力しない
  • 管理画面用のデータなし表示リソースを追加
  • モジュール複製時の利用テンプレートの誤りを修正
2008/02/16 イベント案内モジュール 2.42 リリース
  • checkbox 項目の不具合を修正
  • 追加項目の入力ヘルパを追加 (JavaScript)
  • 管理メニューのリンクの不具合を修正
2008/02/11 イベント案内モジュール 2.41 リリース
  • pico と競合する障害を修正
2008/02/05 イベント案内モジュール 2.4 リリース
  • カテゴリの強化 (2階層, 並び順, 読み込み, ブロック)
  • JavaScript 検査障害を修正
  • 確認画面をデフォルトで有効に変更
  • モジュールの複製機能を追加
  • excel 用テンプレートから漢字コードを取り除く
  • 新しい altsys (0.5以降) の機能を使う
  • 言語リソースの整理 (main/common の分離)
  • 言語リソース spanish の追加 (thx Gerardo)
2007/12/31 イベント案内モジュール 2.31 リリース
  • text フィールドのクオート (') 処理バグを修正
  • const タイプの追加
  • リダイレクト引数に ID 変数を指定できるようにした
  • cat=1,2,3 のような複数カテゴリを指定可能にした
  • JavaScript の未定義参照を修正 (thx souhalt)
  • エラー時のレンダリングミスを修正 (thx souhalt)
  • 確認メールの送信ステータスは申し込み者以外無視する
  • altsys があれば利用する
  • 予約データの形式変更 (text シリアライズ仕様)
  • 開始時間と実時間の影響で開催日編集ができなくなる問題の修正 (thx Jens)
  • パンくずリスト (xoops_breadcrumbs) を定義
2007/03/03 イベント案内モジュール 2.3 リリース
  • 通知に投稿者自身を含める設定を追加
  • 掲載イベントに変更があった場合に管理者と担当者に通知する
  • 管理者グループへの予約メールを管理者メール設定を従うように修正
  • 登録者へのメール通知での障害を修正
2006/11/30 イベント案内モジュール 2.24 リリース
  • PHP5/MySQL5で生じる不具合の修正 (mylist.php の不具合など)
  • checkbox/radio の複雑な値で生じる障害の修正
  • tchinese リソースの改定 (thanks jax)
  • 追加項目で checkbox/radio の値が設定された場合、項目間の空白を抑制する
2006/10/14 イベント案内モジュール 2.23 リリース
  • 言語リソース (japanese/german/tchinese) 月名の間違いを修正
2006/10/14 イベント案内モジュール 2.21 リリース
  • 言語リソースの小修正
  • 中国語 (tchinese) リソースの追加 (twpug.net の jimmy9522 による)
  • イベントの集計 CSV 出力のユーザ名の誤りを修正
2006/08/29 イベント案内モジュール 2.2 リリース
  • CSV 形式で出力されるユーザ名を単純な形式にする
  • ブロックにカテゴリ絞り込みを追加
  • イベント案内ブロックに予約状況マークを追加表示
  • 新着ブロックには直近の複数日開催も表示する
  • テンプレート: 予約受付がないとき「予約はこちら」を出さない
  • ドイツ語のリソース追加 (Jens Havelberg 氏より)
2006/08/17 イベント案内モジュール 2.1 リリース
  • 申し込み後のリダイレクト先指定を追加
  • 追加項目のエスケープ処理を改善とprop= 属性の拡張 (Craig Taylorより)
  • テンプレート: 予約受付がない場合の〆切時間を表示しない
2006/08/13 イベント案内モジュール 2.01 リリース
  • ログインユーザのキャンセルに失敗する障害を修正
2006/08/03 イベント案内モジュール 2.0 リリース

2.0以前の変更履歴

安富 伸浩 <nobuhiro.yasutomi@nifty.ne.jp>
マイサイト ユーザーズ http://myht.org/
$Id: help.html,v 1.12 2011-09-10 02:45:21 nobu Exp $