1

Kronolithカレンダー ビューで外部ソースからのイベントを表示したいと考えています。イベントを iCal にエクスポートしてから外部カレンダーとして表示することで、これを行いたくありません。イベントは複数のカレンダーにグループ化されており、ユーザーはこれらのカレンダーを無効/有効にする必要があります。

4

1 に答える 1

0

listTimeObjectsこれを行うには、およびlistTimeObjectCategoriesAPI呼び出しを実装します。Nag(タスクリスト)とWhups(チケット追跡)はこの方法でそれを行います。Gitバージョンを使用している場合は、TimeObjectsを使用できます。これにより、すべてが適切なクラスにまとめられます。

Kronolithは、これらの関数をinitialize()(入力時に$all_external_calendars)およびで呼び出しますlistEvents()。すべてのAPIでこの関数を検索するため、独自のプレフィックスを使用して登録できます。

timeObjectは、イベント、タスクの期日など、「カレンダーに表示できるもの」の総称です。timeObjectCategoryは、ユーザーがグループ内で有効または無効にできるtimeObjectのグループです。(デフォルトのレイアウトでは、カレンダービューの右上隅にあるパネル「カレンダー」を使用します。)

の実装でlistTimeObjectCategoriesは、カテゴリIDをキーとして、ユーザーに表示される名前を値として持つ配列を返す必要があります。カテゴリIDもカレンダーの下部に表示され、ユーザーはそれらの色を定義できます。

listTimeObjects現在選択されているカテゴリ(IDの配列)、および開始日と終了日で呼び出されます。これらの日付はすでにHorde_Dateオブジェクトである可能性があります(確かに、それらを再度変換します:) $start = new Horde_Date($start)

これらのカテゴリに属し、指定された時間範囲に含まれるtimeObjectsの配列を返す必要があります。キーはイベントIDであり、値は次のキーの値を持つ配列です。

  • id
  • title
  • description
  • startHorde_Dateまたはタイムスタンプ)
  • endHorde_Dateまたはタイムスタンプ)
  • category(カテゴリID)
  • params

showAPI呼び出しを登録すると、これはtimeObject詳細へのリンクを作成するために使用されます。

于 2009-11-27T11:28:20.750 に答える