### XOOPS 新着情報 モジュール

### プラグインの仕様

#### 基本方針

XOOPSコアの検索（search）と同じような仕組みを採用しています。
検索では、xoops_version.php にて、
下記のように検索するか否かとファイル名と関数名を指定します。

$modversion['hasSearch'] = 1; $modversion['search']['file'] = "include/search.inc.php"; $modversion['search']['func'] = "new_search";

このモジュールでは、ファイル名と関数名は固定としています。

#### 設置場所

下記のいづれかにプラグインのファイルを設置します。
両方に設置された場合は、モジュール側が優先して使用されます。
(1) モジュール
モジュールのディレクトリ/include/
(2) WhatsNew
whatsnew/plugins/モジュールのディレクトリ名/
１つのモジュールに対して複数のプラグインを設置することも出来ます。
プラグイン管理を参照のこと。

### プラグイン本体

#### ファイル名と関数名

ファイル名は、"dada.inc.php" です。
関数名は、「モジュールのディレクトリ名＋_new」です。
たとえば、news モジュールでは、"news_new" となります。

#### 呼出し形式

関数名（$limit, $offset）
$limit 新着記事の上限数
$offset 新着記事の時刻順のオフセット値

#### 戻り値

配列[一連番号]［項目］

#### 項目の説明

項目 | 意味 | 新着記事 | RSS/RDF | ATOM
title | タイトル | ◎ | ◎ | ◎
link | URL | ◎ | ◎ | ◎
time | 時刻 | ◎ | ◎ | ◎
modified | 更新時刻 | − | − | ◎（注１）
issued | 発行時刻 | − | − | ◎（注１）
created | 作成時刻 | − | − | −（注１）
description | 内容 （注２） | ○ | ○ | ○
cat_name | カテゴリ名 | ○ | − | −
cat_link | カテゴリのURL | ○ | − | −
uid | ユーザID | ○ | − | ◎（注３）
hits | ヒット数 | ○ | − | −
replies | 返信数 | ○ | − | −
image | 画像のURL | ○（注４） | − | −
width | 画像の横幅 | ○（注４） | − | −
height | 画像の高さ | ○（注４） | − | −
id | 記事番号 | − | − | ◎（注５）
pda | PDA用のURL（注６） | − | − | −

◎：必須、○：任意、−：不要

#### 注１：

時刻の項目は４つある。
全てUNIX時間とする。2038年問題はひとまず無視する。
「time」 は必須である。
「modified」 と 「issued」 はATOM用のオプションです。
ATOMでは更新時刻（updated modified タグ）と発行時刻（published issued タグ）が必須である。
ATOMでは更新時刻（updated modified タグ）と発行時刻（published issued タグ）が必須である。
設定されていないときは、「time」 で代用する。
ATOMでは作成時刻（createdタグ）が任意である。
ATOM 1.0 にてタグの名称が変更された

#### 注２：

「description」 にはHTMLタグが使用できる。
レンダリング済みのHTML文あるいはテキスト文を設定する。
新着記事では、
「要約の文字数」以下であれば、そのまま表示するか、HTMLタグを削除して表示する。
「要約の文字数」以上であれば、指定された文字数に丸めて、要約を表示する。
RSSでは、HTMLタグを削除して、要約を表示する。
ATOMでは、内容（contentタグ）には、そのまま表示する。
要約（summaryタグ）には、HTMLタグを削除して、要約を表示する。

#### 注３：

新着記事では、「uid」より、ログイン名を取得して、表示する。
ATOMでは作者名（nameタグ）が必須である。
ログイン名を作者名として使用する。
ATOMでは作者のURL（urlタグ）と作者の電子メール（emailタグ）が任意である。
本モジュールでは、個人情報保護の観点から、使用していない。
執筆者名を明示しているモジュールのみ使用するのが望ましい。

#### 注４：

「image」にはURLを設定する。
「画像のサイズ」以上であれば、縮小して表示する。
「width」と「height」が設定されていない場合は、「画像のサイズ」で表示する。

#### 注５：

ATOMではユニークな記事番号（idタグ）が必須である。
XOOPS全体の記事番号を、モジュール番号と記事番号「id」より生成する。
「id」が設定されていないときは、一時的な番号で代用する。

#### 注６：

whatnew/pda.php として PDA 用にシンプルな形式の新着情報を表示している。
記事のURLに、「pda」があればそれを表示し、なければ「link」を表示する。
「pda」には、モジュールの print.php が代用されることが多い。

### プラグイン管理

１つのモジュールに対して複数のプラグインを設置する場合は、
管理者がプラグインを選択するための情報を提示するファイルを設置すること。

#### ファイル名と関数名

ファイル名は、"version.php" です。
関数名は、「モジュールのディレクトリ名＋_new_version」です。
たとえば、newbb モジュールでは、"newbb_new_version" となります。

#### 呼出し形式

関数名（）
引数はなし

#### 戻り値

配列[一連番号]［項目］

#### 項目の説明

項目 | 意味
version | モジュールあるいはプラグインのバージョン
file | プラグインのファイル名（任意の名称）
description | プラグインの説明

$Id: plugin_spec.html,v 1.4 2006/06/29 02:47:02 ohwada Exp $
index へ戻る