OSDN Git Service

翻訳・修正・追加
authorshizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Wed, 4 Feb 2009 16:20:15 +0000 (16:20 +0000)
committershizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Wed, 4 Feb 2009 16:20:15 +0000 (16:20 +0000)
git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/nucleus-jp/trunk@900 1ca29b6e-896d-4ea0-84a5-967f57386b96

15 files changed:
utf8/nucleus/documentation/devdocs/custominstall.html
utf8/nucleus/documentation/devdocs/index.html
utf8/nucleus/documentation/devdocs/plugins.html
utf8/nucleus/documentation/devdocs/sqltables.html
utf8/nucleus/documentation/devdocs/styles/background.png [new file with mode: 0644]
utf8/nucleus/documentation/devdocs/styles/bullet.gif [new file with mode: 0644]
utf8/nucleus/documentation/devdocs/styles/manual.css
utf8/nucleus/documentation/devdocs/xmlrpc.html
utf8/nucleus/documentation/history.html
utf8/nucleus/documentation/index.html
utf8/nucleus/documentation/skins.html
utf8/nucleus/documentation/styles/background.png [new file with mode: 0644]
utf8/nucleus/documentation/styles/bullet.gif [new file with mode: 0644]
utf8/nucleus/documentation/styles/manual.css
utf8/nucleus/documentation/tips.html

index ee8316d..6ec811a 100755 (executable)
@@ -1,67 +1,72 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">
-<head>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">\r
+<head>\r
        <!-- $Id: custominstall.html,v 1.6 2006-07-17 20:02:50 kimitake Exp $ -->
        <!-- $NucleusJP: custominstall.html,v 1.5 2006/07/12 07:11:46 kimitake Exp $ -->
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>Nucleus - インストールスクリプトのカスタマイズ</title>
-       <link rel="stylesheet" type="text/css" href="styles/manual.css" />
-</head>
-<body>
-
-<div class="heading">
-インストールスクリプトのカスタマイズ
-</div>
-
-<p class="note">注:この機能はバージョン2.2以降のものです。</p>
-
-<h1>イントロダクション</h1>
-
-<p>
-<a href="index.html">開発者向けドキュメントの目次へ戻る</a>
-</p>
-
-<p>このドキュメントにはNucleusのインストール・スクリプトをどのようにカスタムするかという情報が書かれています。二つの方法でカスタマイズが可能です:</p>
-
-<ol>
-       <li>スキンの自動インストール</li>
-       <li>プラグインの自動インストール</li>
-</ol>
-
-<h1>設定</h1>
-
-<p><code>install.php</code>をエディタで開き、次のコードを探してください:</p>
-
-<pre><code>    // array with names of plugins to install. Plugin files must be present in the nucleus/plugin/
-    // directory.
-    //
-    // example:
-    //     array('NP_TrackBack', 'NP_MemberGoodies')
-    $aConfPlugsToInstall = array();
-
-
-    // array with skins to install. skins must be present under the skins/ directory with
-    // a subdirectory having the same name that contains a skinbackup.xml file
-    //
-    // example:
-    //     array('base','rsd')
-    $aConfSkinsToImport = array();</code></pre>
-
-<p>やるべき事はこのコードを変更するだけです:自動インストールしたいプラグインとスキンの名前を、例のような配列リストにしてください。</p>
-
-<h1>ファイルの取り込み</h1>
-
-<p>設定を変更した次は、ディストリビューションにファイルを追加する必要があります。</p>
-
-<h2>プラグインとスキン</h2>
-
-<p>プラグインは、<code>nucleus/plugins/</code>ディレクトリにファイルをおいてください。プラグインを手動でインストールする場合にするのと全く同じです。</p>
-
-<p>スキンは、手動でインポートする時と同様に、<code>skins/</code>直下にディレクトリをおいてください。<code>skinbackup.xml</code>をそこに入れておくことをお忘れ無く。</p>
-
-<h1>忘れてはいけないこと</h1>
-
-<p>再配布する前に、カスタマイズされたインストールスクリプトをテストすることを忘れないでください。</p>
-
-</body>
+       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+    <link rel="index" href="./index.html" />\r
+       <title>Nucleus - インストールスクリプトのカスタマイズ</title>\r
+       <link rel="stylesheet" type="text/css" href="styles/manual.css" />\r
+</head>\r
+<body>\r
+<div id="body">\r
+\r
+<div class="heading">\r
+インストールスクリプトのカスタマイズ\r
+</div>\r
+\r
+<p class="note">注:この機能はバージョン2.2以降のものです。</p>\r
+\r
+<h1>イントロダクション</h1>\r
+\r
+<p>\r
+<a href="index.html">開発者向けドキュメントの目次へ戻る</a>\r
+</p>\r
+\r
+<p>このドキュメントにはNucleusのインストール・スクリプトをどのようにカスタムするかという情報が書かれています。二つの方法でカスタマイズが可能です:</p>\r
+\r
+<ol>\r
+       <li>スキンの自動インストール</li>\r
+       <li>プラグインの自動インストール</li>\r
+</ol>\r
+\r
+<h1>設定</h1>\r
+\r
+<p><code>install.php</code>をエディタで開き、次のコードを探してください:</p>\r
+\r
+<pre><code>    // array with names of plugins to install. Plugin files must be present in the nucleus/plugin/\r
+    // directory.\r
+    //\r
+    // example:\r
+    //     array('NP_TrackBack', 'NP_MemberGoodies')\r
+    $aConfPlugsToInstall = array();\r
+\r
+\r
+    // array with skins to install. skins must be present under the skins/ directory with\r
+    // a subdirectory having the same name that contains a skinbackup.xml file\r
+    //\r
+    // example:\r
+    //     array('base','rsd')\r
+    $aConfSkinsToImport = array();</code></pre>\r
+\r
+<p>やるべき事はこのコードを変更するだけです:自動インストールしたいプラグインとスキンの名前を、例のような配列リストにしてください。</p>\r
+\r
+<h1>ファイルの取り込み</h1>\r
+\r
+<p>設定を変更した次は、ディストリビューションにファイルを追加する必要があります。</p>\r
+\r
+<h2>プラグインとスキン</h2>\r
+\r
+<p>プラグインは、<code>nucleus/plugins/</code>ディレクトリにファイルをおいてください。プラグインを手動でインストールする場合にするのと全く同じです。</p>\r
+\r
+<p>スキンは、手動でインポートする時と同様に、<code>skins/</code>直下にディレクトリをおいてください。<code>skinbackup.xml</code>をそこに入れておくことをお忘れ無く。</p>\r
+\r
+<h1>忘れてはいけないこと</h1>\r
+\r
+<p>再配布する前に、カスタマイズされたインストールスクリプトをテストすることを忘れないでください。</p>\r
+\r
+</div>\r
+\r
+</body>\r
 </html>
\ No newline at end of file
index 1e6168f..340eacc 100755 (executable)
@@ -1,33 +1,48 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">
-<head>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">\r
+<head>\r
        <!-- $Id: index.html,v 1.6 2006-07-17 20:02:50 kimitake Exp $ -->
        <!-- $NucleusJP: index.html,v 1.5 2006/07/12 07:11:46 kimitake Exp $ -->
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>Nucleus - 開発者用ドキュメント</title>
-       <link rel="stylesheet" type="text/css" href="styles/manual.css" />
-</head>
-<body>
-
-<div class="heading">
-開発者マニュアル
-<i>2003年8月12日</i>
-</div>
-
-<h1>はじめに</h1>
-
-<p>
-このマニュアルにはNucleusの開発者だけに向けた情報が記載されています。
-</p>
-
-<h1>目次</h1>
-
-<ul>
-       <li><a href="xmlrpc.html">XML-RPC インターフェース</a></li>
-       <li><a href="plugins.html">Nucleus プラグイン API</a></li>
-       <li><a href="custominstall.html">インストールスクリプトのカスタマイズ</a></li>        
-       <li><a href="sqltables.html">データベースの構造</a></li>
-</ul>
-
-</body>
+       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+    <meta http-equiv="Content-Style-Type" content="text/css" />\r
+    <meta http-equiv="Content-Script-Type" content="text/javascript" />\r
+    <link rel="index" href="./index.html" />\r
+       <title>Nucleus - 開発者用ドキュメント</title>\r
+       <link rel="stylesheet" type="text/css" href="styles/manual.css" />\r
+    <style type="text/css">\r
+        strong {\r
+            font-weight: bold;\r
+        }\r
+        em {\r
+            font-style: italic;\r
+        }\r
+    </style>\r
+</head>\r
+<body>\r
+<div id="body">\r
+\r
+<div class="heading">\r
+開発者マニュアル\r
+<em>2008年9月5日</em>\r
+</div>\r
+\r
+<h1>はじめに</h1>\r
+\r
+<p>\r
+このマニュアルにはNucleusの開発者に向けた情報が記載されています。\r
+</p>\r
+\r
+<h1>目次</h1>\r
+\r
+<ul>\r
+       <li><a href="xmlrpc.html">XML-RPC インターフェース</a></li>\r
+       <li><a href="plugins.html">Nucleus プラグイン API</a></li>\r
+       <li><a href="custominstall.html">インストールスクリプトのカスタマイズ</a></li>        \r
+       <li><a href="sqltables.html">データベースの構造</a></li>\r
+</ul>\r
+\r
+</div>\r
+\r
+</body>\r
 </html>
\ No newline at end of file
index 5acaa52..09ca533 100755 (executable)
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">
-<head>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">\r
+<head>\r
        <!-- $Id: plugins.html,v 1.10 2007-04-25 19:51:32 andy Exp $ -->
        <!-- $NucleusJP: plugins.html,v 1.9 2007/02/04 06:28:45 kimitake Exp $ -->
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>Nucleus - プラグイン API</title>
-       <link rel="stylesheet" type="text/css" href="styles/manual.css" />
-       <style type="text/css">
-               /* refence parameters (greenish) */
-               .ref {
-                       background-color: #afa;
-                       color: #000;
-               }
-
-               /* object parameters */
-               .obj {
-                       color: #00f;
-               }
-               .obj:after {
-                       content: " (object)";
-               }
-
-               /* read-only parameters (non-ref; reddish) */
-               .ro {
-                       background-color: #faa;
-                       color: #000;
-               }
-       </style>
-</head>
-<body>
-
-<p class="heading">&nbsp;</p>
-<div class="heading">
-プラグイン API
-<i>2007年3月26日</i>
-</div>
-
-<div class="note-trans"><strong>訳者注:</strong> 
-       <ul>
-               <li>このドキュメントの原文は以下のURLにあります。<br />
-                <a href="http://nucleuscms.org/documentation/devdocs/plugins.html">http://nucleuscms.org/documentation/devdocs/plugins.html</a></li>
-           <li>誤訳にお気づきの方は<a href="http://japan.nucleuscms.org/bb/viewforum.php?f=7">こちら</a>へご連絡いただけると助かります。</li>
-       </ul>
-</div>
-
-<div class="note"><strong>注:</strong> 
-       <ul>
-               <li>このドキュメントは基本的なプラグインの書き方についての情報を提供しています。さらに質問がある方は <a href="http://forum.nucleuscms.org/viewforum.php?f=10">Plugin
-         Development Forum</a> (<a href="http://japan.nucleuscms.org/bb/viewforum.php?f=5">日本語フォーラム</a>)をご覧ください。</li>
-               <li>Nucleusバージョン1.5以降に導入されたメソッドとイベントには、導入時のバージョン情報を付記しています。それらの機能を利用するときは、<code>getMinNucleusVersion</code> を適切に設定するのを忘れないでください。</li>
-       </ul>
-</div>
-
-<h1>はじめに</h1>
-
-<p>
-<a href="./index.html">開発者向けドキュメントの目次へ戻る</a>
-</p>
-
-<p>
-このドキュメントはNucleusプラグインの作り方についての解説です。 
-</p>
-
-<h1><a name="toc"></a><a name="top"></a>目次</h1>
-
-<ul>
-       <li><a href="#introduction">イントロダクション</a></li>
-       <li><a href="#firstplug">はじめてプラグインを書いてみる</a></li>
-       <li><a href="#nucleusplugin"><code>NucleusPlugin</code> クラスの概要</a></li>
-       <li><a href="#skinvars"><code>&lt;%plugin(...)%&gt;</code> スキン変数</a></li>
-       <li><a href="#templatevars"><code>&lt;%plugin(...)%&gt;</code> テンプレート変数</a></li>        
-       <li><a href="#actions"><code>action.php</code> を使ったアクション</a></li>
-       <li><a href="#events">イベントとイベント登録の仕方</a></li>
-       <li><a href="#options">オプションを保存する</a></li>
-       <li><a href="#tables">データベース・テーブル</a></li>
-       <li><a href="#admin">プラグイン管理エリアの提供</a></li>
-       <li><a href="#help">ヘルプページの提供</a></li>
-       <li><a href="#dependency">プラグイン依存チェック</a></li>
-<!--   <li><a href="#parser">Using the <code>PARSER</code> class</a></li>
-       <li><a href="#"></a></li>
-       <li><a href="#"></a></li>
-       <li><a href="#"></a></li>
-       <li><a href="#"></a></li>-->
-</ul>
-
-<h1>イントロダクション <a name="introduction" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>
-Nucleusプラグインによって、誰もがNucleusの提供する機能を、Nucleus内部のPHPコードを変更することなく拡張することができます。プラグインはあるメソッドを実装したシンプルなPHPスクリプトで、Nucleusユーザー同士で簡単に交換することができます。インストールは簡単で、プラグインディレクトリにファイルをアップし、Nucleusにそれを認識させるだけです。
-</p>
-
-<p>
-プラグインの利点は以下のとおりです。</p>
-
-<ul>
-       <li>実装について詳しくしらなくてもNucleusフレームワークに簡単に機能を追加できる</li>
-       <li>必要なプラグインだけをインストールでき、ページ生成にかかる時間を節約できる</li>
-</ul>
-
-<p>
-すべてのプラグインファイルは <code>config.php</code> に記述されたディレクトリに置く必要があります。一般的に、それは <code>/your/path/nucleus/plugins/</code>  になるでしょう。プラグインファイル名は <code>NP<i>_name</i>.php</code> という形式を用いることにより認識されます。プラグインによっては、追加ファイルを格納する同名のサブディレクトリや、管理エリアを必要とします。</p>
-
-<div class="note">
-<b>注:</b> プラグイン名は大文字・小文字を識別しますので、<code>Np_</code> や <code>np_</code> ではなく、<code>NP_</code> で始まることに気をつけてください。またプラグインがサブディレクトリを使用する場合は、サブディレクトリの名称は<em>すべて小文字にします</em>。</div>
-
-
-
-
-<h1>はじめてプラグインを書いてみる<a name="firstplug" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>
-では、シンプルなプラグインを書いてみましょう。基本的にプラグインは、あらかじめ定義された <code>NucleusPlugin</code> クラスを継承したPHPクラスです。以下は<code>HelloWorld</code>プラグインの例です。</p>
-
-<pre class="example"><code>&lt;?php
-
-class NP_HelloWorld extends NucleusPlugin
-{
-       // プラグインの名前
-       function getName()
-       {
-               return 'Hello World';
-       }
-
-       // プラグインの作者
-       function getAuthor()
-       {
-               return 'Wouter Demuynck';
-       }
-
-       // プラグインのサイトURL
-       // mailto:foo@bar.com の形式も可
-       function getURL()
-       {
-               return 'http://nucleuscms.org/';
-       }
-
-       // プラグインのバージョン
-       function getVersion()
-       {
-               return '1.0';
-       }
-
-       // インストール済みのプラグインリストに表示される説明文
-       function getDescription()
-       {
-               return 'Just a sample plugin.';
-       }
-
-       function doSkinVar($skinType)
-       {
-               echo 'Hello World!';
-       }
-
-       function supportsFeature ($what)
-       {
-               switch ($what)
-               {
-                       case 'SqlTablePrefix':
-                               return 1;
-                       default:
-                               return 0;
-               }
-       }
-
-}
-?&gt;</code></pre>
-
-<ol>
-       <li>
-               このコードをコピーし、 <code>NP_HelloWorld.php</code> と名づけて保存し、プラグインディレクトリに置きます。<em>最後の <code>?&gt;</code> の後や、最初の <code>&lt;?</code> の前にスペースがないことを確認しましょう</em>。ところでNP は &quot;Nucleus Plugin&quot; って意味ですよ :-) 念のため。
-       </li>
-       <li>Nucleusの管理画面を開き、<em>Nucleusの管理>プラグインの管理</em>にいきます。</li>
-       <li><em>HelloWorld</em> プラグインがインストール可能な状態になっているはずですので、インストールします。すべてがうまくいけば、インストール済みプラグインリストに追加されます。</li>
-       <li>あなたのスキンの1つを編集し、実際のページに表示する箇所に次の文を挿入します。
-         <pre class="example"><code>&lt;%HelloWorld%&gt;</code></pre>
-       注意:カッコ内の名称 (<code>HelloWorld</code>) は大文字小文字を識別します!</li>
-       <li>さて、編集したスキンから生成されるページを見てみましょう。プラグイン変数を追加した場所に &quot;Hello
-  World&quot; と見えますね?</li>
-</ol>
-
-<p>ここまではそれほど難しくなかったと思います。さらに読み進めて理解してください。</p>
-
-
-<h1>NucleusPlugin クラスの概要 <a name="nucleusplugin" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>すべてのプラグインは、<code>NucleusPlugin</code> というPHPクラスを継承しなければなりません。難しそうに聞こえても心配ご無用、大丈夫です。このPHPクラスの継承によって、プラグインに必要なメソッドだけを実装でき、いくつかの補助ファンクションにアクセスでき、つまりはあなたの人生はよりラクになります。</p>
-
-<p>下記は <code>NucleusPlugin</code> が提供する、再実装可能なメソッドの概要です。このクラス自身のソースコードを見たければ、<code>nucleus/libs/PLUGIN.php</code>にあります。</p>
-
-<table summary="An overview of the redefinable methods in the class NucleusPlugin">
-       <caption>
-       <code>NucleusPlugin</code> クラスの概要(再定義可能なメソッド)
-       </caption>
-       <tr>
-               <th>メソッド名</th><th>説明</th>
-       </tr>
-       <tr>
-               <td><code>getName()</code></td>
-               <td>プラグイン名を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では <code>Undefined</code> を返すため、必ず再定義されないといけません。</td>           
-       </tr>
-       <tr>
-               <td><code>getAuthor()</code></td>
-               <td>プラグインの作者名を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では <code>Undefined</code> を返すため、必ず再定義されないといけません。</td>          
-       </tr>
-       <tr>
-               <td><code>getURL()</code></td>
-               <td>プラグインをダウンロード可能な、またはプラグインの追加情報のあるサイトのURLを返します。そのようなサイトがない場合は作者のメールアドレスへの mailto:リンクが適切です。デフォルトの実装では <code>Undefined</code> を返すため、必ず再定義されないといけません。</td>             
-       </tr>
-       <tr>
-               <td><code>getDescription()</code></td>
-               <td>プラグインに関する説明文(長文)を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では <code>Undefined</code> を返します。</td>             
-       </tr>
-       <tr>
-               <td><code>getVersion()</code></td>
-               <td>プラグインの現在のバージョンを返します。デフォルトは <code>0.0</code> を返します。</td>             
-       </tr>
-       <tr>
-               <td><code>getMinNucleusVersion()</code></td>
-               <td>(v2.0b) 最低限必要なNucleusのバージョンを返します。デフォルトは <code>155</code> (v1.55)を返します。後に導入されたプラグイン関連機能を利用している場合は、このファンクションを実装するようお願いします(例: v2.0 => 200)。ただし、Nucleus v1.55 はこのファンクションを使用しないため、新機能を利用したプラグインが(対応する前のシステムに)インストールされる可能性が残っています。</td>
-       </tr>
-       <tr>
-               <td><code>getMinNucleusPatchLevel()</code></td>
-               <td>(v3.1) 最低限必要なNucleusのバージョン(<code>getMinNucleusVersion</code>)での、最低限必要なパッチレベルを返します。デフォルトは <code>0</code> を返します。このファンクションは主に新しいプラグインの機能がNucleusの最新版のパッチによって可能になる場合に用いられます。</td>
-       </tr>
-       <tr>
-               <td><code>init()</code></td>
-               <td>プラグインを初期化します。このメソッドはプラグインオブジェクトが生成された直後に呼び出され、<code>plugid</code>属性がセットされます。デフォルトではこのメソッドは何もしません。</td>
-       </tr>
-       <tr>
-               <td><code>doSkinVar($skinType)</code></td>
-               <td><code>&lt;%plugin(...)%&gt;</code> スキン変数によってプラグインが呼び出されたときにこのメソッドが呼ばれます。<code>$skinType</code> パラメータはプラグインが呼ばれた場所のスキンタイプに該当します(<code>item</code>,
-      <code>archive</code>, ...)。パラメータが一つしかないことに混乱しないでください。複数パラメータを渡すことも<strong>可能</strong>です。<a href="#skinvars"><code>doSkinVar</code> メソッドの実装に関する詳細情報はこちら</a>。デフォルトではこのメソッドはなにも出力しません。</td>             
-       </tr>
-       <tr>
-               <td><code>doTemplateVar(&amp;$item)</code></td>
-               <td>基本的に <code>doSkinVar</code> と同じですが、今度は<em>テンプレート</em>内(<code>item
-                   header/body/footer</code> と <code>dateheader/footer</code>)での<code>&lt;%plugin(...)%&gt;</code> 変数からの呼び出しになります。デフォルトではこのメソッドはテンプレートをスキンタイプとみなして
-      <code>doSkinVar</code> メソッドに処理を渡します。<a href="#templatevars"><code>doTemplateVar</code> メソッドの実装に関する詳細情報はこちら</a></td>              
-       </tr>
-       <tr>
-               <td><code>doTemplateCommentsVar(&amp;$item, &amp;$comment)</code></td>
-               <td>(v2.0b) 基本的に <code>doSkinVar</code> と同じですが、今度は<em>テンプレート</em>内(コメント部分)での<code>&lt;%plugin(...)%&gt;</code> 変数からの呼び出しになります。デフォルトではこのメソッドはテンプレートをスキンタイプとみなして
-      <code>doSkinVar</code> メソッドに処理を渡します。<a href="#templatevars"><code>doTemplateCommentsVar</code> 
-      メソッドの実装に関する詳細情報はこちら</a></td>               
-       </tr>   
-       <tr>
-               <td><code>doAction($type)</code></td>
-               <td>プラグインがユーザーインタラクションを求めたとき、 <code>action.php</code>を介してこのメソッドがそれを与えます。.
-                 これはNucleus自身が新しいコメントや投票を処理するのに使用するスクリプトです。正しいパラメータを用いることで、プラグインからの
-                 <code>doAction</code> メソッドを呼び出せます。<code>$type</code> はオプションのメッセージタイプに該当します。<code>doAction</code> メソッド内で、リクエストからの追加の変数にアクセスできます。デフォルトではこのメソッドがエラーメッセージをトリガーすると<code>'No
-         Such Action'</code>という文字列を返します。<a href="#actions"><code>doAction</code> に関する詳細情報はこちら</a></td>         
-       </tr>
-       <tr>
-               <td><code>install()</code></td>
-               <td>このメソッドはプラグインがインストールされた際に呼ばれます。データベース・テーブルの生成やプラグインオプションの生成などの初期化作業を行うことができます。デフォルトではこのメソッドは何もしません。</td>
-       </tr>
-       <tr>
-               <td><code>unInstall()</code></td>
-               <td>プラグインがアンインストールされた際に呼ばれます。この時点でデータベースに作られたプラグイン情報を消去すると良いです。デフォルトではこのメソッドは何もしません。</td>
-       </tr>
-       <tr>
-               <td><code>getEventList()</code></td>
-               <td>プラグインはイベント登録が可能です。イベントはNucleusが何かアクションを起こすたびに生成されます。たとえば、<code>AddItem</code> イベントは、このイベントを登録しているすべてのプラグインを呼び出します。呼び出されるメソッドは <code>event_AddItem($params)</code>になります。 <code>$params</code> パラメータは、例えば <code>AddItem</code>        の <code>itemid</code> のような、情報フィールドを複数持つ連想配列です。デフォルトではどのイベントにも登録されていないことを示す空の配列を返します。<a href="#events">イベントに関する詳細情報
-         はこちら</a></td>         
-       </tr>
-       <tr>
-               <td><code>getTableList()</code></td>
-               <td>このメソッドはプラグインが生成したデータベース・テーブルの配列を返します。これはNucleusが提供するバックアップ機能で利用されるので、プラグインテーブルをバックアップに含めることができます。デフォルトでは空の配列を返します。</td>
-       </tr>
-       <tr>
-               <td><code>hasAdminArea()</code></td>
-               <td>プラグインが独自の管理エリアをもつ場合 1 を、そうでない場合 0 を返します。デフォルトでは <code>0</code> を返します。</td>
-       </tr>
-       <tr>
-               <td><code>getPluginDep()</code></td>
-               <td>(v3.2) プラグイン名の配列を返します。Nucleusはこれらのプラグインが前もってインストールされてない場合、プラグインのインストールを拒否します。デフォルトでは空の配列が返されます。<a href="#dependency">プラグイン依存に関する詳細情報はこちら</a></td>
-       </tr>
-</table>
-
-<p>実装可能なメソッドの次は、<code>NucleusPlugin</code> クラスが提供する、再実装<strong>すべきでない</strong>幾つかの特殊メソッドです。これらはプラグイン内で、<code>$this-&gt;functionName()</code>シンタックスを利用して呼び出します。</p>
-
-<table summary="An overview of the auxiliary methods in the class NucleusPlugin. You should NOT redefine these">
-       <caption>
-       <code>NucleusPlugin</code> クラスの概要(再定義不可能なメソッド)
-       </caption>
-       <tr>
-               <th>メソッド名</th>
-               <th>説明</th>
-       </tr>
-       <tr>
-               <td>
-                       <code>createOption(...)</code>
-                       <br /><code>createBlogOption(...)</code>(v2.2)
-                       <br /><code>createCategoryOption(...)</code>(v2.2)
-                       <br /><code>createMemberOption(...)</code>(v2.2)
-                       <br /><code>createItemOption(...)</code>(v3.2)
-               </td>
-               <td><a href="#options" title="More info on options">新しいオプションを生成します。</a></td>              
-       </tr>
-       <tr>
-               <td>
-                       <code>deleteOption(...)</code>
-                       <br /><code>deleteBlogOption(...)</code>(v2.2)
-                       <br /><code>deleteCategoryOption(...)</code>(v2.2)
-                       <br /><code>deleteMemberOption(...)</code>(v2.2)
-                       <br /><code>deleteItemOption(...)</code>(v3.2)
-               </td>
-               <td><a href="#options" title="More info on options">オプションを削除します。</a></td>               
-       </tr>
-       <tr>
-               <td>
-                       <code>setOption(...)</code>
-                       <br /><code>setBlogOption(...)</code>(v2.2)
-                       <br /><code>setCategoryOption(...)</code>(v2.2)
-                       <br /><code>setMemberOption(...)</code>(v2.2)                         
-                       <br /><code>setItemOption(...)</code>(v3.2)
-               </td>
-               <td><a href="#options" title="More info on options">オプションに値をセットします。</a></td>              
-       </tr>
-       <tr>
-               <td>
-                       <code>getOption(...)</code>
-                       <br /><code>getBlogOption(...)</code>(v2.2)
-                       <br /><code>getCategoryOption(...)</code>(v2.2)
-                       <br /><code>getMemberOption(...)</code>(v2.2)                          
-                       <br /><code>getItemOption(...)</code>(v3.2)
-               </td>
-               <td><a href="#options" title="More info on options">オプションの値を取得します。</a></td>         
-       </tr>
-       <tr>
-               <td>
-                       <code>getAllBlogOptions(...)</code>(v2.2)
-                       <br /><code>getAllCategoryOptions(...)</code>(v2.2)
-                       <br /><code>getAllMemberOptions(...)</code>(v2.2)                              
-                       <br /><code>getAllItemOptions(...)</code>(v3.2)
-               </td>
-               <td><a href="#options" title="More info on options">与えられたオプションにより、すべての値(コンテクストごとの一つの値)の連想配列を返します。</a></td>            
-       </tr>   
-       <tr>
-               <td>
-                       <code>getBlogOptionTop(...)</code>(v3.2)
-                       <br /><code>getMemberOptionTop(...)</code>(v3.2)
-                       <br /><code>getCategoryOptionTop(...)</code>(v3.2)
-         <br /><code>getItemOptionTop(...)</code>(v3.2)
-               </td>
-               <td><a href="#options" title="More info on options">与えられたオプションにより、すべての値のうちの最初の値を返します。</a></td>
-       </tr>
-       <tr>
-               <td><code>getID()</code></td>
-               <td>このプラグインのIDを返します(このIDはNucleus内部で利用されるものです)。</td>               
-       </tr>
-       <tr>
-               <td><code>getAdminURL()</code></td>
-               <td>プラグインの管理エリアが置かれたURLを返します(そのような管理エリアがない場合は、この情報は無効です)。</td>              
-       </tr>
-       <tr>
-               <td><code>getDirectory()</code></td>
-               <td>プラグインの追加ファイルが格納されたサーバーのファイルシステムのパスを返します(そのようなファイルがない場合は、この情報は無効です)。結果は&quot;<code>.../nucleus/plugins/<em>plugname</em>/</code>&quot;のようになります。</td>           
-       </tr>
-       <tr>
-               <td><code>getShortName()</code></td>
-               <td>"NP_"部分を省き、全てを小文字にしたプラグインのクラス名を返します。この情報は <code>getAdminURL</code> と <code>getDirectory</code> で使用されます。</td>              
-       </tr>
-
-</table>
-
-<h1>スキン変数<a name="skinvars" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<h2>解説</h2>
-
-<p>
-独自のスキン変数を生成し、<code>&lt;%plugin(<em>PlugName,parameters</em>)%&gt;</code> または <code>&lt;%PlugName(parameters)%&gt;</code>で呼び出すことが出来ます(すでに存在するスキン変数とかぶらない場合)。パラメータはカンマ区切りです。</p>
-
-<p>
-スキン変数を扱うには、<code>doSkinVar</code> メソッドを実装する必要があります。いくつかの例を以下に示します。</p>
-
-<pre class="example"><code>function doSkinVar($skinType)
-function doSkinVar($skinType, $param1, $param2)
-function doSkinVar($skinType, $skinVar, $param1, $param2)
-function doSkinVar($skinType, $skinVar, $param1 = 'default value')</code></pre>
-
-<ul>
-       <li><code>$skinType</code> パラメータは、'index', 'item', 'archive', 'archivelist', 'member', 'error',
-  'search', 'imagepopup',  <a href="#templatevars" title="Information on templatevars">'template'</a>のうちの一つを取ります</li>
-       <li><code>$skinVar</code> は、スキン変数のタイプとして解釈される実質的に最初のパラメータになります(例:<code>&lt;%plugin(PlugName,VarType)%&gt;</code>)。</li>
-       <li><code>doSkinVar()</code>(パラメータ無し)を使い、PHPファンクションの<code>func_get_args()</code>を用いてパラメータを取得することができます。引数の数の異なる、タイプの違うスキン変数を扱うときに便利です。</li>
-</ul>
-
-<h2>ノート</h2>
-
-<ul>
-       <li>(v2.0b) グローバル変数としてパースされている <code>$currentSkinName</code> を使ってスキンの名前を取得できます。</li>
-</ul>
-
-
-
-
-<h1>テンプレート変数<a name="templatevars" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<h2>解説</h2>
-
-<p>
-テンプレートプラグイン変数はスキンプラグイン変数と同様に働きますが以下の2点が異なります。</p>
-
-<ol>
-       <li>スキン内ではなくテンプレート内から呼ばれます。</li>
-       <li>$skinTypeパラメータを取りません。代わりに現在パースされているアイテムやコメントの情報付きの追加パラメータを取ります。
-    <ul>
-                       <li><code>doTemplateVar</code> メソッドは <code>&amp;$item</code> パラメータを取ります。</li>
-                       <li><code>doTemplateCommentsVar</code> メソッドは <code>&amp;$item</code> と <code>&amp;$comment</code> パラメータを取ります。</li>
-         </ul>
-               <strong>&amp;マークに注意!</strong>
-       </li>
-</ol>
-       
-<p>テンプレート変数はスキン変数と同じ要領で呼ばれます(<code>&lt;%plugin(PlugName,parameters)%&gt;</code> または <code>&lt;%PlugName(parameters)%&gt;</code>)。</p>
-
-<p>
-デフォルトでは、全てのテンプレート変数は'<code>template</code>'を<code>skintype</code>パラメータとして、<code>doSkinVar</code> メソッドに渡ります。</p>
-
-<p>
-独自の実装を提供したい場合は、<code>doTemplateVar</code> メソッドや <code>doTemplateCommentsVar</code> メソッドを再定義する必要があります。<code>skintype</code>パラメータが無くなる以外はdoSkinVarと同様に働きます。</p>
-
-<pre class="example"><code>function doTemplateVar(&amp;$item)
-function doTemplateVar(&amp;$item, $param1, $param2)
-function doTemplateVar(&amp;$item, $type, $param1, $param2)
-function doTemplateVar(&amp;$item, $type, $param1 = 'default value')
-function doTemplateCommentsVar(&amp;$item, &amp;$comment)
-function doTemplateCommentsVar(&amp;$item, &amp;$comment, $param1, $param2)
-function doTemplateCommentsVar(&amp;$item, &amp;$comment, $type, $param1, $param2)
-function doTemplateCommentsVar(&amp;$item, &amp;$comment, $type, $param1 = 'default value')</code></pre>
-
-<h2>ノート</h2>
-
-<ul>
-       <li>(v2.0b) グローバル変数として内部で利用される <code>$currentSkinName</code> を使ってテンプレートの名前を取得できます。</li>
-</ul>
-
-
-
-
-<h1>アクション<a name="actions" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>プラグインは <code>action.php</code> を通してアクションを行うことができ、同様のスクリプトがコメントや投票の受け取りにも使用されてます。GETまたはPOSTのどちらかを通して呼び出せます。必要なパラメータは
-<code>action</code>('plugin'と指定)、<code>name</code>(プラグイン名)、<code>type</code>(リクエストされたアクションの種類)です。</p>
-
-<p>これらのアクションを有効にするために、<code>doAction($actionType)</code> メソッドをプラグイン内で実装する必要があります。リクエストからの追加パラメータは
-<code>requestVar('<em>name</em>')</code> で取得できます(<code>requestVar</code> はPHPが付加する magic_quotes_gpc に配慮しています)。</p>
-
-<p>
-<code>doAction</code> メソッドが文字列を返すとき、エラーとして解釈され、エラーメッセージが表示されます。</p>
-
-
-
-
-
-
-<h1>イベント<a name="events" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>
-Nucleusプラグインはなにか重要なことが起きたときに発生するイベントに登録可能です。プラグインはイベント発生の際にアクションを実行したり、テキストを出力したりできます。</p>
-
-<h2>例</h2>
-
-<p>
-下記は <code>PreAddComment</code> イベント(blogにコメントが追加される直前に生成されるイベント)にプラグインが登録する例です。</p>
-
-<pre class="example"><code>class NP_Acronyms extends NucleusPlugin {
-  ...
-  function getEventList() { return array('PreAddComment'); }
-  ...
-  function event_PreAddComment(&amp;$data) {
-    // 頭字語 HTML を置き換え
-    $data['comment']['body'] = 
-        strreplace('HTML',
-                   '&lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt;',
-                   $data['comment']['body']);
-  }
-}
-</code></pre>
-
-<p>このプラグインはコメント中の'HTML'というテキストを'<code>&lt;acronym title=&quot;HyperText
-Markup Language&quot;&gt;HTML&lt;/acronym&gt;</code>'に置き換えます。acronymタグはHTMLタグで、頭字語についての追加情報を提供します。</p>
-
-<h2>イベント登録の仕方</h2>
-
-<p>イベント登録に必要なステップは以下になります。</p>
-
-<ol>
-       <li><code>getEventList</code> メソッドから返る配列にイベント名を追加します。</li>
-       <li><code>event_EventName($data)</code> という形でメソッドを生成し、この中でイベントを処理します。</li>
-</ol>
-
-<p>複数のプラグインが同じイベントに登録できます。管理エリアのプラグインリストの順序に従ってプラグインに通知が行きます。リストの上にあるプラグインほど早く通知されます。</p>
-
-<h2>パラメータ</h2>
-
-<p><code>event_EventName</code> メソッドはひとつだけ <code>$data</code> パラメータを持ち、それはイベントごとに内容が異なります。これは連想配列です。この連想配列に渡されたオブジェクトや配列は<strong>参照形式</strong>で渡されるため、これらに加えた変更は記憶されます。</p>
-
-<p>以下のイベントリストは、パラメータ変更がNucleusに知られるかどうかを示すために色を使い分けています。</p>
-
-<ul>
-       <li><var class="ref">参照渡し(緑)</var>: この種のパラメータに変更を加えるとNucleusに知られます。</li>
-       <li><var class="ro">値渡し(赤)</var>: プラグインイベントハンドラに渡される前に値がコピーされます。これらの変数への変更は自動的に破棄されます。.</li>
-</ul>
-
-<p>パラメータとして渡されるオブジェクトは<var class="obj">object</var>.として示されます。ほとんどのオブジェクトは参照渡しで、<var class="obj ref">object
-by ref</var>のように示されます。</p>
-
-<h2>イベントリスト</h2>
-
-<table summary="An overview of events to which a Nucleus Plugin can subscribe, and what parameters are passed along to the method that handles the event">
-       <caption>
-       プラグインが登録できるイベント</caption>
-       <tr>
-               <th>名前</th>
-               <th>いつ</th>
-               <th>パラメータ</th>
-       </tr>
-       <tr>
-               <td>InitSkinParse</td>
-               <td>スキンの初期化の直前</td>
-               <td><dl>
-                       <dt class="obj ref">skin</dt>
-                       <dd>パースする<code>SKIN</code>オブジェクト</dd>
-                       <dt class="ro">type</dt>
-                       <dd>スキンタイプ('index', 'item', 'archive', 'archivelist',
-                       'member', 'error', 'search', 'imagepopup', 'fileparser'のいずれか)</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>PreSkinParse</td>
-               <td>スキンのパースの直前</td>
-               <td><dl>
-                       <dt class="obj ref">skin</dt>
-                       <dd>パースする<code>SKIN</code>オブジェクト</dd>
-                       <dt class="ro">type</dt>
-                       <dd>スキンタイプ('index', 'item', 'archive', 'archivelist',
-                 'member', 'error', 'search', 'imagepopup', 'fileparser'のいずれか)</dd>
-                       <dt class="ref">contents</dt>
-                       <dd>スキンの内容</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostSkinParse</td>
-               <td>スキンのパースの直後</td>
-               <td><dl>
-                       <dt class="obj ref">skin</dt>
-                       <dd>パースする<code>SKIN</code>オブジェクト</dd>
-                       <dt class="ro">type</dt>
-                       <dd>スキンタイプ('index', 'item', 'archive', 'archivelist', 'member', 'error', 'search',
-                 'imagepopup', 'fileparser'のいずれか)</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreItem</td>
-               <td>アイテムのパース前、ただしアイテムヘッダーのパース後</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ref obj">item</dt>
-                       <dd>アイテムデータを持つオブジェクト</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostItem</td>
-               <td>アイテムのパース後、ただしアイテムフッターのパース前</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ref obj">item</dt>
-                       <dd>アイテムデータを持つオブジェクト</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreComment</td>
-               <td>コメントの表示前</td>
-               <td><dl>
-                       <dt class="ref">comment</dt>
-                       <dd>コメントデータを持つ連想配列</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostComment</td>
-               <td>コメントの表示後</td>
-               <td><dl>
-                       <dt class="ref">comment</dt>
-                       <dd>コメントデータを持つ連想配列</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreDateHead</td>
-               <td>日付ヘッダーのパース前</td>
-               <td><dl>
-                       <dt class="obj ref">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ro">timestamp</dt>
-                       <dd>日付ヘッダーのタイムスタンプ</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDateHead</td>
-               <td>日付ヘッダーのパース後</td>
-               <td><dl>
-                       <dt class="obj ref">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ro">timestamp</dt>
-                       <dd>日付ヘッダーのタイムスタンプ</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreDateFoot</td>
-               <td>日付フッターのパース前</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ro">timestamp</dt>
-                       <dd>日付フッターのタイムスタンプ</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDateFoot</td>
-               <td>日付フッターのパース後</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ro">timestamp</dt>
-                       <dd>日付フッターのタイムスタンプ</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>LoginSuccess</td>
-               <td>ログイン成功後</td>
-               <td><dl>
-                       <dt class="obj ref">member</dt>
-                       <dd><code>MEMBER</code> オブジェクト</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>LoginFailed</td>
-               <td>ログイン失敗後</td>
-               <td><dl>
-                       <dt class="ro">username</dt>
-                       <dd>ログイン時に使われたユーザー名</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>Logout</td>
-               <td>ログアウト後</td>
-               <td><dl>
-                       <dt class="ro">username</dt>
-                       <dd>ログアウト時のユーザー名</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreBlogContent</td>
-               <td>blogの内容がスキン変数を通して挿入される前</td>
-               <td><dl>
-                       <dt class="obj ref">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ro">type</dt>
-                       <dd>呼び出されたスキン変数 ('blog', 'otherblog', 'archive', 'archivelist', 'item', 'searchresults',
-                         'othersearchresults', 'categorylist', 'otherarchive', 'otherarchivelist')</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostBlogContent</td>
-               <td>blogの内容がスキン変数を通して挿入された後</td>
-               <td><dl>
-                       <dt class="obj ref">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ro">type</dt>
-                       <dd>呼び出されたスキン変数 ('blog', 'otherblog', 'archive', 'archivelist', 'item', 'searchresults',
-                 'othersearchresults', 'categorylist', 'otherarchive', 'otherarchivelist')</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreAddComment</td>
-               <td>コメントがデータベースに追加される前</td>
-               <td><dl>
-                       <dt class="ref">comment</dt>
-                       <dd>コメントデータ(連想配列)</dd>
-                       <dt class="ref">spamcheck</dt>
-                       <dd>(v3.3) <em>SpamCheck</em>イベントの結果として返されるデータ構造(連想配列)</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddComment</td>
-               <td>コメントがデータベースに追加された後</td>
-               <td><dl>
-                       <dt class="ref">comment</dt>
-                       <dd>コメントデータ(連想配列)</dd>
-                       <dt class="ref">commentid</dt>
-                       <dd>コメントのID</dd>
-                       <dt class="ref">spamcheck</dt>
-                       <dd>(v3.3) <em>SpamCheck</em>イベントの結果として返されるデータ構造(連想配列)</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostRegister</td>
-               <td>新規ユーザーの登録後</td>
-               <td><dl>
-                       <dt class="obj ref">member</dt>
-                       <dd>新しい<code>MEMBER</code> オブジェクト</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddItem</td>
-               <td>アイテムがデータベースに追加された後</td>
-               <td><dl>
-                       <dt class="ro">itemid</dt>
-                       <dd>データベースに出来た新しい itemid</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostUpdateItem</td>
-               <td>アイテムがデータベースにアップデートされた直後</td>
-               <td><dl>
-                       <dt class="ro">itemid</dt>
-                       <dd>アイテムのID</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>PreAddItem</td>
-               <td>アイテムがデータベースに追加される直前</td>
-               <td><dl>
-                       <dt class="ref">title</dt>
-                       <dd>タイトル</dd>
-                       <dt class="ref">body</dt>
-                       <dd>本文</dd>
-                       <dt class="ref">more</dt>
-                       <dd>拡張テキスト</dd>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ref">authorid</dt>
-                       <dd>執筆者ID</dd>
-                       <dt class="ref">timestamp</dt>
-                       <dd>UNIX タイムスタンプ</dd>
-                       <dt class="ref">closed</dt>
-                       <dd>1 (コメント不可) or 0 (コメント可)</dd>
-                       <dt class="ref">draft</dt>
-                       <dd>1 (ドラフト) or 0 (非ドラフト)</dd>
-                       <dt class="ref">catid</dt>
-                       <dd>カテゴリーID</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>PreUpdateItem</td>
-               <td>データベースにあるアイテムが更新される直前</td>
-               <td><dl>
-                       <dt class="ro">itemid</dt>
-                       <dd>アイテム ID</dd>
-                       <dt class="ref">title</dt>
-                       <dd>タイトル</dd>
-                       <dt class="ref">body</dt>
-                       <dd>本文</dd>
-                       <dt class="ref">more</dt>
-                       <dd>拡張テキスト</dd>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG オブジェクト</code> object</dd>
-                       <dt class="ref">closed</dt>
-                       <dd>1 (コメント不可) or 0 (コメント可)</dd>
-                       <dt class="ref">catid</dt>
-                       <dd>カテゴリーID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PrepareItemForEdit</td>
-               <td>アイテムをデータベースから取得した直後で、編集のためにユーザーに表示される前</td>
-               <td><dl>
-                       <dt class="ref">item</dt>
-                       <dd>アイテムデータを持つ連想配列</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreUpdateComment</td>
-               <td>コメントが更新され、データベースに保存される直前</td>
-               <td><dl>
-                       <dt class="ref">body</dt>
-                       <dd>コメント本文</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PrepareCommentForEdit</td>
-               <td>コメントをデータベースから取得した直後で、編集のためにユーザーに表示される前</td>
-               <td><dl>
-                       <dt class="ref">comment</dt>
-                       <dd>コメントデータ(連想配列)</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PrePluginOptionsEdit</td>
-               <td>
-                       (v2.0b) 'プラグインオプションの編集'フォームが生成される前
-                       <br />(v2.2) パラメータ追加
-                       <br />(v3.2) 各オプションにパラメータ追加
-               </td>
-               <td><dl>
-                       <dt class="ro">context</dt>
-                       <dd>(v2.2) <code>global</code>, <code>blog</code>, <code>member</code>, <code>item</code>, <code>category</code>のいずれか</dd>
-                       <dt class="ref">options</dt>
-                       <dd>次のインデックスをもつ連想配列: <code>name</code>, <code>value</code>, <code>oid</code>, <code>description</code>, <code>type</code>, <code>typeinfo</code>, <code>contextid</code>, <code>extra</code> 。追加オプションをここに加えることも可能(それらで何かの処理をするときはPostPluginOptionsUpdateの記述も必要)<br />
-                       <code>extra</code>フィールドを用いて、オプションに追加HTML(たとえばフォームのコントロール)を追加できます。もしそうする場合、 <code>extra</code> に追加する前に <code>pid</code> と <code>getID()</code> を比較し、さらに <code>name</code> をチェックすべきです。</dd>
-                       <dt class="ro">plugid</dt>
-                       <dd>プラグイン ID (これが気になるなら、<code>GetID()</code>を見ると理解できる)(コンテクストがglobalのときのみ存在)</dd>
-                       <dt class="ro">contextid</dt>
-                       <dd>コンテクスト ID (blogid, memberid, catid, itemid コンテクストによる)</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>PrePluginOptionsUpdate</td>
-               <td>
-                       (v3.2) プラグインオプションが更新される前。(このイベントを使ってオプションの新しい値を評価したり変更したりできます)
-               </td>
-               <td><dl>
-                       <dt class="ro">context</dt>
-                       <dd>(v2.2) <code>global</code>, <code>member</code>, <code>blog</code>, <code>item</code>, <code>category</code>のいずれか</dd>
-                       <dt class="ro">plugid</dt>
-                       <dd>プラグイン ID (これが気になるなら、<code>GetID()</code>を見ると理解できる)</dd>
-                       <dt class="ro">optionname</dt>
-                       <dd>オプション名</dd>
-                       <dt class="ro">contextid</dt>
-                       <dd>コンテクスト ID (blogid, memberid, catid, itemid コンテクストによる)</dd>
-                       <dt class="ref">value</dt>
-                       <dd>そのオプションの新しい値</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>PostPluginOptionsUpdate</td>
-               <td>
-                       (v2.0b) プラグインオプションの更新後<br />
-               (v2.2) コンテクストによって異なるパラメータ</td>
-               <td><dl>
-                       <dt class="ro">context</dt>
-                       <dd>(v2.2) <code>global</code>, <code>member</code>, <code>blog</code>, <code>item</code>, <code>category</code>のいずれか</dd>
-                       <dt class="ro">plugid</dt>
-                       <dd>プラグイン ID (これが気になるなら、<code>GetID()</code>を見ると理解できる)(globalコンテクスト)</dd>
-                       <dt class="ro">blogid</dt>
-                       <dd>(v2.2) blog ID (blog コンテクスト)</dd>                       
-                       <dt class="ref obj">blog</dt>
-                       <dd>(v2.2) BLOG オブジェクト (blog コンテクスト)</dd>                       
-                       <dt class="ro">memberid</dt>
-                       <dd>(v2.2) member ID (member コンテクスト)</dd>                   
-                       <dt class="ref obj">member</dt>
-                       <dd>(v2.2) MEMBER オブジェクト (member コンテクスト)</dd>                   
-                       <dt class="ro">catid</dt>
-                       <dd>(v2.2) category ID (category コンテクスト)</dd>                       
-                       <dt class="ro">itemid</dt>
-                       <dd>(v2.2) item ID (item コンテクスト)</dd>
-                       <dt class="ref obj">member</dt>
-                       <dd>(v2.2) ITEM オブジェクト (item コンテクスト)</dd>
-               </dl></td>              
-               
-       </tr>   
-       <tr>
-               <td>PostAuthentication</td>
-               <td>(v2.0b) ログイン処理の完了後。ページリクエストごとに発生</td>
-               <td><dl>
-                       <dt class="ro">loggedIn</dt>
-                       <dd><code>$member->isLoggedIn()</code>の戻り値</dd>
-               </dl></td>              
-       </tr>           
-       <tr>
-               <td>PreAddItemForm</td>
-               <td>(v2.0b) アイテム追加フォーム(ブックマークレットまたは管理エリア)が生成される直前</td>
-               <td><dl>
-                       <dt class="ref">contents</dt>
-                       <dd>連想配列への参照。そのうちの'title',
-                         'body', 'more'にはフォームフィールドへの初期値を与えることができます。複数のプラグイン間でこれらの値の変更を避けるには、処理後に'hasBeenSet'の値を1にセットします(かつ処理前にこの値をチェックするようにします)</dd>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクトへの参照</dd>
-               </dl></td>              
-       </tr>           
-       <tr>
-               <td>AddItemFormExtras</td>
-               <td>(v2.0b) アイテム追加ページまたはブックマークレット内部のどこか。<code>template</code> ファイルの類を別に用意しなくても、ここでプラグインがカスタムフィールドを追加できる。</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクトへの参照</dd>
-               </dl></td>              
-       </tr>                   
-       <tr>
-               <td>EditItemFormExtras</td>
-               <td>
-                       (v2.0b) アイテム編集ページまたはブックマークレット内部のどこか。<code>template</code> ファイルの類を別に用意しなくても、ここでプラグインがカスタムフィールドを追加できる。<br />
-                       <br />                  
-                       あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。               <pre class="example"><code>&lt;h3&gt;プラグイン名&lt;/h3&gt;
-&lt;p&gt;追加フォームの内容&lt;/p&gt;</code></pre>
-               このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクトへの参照</dd>
-                       <dt class="ro">variables</dt>
-                       <dd>
-                               (read-only) 編集されるアイテムに関する全ての情報を持つ連想配列: 'itemid',
-                                 'draft', 'closed', 'title', 'body', 'more', 'author', 'authorid',
-                                 'timestamp', 'karmapos', 'karmaneg', 'catid'
-                       </dd>                   
-                       <dt class="ro">itemid</dt>
-                       <dd>アイテム IDへのショートカット</dd>
-               </dl></td>              
-       </tr>                           
-       <tr>
-               <td>BlogSettingsFormExtras</td>
-               <td>(v2.0) blog設定ページにフォームを追加可能<br /><br />                        
-                       あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。               <pre class="example"><code>&lt;h4&gt;プラグイン名&lt;/h4&gt;
-&lt;form method="post" action="..."&gt;&lt;p&gt;
-追加フォームの内容&lt;/p&gt;&lt;/form&gt;</code></pre>
-                       このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。</td>
-               <td><dl>
-                       <dt class="obj ref">blog</dt>
-                       <dd><code>BLOG</code> オブジェクトへの参照</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreDeleteItem</td>
-               <td>(v2.0) アイテムがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">itemid</dt>
-                       <dd>削除されるアイテムID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteItem</td>
-               <td>(v2.0) アイテムがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">itemid</dt>
-                       <dd>削除されたアイテムID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreDeleteCategory</td>
-               <td>(v2.0) カテゴリーがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">catid</dt>
-                       <dd>削除されるカテゴリー ID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteCategory</td>
-               <td>(v2.0) カテゴリーがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">catid</dt>
-                       <dd>削除されたカテゴリー ID</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>PreDeleteBlog</td>
-               <td>(v2.0) blogがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">blogid</dt>
-                       <dd>削除されるblogID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteBlog</td>
-               <td>(v2.0) blogがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">blogid</dt>
-                       <dd>削除されたblogID</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>PreDeleteMember</td>
-               <td>(v2.0) メンバーがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ref obj">member</dt>
-                       <dd><code>削除されるメンバーに関するMEMBER</code> オブジェクトへの参照</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteMember</td>
-               <td>(v2.0) メンバーがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ref obj">member</dt>
-                       <dd><code>削除されるメンバーに関するMEMBER</code> オブジェクトへの参照</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>PreDeleteTeamMember</td>
-               <td>(v2.0) メンバーがweblogチームから削除される直前</td>
-               <td><dl>
-                       <dt class="ref obj">member</dt>
-                       <dd><code>MEMBER</code> オブジェクトへの参照</dd>
-                       <dt class="ro">blogid</dt>
-                       <dd>blogID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteTeamMember</td>
-               <td>(v2.0) メンバーがweblogチームから削除された直後</td>
-               <td><dl>
-                       <dt class="ref obj">member</dt>
-                       <dd><code>MEMBER</code> オブジェクトへの参照</dd>
-                       <dt class="ro">blogid</dt>
-                       <dd>blogID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreDeleteComment</td>
-               <td>(v2.0) コメントがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">commentid</dt>
-                       <dd>削除されるコメントID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteComment</td>
-               <td>(v2.0) コメントがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">commentid</dt>
-                       <dd>削除されたコメントID</dd>
-               </dl></td>              
-       </tr>           
-       <tr>
-               <td>ActionLogCleared</td>
-               <td>(v2.0) アクションログが消去された後</td>
-               <td>なし</td>         
-       </tr>
-       <tr>
-               <td>PreDeleteTemplate</td>
-               <td>(v2.0) テンプレートがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">templateid</dt>
-                       <dd>削除されるテンプレートID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteTemplate</td>
-               <td>(v2.0) テンプレートがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">templateid</dt>
-                       <dd>削除されたテンプレートID</dd>
-               </dl></td>              
-       </tr>           
-       <tr>
-               <td>PreDeleteSkin</td>
-               <td>(v2.0) スキンがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">skinid</dt>
-                       <dd>削除されるスキンID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteSkin</td>
-               <td>(v2.0) スキンがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">skinid</dt>
-                       <dd>削除されたスキンID</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>PreDeletePlugin</td>
-               <td>(v2.0) プラグインがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">plugid</dt>
-                       <dd>削除されるプラグインID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeletePlugin</td>
-               <td>(v2.0) プラグインがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">plugid</dt>
-                       <dd>削除されたプラグインID</dd>
-               </dl></td>              
-       </tr>           
-       <tr>
-               <td>PreDeleteBan</td>
-               <td>(v2.0) 禁止IPがデータベースから削除される直前</td>
-               <td><dl>
-                       <dt class="ro">blogid</dt>
-                       <dd>禁止IPが削除されるblogのID</dd>
-                       <dt class="ro">iprange</dt>
-                       <dd>禁止されたIPレンジ</dd>                     
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostDeleteBan</td>
-               <td>(v2.0) 禁止IPがデータベースから削除された直後</td>
-               <td><dl>
-                       <dt class="ro">blogid</dt>
-                       <dd>禁止IPが削除されたblogのID</dd>
-                       <dt class="ro">iprange</dt>
-                       <dd>禁止されたIPレンジ</dd>                     
-               </dl></td>              
-       </tr>                   
-       <tr>
-               <td>PreAddCategory</td>
-               <td>(v2.0) 新しいカテゴリーがデータベースに生成される直前</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクトの参照</dd>
-                       <dt class="ref">name</dt>
-                       <dd>新しいカテゴリー名</dd>                    
-                       <dt class="ref">description</dt>
-                       <dd>新しいカテゴリーの説明</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddCategory</td>
-               <td>(v2.0) 新しいカテゴリーがデータベースに生成された直後</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクトへの参照</dd>
-                       <dt class="ro">name</dt>
-                       <dd>新しいカテゴリー名</dd>                    
-                       <dt class="ro">description</dt>
-                       <dd>新しいカテゴリーの説明</dd>
-                       <dt class="ro">catid</dt>
-                       <dd>新しいカテゴリー ID</dd>                    
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreAddBlog</td>
-               <td>(v2.0) 新しいblogが生成される直前</td>
-               <td><dl>
-                       <dt class="ref">name</dt>
-                       <dd>新しい blog名</dd>
-                       <dt class="ref">shortname</dt>
-                       <dd>新しい blogの短縮名</dd>
-                       <dt class="ref">timeoffset</dt>
-                       <dd>新しい blogのタイムオフセット</dd>
-                       <dt class="ref">description</dt>
-                       <dd>新しい blogの説明</dd>
-                       <dt class="ref">defaultskin</dt>
-                       <dd>新しいblogのデフォルトスキンのID</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddBlog</td>
-               <td>(v2.0) 新しいblogが生成された直後</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd>新しい<code>BLOG</code> オブジェクト</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreAddPlugin</td>
-               <td>(v2.0) プラグインが追加される直前</td>
-               <td><dl>
-                       <dt class="ref">file</dt>
-                       <dd>新しいプラグインのファイル名</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddPlugin</td>
-               <td>(v2.0) プラグインが追加された直後</td>
-               <td><dl>
-                       <dt class="ref obj">plugin</dt>
-                       <dd>新しく追加されたプラグインのオブジェクト</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreAddTeamMember</td>
-               <td>(v2.0) メンバーがblogチームに追加される直前</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ref obj">member</dt>
-                       <dd><code>MEMBER</code> オブジェクト</dd>
-                       <dt class="ref">admin</dt>
-                       <dd>新しく追加されたメンバーが管理権限を持っているかどうかを示すブール値</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddTeamMember</td>
-               <td>(v2.0) メンバーがblogチームに追加された直後</td>
-               <td><dl>
-                       <dt class="ref obj">blog</dt>
-                       <dd><code>BLOG</code> オブジェクト</dd>
-                       <dt class="ref obj">member</dt>
-                       <dd><code>MEMBER</code> オブジェクト</dd>
-                       <dt class="ro">admin</dt>
-                       <dd>新しく追加されたメンバーが管理権限を持っているかどうかを示すブール値</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreAddTemplate</td>
-               <td>(v2.0) 新しいテンプレートが生成される直前(注:テンプレートが複製されたときも呼ばれる)</td>
-               <td><dl>
-                       <dt class="ref">name</dt>
-                       <dd>新しいテンプレート名</dd>
-                       <dt class="ref">description</dt>
-                       <dd>新しいテンプレートの説明</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddTemplate</td>
-               <td>(v2.0) 新しいテンプレートが生成された直後</td>
-               <td><dl>
-                       <dt class="ro">name</dt>
-                       <dd>新しいテンプレート名</dd>
-                       <dt class="ro">description</dt>
-                       <dd>新しいテンプレートの説明</dd>
-                       <dt class="ro">templateid</dt>
-                       <dd>新しいテンプレートID</dd>
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>PreAddSkin</td>
-               <td>(v2.0) 新しいスキンが生成される直前(注:スキンが複製されたときも呼ばれる)</td>
-               <td><dl>
-                       <dt class="ref">name</dt>
-                       <dd>新しいスキン名</dd>
-                       <dt class="ref">description</dt>
-                       <dd>新しいスキン名の説明</dd>
-                       <dt class="ref">type</dt>
-                       <dd>スキンのコンテントタイプ</dd>
-                       <dt class="ref">includeMode</dt>
-                       <dd>新しいスキンのインクルードモード</dd>
-                       <dt class="ref">includePrefix</dt>
-                       <dd>新しいスキンのインクルードプレフィックス</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddSkin</td>
-               <td>(v2.0) 新しいスキンが生成された直後</td>
-               <td><dl>
-                       <dt class="ro">name</dt>
-                       <dd>新しいスキン名</dd>
-                       <dt class="ro">description</dt>
-                       <dd>新しいスキンの説明</dd>
-                       <dt class="ro">type</dt>
-                       <dd>スキンのコンテントタイプ</dd>
-                       <dt class="ro">includeMode</dt>
-                       <dd>新しいスキンのインクルードモード</dd>
-                       <dt class="ro">includePrefix</dt>
-                       <dd>新しいスキンのインクルードプレフィックス</dd>
-                       <dt class="ro">skinid</dt>
-                       <dd>新しいスキンID</dd>
-               </dl></td>              
-       </tr>           
-       <tr>
-               <td>PreAddBan</td>
-               <td>(v2.0) 新しい禁止IPが追加される直前</td>
-               <td><dl>
-                       <dt class="ref">blogid</dt>
-                       <dd>blogID</dd>
-                       <dt class="ref">iprange</dt>
-                       <dd>禁止されたIPレンジ</dd>
-                       <dt class="ref">reason</dt>
-                       <dd>禁止された理由を記述したテキストメッセージ</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostAddBan</td>
-               <td>(v2.0) 新しい禁止IPが追加された直後</td>
-               <td><dl>
-                       <dt class="ro">blogid</dt>
-                       <dd>blogID</dd>
-                       <dt class="ro">iprange</dt>
-                       <dd>禁止されたIPレンジ</dd>
-                       <dt class="ro">reason</dt>
-                       <dd>禁止された理由を記述したテキストメッセージ</dd>
-               </dl></td>              
-       </tr>           
-
-       <tr>
-               <td>PreMoveItem</td>
-               <td>(v2.0) アイテムが他のblog/カテゴリーに移される直前</td>
-               <td><dl>
-                       <dt class="ref">itemid</dt>
-                       <dd>アイテムID</dd>
-                       <dt class="ref">destblogid</dt>
-                       <dd>移動先のblogID</dd>
-                       <dt class="ref">destcatid</dt>
-                       <dd>移動先のカテゴリーID</dd>                  
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostMoveItem</td>
-               <td>(v2.0) アイテムが他のblog/カテゴリーに移された直後</td>
-               <td><dl>
-                       <dt class="ro">itemid</dt>
-                       <dd>アイテムID</dd>
-                       <dt class="ro">destblogid</dt>
-                       <dd>新しいblogID</dd>
-                       <dt class="ro">destcatid</dt>
-                       <dd>新しいカテゴリーID</dd>     
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PreMoveCategory</td>
-               <td>(v2.0) カテゴリーが他のblogに移される直前</td>
-               <td><dl>
-                       <dt class="ref">catid</dt>
-                       <dd>カテゴリーID</dd>
-                       <dt class="ref obj">sourceblog</dt>
-                       <dd>移動元の<code>BLOG</code> オブジェクト</dd>
-                       <dt class="ref obj">destblog</dt>
-                       <dd>移動先の<code>BLOG</code> オブジェクト</dd>                       
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>PostMoveCategory</td>
-               <td>(v2.0) カテゴリーが他のblogに移された直後</td>
-               <td><dl>
-                       <dt class="ro">catid</dt>
-                       <dd>カテゴリーID</dd>
-                       <dt class="ref obj">sourceblog</dt>
-                       <dd>移動元の<code>BLOG</code> オブジェクト</dd>
-                       <dt class="ref obj">destblog</dt>
-                       <dd>移動先の<code>BLOG</code> オブジェクト</dd>                       
-               </dl></td>              
-       </tr>   
-       <tr>
-               <td>MemberSettingsFormExtras</td>
-               <td>(v2.0) メンバー設定ページにフォームを追加可能<br /><br />                        
-                       あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。
-            <pre class="example"><code>&lt;h4&gt;プラグイン名&lt;/h4&gt;
-&lt;form method="post" action="..."&gt;&lt;p&gt;
-追加フォームの内容&lt;/p&gt;&lt;/form&gt;</code></pre>
-このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。</td>
-               <td><dl>
-                       <dt class="ref obj">member</dt>
-                       <dd><code>MEMBER</code> オブジェクトへの参照</dd>
-               </dl></td>              
-       </tr>
-       <tr>
-               <td>GeneralSettingsFormExtras</td>
-               <td>(v2.0) 一般設定ページにフォームを追加可能<br />
-                 <br />
-あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。
-<pre class="example"><code>&lt;h4&gt;プラグイン名&lt;/h4&gt;
-&lt;form method="post" action="..."&gt;&lt;p&gt;
-追加フォームの内容&lt;/p&gt;&lt;/form&gt;</code></pre>
-このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。</td>
-               <td>なし</td>         
-       </tr>
-       <tr>
-               <td>AdminPrePageHead</td>
-               <td>(v2.5) 管理画面で、ページヘッドを出力する直前。このイベントはヘッド領域にスクリプトやCSSを追加するのに用いられます。</td>
-               <td><dl>
-                       <dt class="ref">extrahead</dt>
-                       <dd>HTMLページのヘッド領域に埋め込まれる追加情報。ここに追加したいものを入れてください。</dd>
-                       <dt class="ro">action</dt>
-                       <dd>現在実行されているアクション、またはページタイプ</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>AdminPrePageFoot</td>
-               <td>(v2.5) 管理画面で、ページフッターを出力する直前。</td>
-         <td><dl>
-                       <dt class="ro">action</dt>
-                       <dd></dd>
-               </dl>
-           現在実行されているアクション、またはページタイプ</td>
-       </tr>
-       <tr>
-               <td>PreSendContentType</td>
-               <td>(v2.5) HTTPヘッダーにコンテントタイプがセットされる直前</td>
-               <td><dl>
-                       <dt class="ref">contentType</dt>
-                       <dd>コンテントタイプ(<code>application/xhtml+xml</code>など)</dd>
-                       <dt class="ref">charset</dt>
-                       <dd>キャラクターセット</dd>
-                       <dt class="ro">pageType</dt>
-                       <dd>表示するページの種類を示す文字列:<code>skin</code> (スキンタイプ), <code>media</code> (メディアライブラリ), <code>admin-<em>action</em></code> (管理エリア), <code>bookmarklet-<em>action</em></code> (ブックマークレット)</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>QuickMenu</td>
-               <td>(v2.5) 管理エリアのクイックメニューの一番下。そこへのプラグイン登録に利用されます。登録するにはoptionsに連想配列を入れます。実装例が<a href="#admin">プラグイン管理エリアを作る</a>のセクションにあります。</td>
-               <td><dl>
-                       <dt class="ref">options</dt>
-                       <dd>配列</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>BookmarkletExtraHead</td>
-               <td>(v2.5) ブックマークレット
-         XHTMLコードのヘッド領域内。</td>
-               <td><dl>
-                       <dt class="ref">extrahead</dt>
-                       <dd>XHTMLコードのヘッド領域に埋め込まれる追加情報。ここに追加したいものを入れてください。</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>FormExtra</td>
-               <td>(v3.2) このイベントは、プラグインがコメント、メンバー間メール、認証フォームのいずれかのフォーム内に追加フィールドを挿入するときに使います。フォーム処理の際に発生する <code>ValidateForm</code> イベントに対応します。</td>
-               <td><dl>
-                       <dt class="ro">type</dt>
-                       <dd>イベントを発生させるフォームタイプ
-                               <ul>
-                                       <li><code>activation</code></li>
-                                       <li><code>additemform</code> (注:これは管理画面のアイテム追加フォームではない)</li>
-                                       <li><code>commentform-loggedin</code></li>
-                                       <li><code>commentform-notloggedin</code></li>
-                                       <li><code>membermailform-loggedin</code></li>
-                                       <li><code>membermailform-notloggedin</code></li>
-                               </ul>
-                       </dd>
-                       <dt class="ro obj">member</dt>
-                       <dd><code>type</code> が <code>activation</code>のとき、このフィールドは認証メンバーの詳細情報を含みます</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>ValidateForm</td>
-               <td>(v3.2) コメント、メンバー間メール、アカウント認証のいずれかが処理されるときに呼ばれます。プラグインはこれで各データの評価を実行でき、もし不具合があれば処理を中断できます。<code>FormExtra</code> と共に使うとフォームにフィールドを追加できます。</td>
-               <td><dl>
-                       <dt class="ro">type</dt>
-                       <dd>処理されるフォームタイプ
-                               <ul>
-                                       <li><code>membermail</code></li>
-                                       <li><code>comment</code></li>
-                                       <li><code>activation</code></li>
-                               </ul>
-                       </dd>
-                       <dt class="ref">error</dt>
-                       <dd>フォーム処理をストップするときに、<code>error</code> フィールドに空でないエラーメッセージを記入します。このエラーメッセージはユーザー側に表示されます。</dd>
-                       <dt class="ref">comment</dt>
-                       <dd>コメントデータの連想配列(コメントフォームのときのみ)</dd>
-                       <dt class="ref">spamcheck</dt>
-                       <dd>(v3.3) <em>SpamCheck</em>イベントの結果として返される連想配列(コメントフォームのときのみ)</dd>
-                       <dt class="ro obj">member</dt>
-                       <dd>認証フォームのとき、認証中のメンバー情報を含みます。</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>SpamCheck</td>
-               <td>(v3.3) 新しいコメントが追加されるときに呼ばれます。アンチスパムのプラグインはこのイベントを使ってコメントがスパムかどうかマークを付けられます。<code>SpamCheck</code>イベントの詳しい説明は別の文書を参照のこと(<a href='http://wakka.xiffy.nl/spamcheck_api'>SpamCheck API 2.0</a>)</td>
-               <td><dl>
-                       <dt class="ref">spamcheck</dt>
-                       <dd>spamcheckのデータ構造(連想配列)</dd>
-               </dl></td>
-       </tr>
-<!--
-       <tr>
-               <td>SendPing</td>
-               <td>(v3.3) Called when a new item is added and the blog is configured to send ping (need NP_Ping installed). This event is used by NP_Ping to ping various weblog listing service (i.e. pingomatic.com)</td>
-               <td><dl>
-                       <dt class="ref">blogid</dt>
-                       <dd>ID of the blog</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td>JustPosted</td>
-               <td>(v3.3) Called when a future post appears on the blog the first time. The event is trigger after a skin parse is completed</td>
-               <td><dl>
-                       <dt class="ref">blogid</dt>
-                       <dd>ID of the blog</dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td></td>
-               <td></td>
-               <td><dl>
-                       <dt></dt>
-                       <dd></dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td></td>
-               <td></td>
-               <td><dl>
-                       <dt></dt>
-                       <dd></dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td></td>
-               <td></td>
-               <td><dl>
-                       <dt></dt>
-                       <dd></dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td></td>
-               <td></td>
-               <td><dl>
-                       <dt></dt>
-                       <dd></dd>
-               </dl></td>
-       </tr>
-       <tr>
-               <td></td>
-               <td></td>
-               <td><dl>
-                       <dt></dt>
-                       <dd></dd>
-               </dl></td>
-       </tr> -->
-</table>
-
-
-
-<h1>オプションを保存する<a name="options" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>プラグインに簡単にオプションを登録・取得できるように一連のメソッドが用意されています。これらのオプションは直接Nucleusの管理エリアで編集でき、プラグイン自身の管理エリアを用意する必要もなく、PHPファイルそのものの中にオプションの値を書き込まずにすみます。</p>
-
-<p>オプションは異なったコンテクストで利用可能です。</p>
-
-<ol>
-       <li><strong>グローバルオプション</strong>:管理エリアのプラグインセクションで編集可能</li>
-       <li><strong>blogオプション</strong>:blog設定ページで編集可能</li>
-       <li><strong>カテゴリーオプション</strong>:blog設定ページ(のカテゴリー編集ページ)で編集可能</li>    
-       <li><strong>メンバーオプション</strong>:メンバー編集ページで編集可能</li>
-       <li><strong>アイテムオプション</strong>:アイテムの追加、およびアイテムの編集ページで編集可能</li>
-</ol>
-
-<h2>オプションの種類</h2>
-
-<p>オプションにはいくつかのタイプが提供されています。</p>
-
-<dl>
-       <dt>text</dt>
-       <dd>シンプルなテキスト</dd>
-       <dt>yesno</dt>
-       <dd>'yes'か'no'どちらか(編集画面ではラジオボタンとして表示されます)</dd>
-       <dt>password</dt>
-       <dd>テキストフィールド (編集画面では伏字で表示されます)</dd>
-       <dt>textarea (v2.2)</dt>
-       <dd>複数行のテキストフィールド</dd>
-       <dt>select (v2.2)</dt>
-       <dd>ドロップダウンメニュー。次のような形式の追加情報が必要です: Option 1|value1|Option 2|value2|Option 3|value3 </dd>
-</dl>
-
-<h2>オプション・メタ</h2>
-
-<p>Nucleus v3.2よりオプション・メタデータを用いて、オプションタイプを正しい値を受け取れるように制限できるようになりました。このメタデータは <code>$typeExtras</code>フィールドにセミコロン区切りのリストで保存されます。注:selectオプションでは、selectリストは<code>$typeExtras</code>のなかで一番最初でなければいけません。</p>
-
-<table><tr>
-       <th>キー</th>
-       <th>説明</th>
-</tr><tr>
-       <td><code>datatype</code></td>
-       <td>Nucleus本体に、どのデータ型を使いたいかという追加情報を与えます。現在は '<code>numerical</code>' のみ利用できます。 '<code>numerical</code>' を指定することでNucleusは数値情報のみを受け付けます(クライアントサイド・サーバサイド両方でチェック) ('<code>select</code>' と '<code>text</code>'のオプションタイプで利用できます)</td>
-</tr><tr>
-       <td><code>access</code></td>
-       <td>'<code>readonly</code>'にセットすることで、オプションを編集不可能にします('<code>text</code>' と '<code>textarea</code>'のオプションタイプで利用できます)<br />
-       '<code>hidden</code>'を使うと、利用者側にそのオプションの存在を完全に隠蔽します('<code>text</code>'のオプションタイプで利用できます)</td>
-</tr></table>
-
-<p>設定例</p>
-<pre class="example"><code>// 数値のみを受け付けるテキストオプションを作成
-$this->createBlogOption('FooBar', 'foobar', 'text', '0', 'datatype=numerical');
-// 数値のみを受け付けるセレクトオプションを作成
-$this->createItemOption('FooBar', 'foobar', 'select', '0', '0|0|1|1|2|2;datatype=numerical');
-// 編集不可能なテキストエリアオプションを作成
-$this->createOption('FooBar', 'foobar', 'textarea', 'This textarea is readonly', 'access=readonly');
-</code></pre>
-
-<h2>制限</h2>
-
-<ol>
-       <li>オプション名は最大20文字です。</li>
-       <li>オプションの説明文は最大255文字です。</li>
-       <li>オプションの値は制限ありません(v2.2より前のバージョンでは128文字の制限がありました)</li>
-       <li>'=', '|', ';' のキャラクターはセレクトオプション用のセレクトリストやオプション・メタデータ中で使用することはできません。</li>
-</ol>
-
-<h2>メソッド</h2>
-
-<h3>createOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>
-
-<p><strong>グローバル</strong>なコンテクストで新しいオプションを生成します。</p>
-
-<table><tr>
-       <th>パラメータ</th>
-       <th>値</th>
-</tr><tr>
-       <td>$name</td>
-       <td>オプション名</td>
-</tr><tr>
-       <td>$desc</td>
-       <td>オプション編集画面で表示される説明文</td>
-</tr><tr>
-       <td>$type</td>
-       <td>オプションタイプ(前出)</td>
-</tr><tr>
-       <td>$defValue</td>
-       <td>初期値</td>
-</tr><tr>
-       <td>$typeExtras</td>
-       <td>オプションタイプの追加情報(前出)</td>
-</tr></table>
-
-<h3>[v2.2] createBlogOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>
-
-<p><strong>blog</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>
-
-<h3>[v2.2] createCategoryOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>
-
-<p><strong>カテゴリー</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>
-
-<h3>[v2.2] createMemberOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>
-
-<p><strong>メンバー</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>
-
-<h3>[v3.2] createItemOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>
-
-<p><strong>アイテム</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>
-
-<h3>setOption($name, $value)</h3>
-
-<p>すでにデータベースに存在するオプションの値を変更します。</p>
-
-<table><tr>
-       <th>パラメータ</th>
-       <th>値</th>
-</tr><tr>              
-       <td>$name</td>
-       <td>オプション名</td>
-</tr><tr>
-       <td>$value</td>
-       <td>新しい値</td>
-</tr></table>
-
-<h3>[v2.2] setBlogOption($blogid, $name, $value)</h3>
-
-<p>blogオプションの値を変更します。<code>blogid</code>属性はどのblogでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>
-
-<h3>[v2.2] setCategoryOption($catid, $name, $value)</h3>
-
-<p>カテゴリーオプションの値を変更します。<code>catid</code>属性はどのカテゴリーでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>
-
-<h3>[v2.2] setMemberOption($memberid, $name, $value)</h3>
-
-<p>メンバーオプションの値を変更します。<code>memberid</code>属性はどのメンバーでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>
-
-<h3>[v3.2] setItemOption($itemid, $name, $value)</h3>
-
-<p>アイテムオプションの値を変更します。<code>itemid</code>属性はどのアイテムでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>
-
-<h3>getOption($name)</h3>
-
-<p>データベース内のオプションの値を返します。</p>
-
-<table><tr>
-       <th>パラメータ</th>
-       <th>値</th>
-</tr><tr>              
-       <td>$name</td>
-       <td>オプション名</td>
-</tr></table>
-
-<h3>[v2.2] getBlogOption($blogid, $name)</h3>
-
-<p>blogオプションの値を返します。<code>blogid</code>属性は値がリスエストされたblogを示します(その他のオプション:<code>getOption</code>を参照)。</p>
-
-<h3>[v2.2] getCategoryOption($catid, $name)</h3>
-
-<p>カテゴリーオプションの値を返します。<code>catid</code>属性は値がリスエストされたカテゴリーを示します(その他のオプション:<code>getOption</code>を参照)。<br />
-</p>
-
-<h3>[v2.2] getMemberOption($memberid, $name)</h3>
-
-<p>メンバーオプションの値を返します。<code>memberid</code>属性は値がリスエストされたメンバーを示します(その他のオプション:<code>getOption</code>を参照)。</p>
-
-<h3>[v3.2] getItemOption($itemid, $name)</h3>
-
-<p>アイテムオプションの値を返します。<code>itemid</code>属性は値がリスエストされたアイテムを示します(その他のオプション:<code>getOption</code>を参照)。</p>
-
-<h3>deleteOption($name)</h3>
-
-<p>データベースからオプションを削除します。</p>
-
-<table><tr>
-       <th>パラメータ</th>
-       <th>値</th>
-</tr><tr>              
-       <td>$name</td>
-       <td>オプション名</td>
-</tr></table>
-
-<h3>[v2.2] deleteBlogOption($name)</h3>
-
-<p>blogオプションを削除します(<code>deleteOption</code>を参照)。</p>
-
-<h3>[v2.2] deleteCategoryOption($name)</h3>
-
-<p>カテゴリーオプションを削除します(<code>deleteOption</code>を参照)。</p>
-
-<h3>[v2.2] deleteMemberOption($name)</h3>
-
-<p>メンバーオプションを削除します(<code>deleteOption</code>を参照)。</p>
-
-<h3>[v3.2] deleteItemOption($name)</h3>
-
-<p>アイテムオプションを削除します(<code>deleteOption</code>を参照)。</p>
-
-<h3>[v2.2] getAllBlogOptions($name)</h3>
-
-<p>与えられたblogオプションの全ての値を返します。結果は存在するblogidごとの連想配列です。</p>
-
-<h3>[v2.2] getAllCategoryOptions($name)</h3>
-
-<p>与えられたカテゴリーオプションの全ての値を返します。結果は存在するcatidごとの連想配列です。</p>
-
-<h3>[v2.2] getAllMemberOptions($name)</h3>
-
-<p>与えられたメンバーオプションの全ての値を返します。結果は存在するmemberidごとの連想配列です。</p>
-
-<h3>[v3.2] getAllItemOptions($name)</h3>
-
-<p>与えられたアイテムオプションの全ての値を返します。結果は存在するitemidごとの連想配列です。</p>
-
-<h3>[v3.2] getBlogOptionTop($name, $amount = 10, $sort = 'desc')</h3>
-
-<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのblogid ('id') の値 ('value') を持つ配列になっています。</p>
-
-<table><tr>
-       <th>パラメータ</th>
-       <th>値</th>
-</tr><tr>
-       <td>$name</td>
-       <td>オプション名</td>
-</tr><tr>
-       <td>$amount</td>
-       <td>必要なオプション数</td>
-</tr><tr>
-       <td>$sort</td>
-       <td>昇順 ('asc') か降順 ('desc') で並べ替え</td>
-</tr></table>
-
-<h3>[v3.2] getMemberOptionTop($name, $amount = 10, $sort = 'desc')</h3>
-
-<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのメンバーID ('id') の値 ('value') を持つ配列になっています(パラメータは<code>getBlogOptionTop</code>を参照)。</p>
-
-<h3>[v3.2] getCategoryOptionTop($name, $amount = 10, $sort = 'desc')</h3>
-
-<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのカテゴリーID ('id') の値 ('value') を持つ配列になっています(パラメータは<code>getBlogOptionTop</code>を参照)。</p>
-
-
-<h3>[v3.2] getItemOptionTop($name, $amount = 10, $sort = 'desc')</h3>
-
-<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのアイテムID ('id') の値 ('value') を持つ配列になっています(パラメータは<code>getBlogOptionTop</code>を参照)。</p>
-
-
-<div class="note">
-<b>注:</b> プラグインクラス内のコンストラクタから、これらのファンクションを呼ぶことはできません。プラグインがロードされた後にこれらを実行したいときは、かわりに<code>init()</code>メソッド内に置きます。</div>
-
-<h1>データベース・テーブル<a name="tables" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<h2>Nucleusテーブルへのアクセス</h2>
-
-<p>v2.0まで、Nucleusテーブルへのアクセスは単に<code>nucleus_</code>と名づけられたテーブルに対してSQL命令を実行するだけのものでした。Nucleusのバージョン2.2以降はカスタム・テーブル名を利用できるようになったため、プラグイン開発に若干注意する必要があります。</p>
-
-<ol>
-       <li><code>nucleus_item</code> などの固定されたテーブル名の代わりに、テーブル名のプレフィックスを生成するために <code>sql_table('item') </code>というグローバルファンクションを利用します。</li>
-       <li><code>supportsFeature('SqlTablePrefix')</code> が呼ばれたときにプラグインが1(真)を返すようにします。これがないと、カスタムプレフィックスがセットされている場合でバージョンが2.0より大きいNucleusではプラグインをロードできません(用心のため)。</li>
-</ol>
-
-<p class="note">v2.0までのNucleusではグローバルファンクション <code>sql_table</code> は利用できないことに注意してください。もしこのメソッドを用いつつ、プラグインをv2.0以下のNucleusで動作させたい場合は、以下のコードをプラグインクラスの前に追加してください。</p>
-
-<pre class="example"><code>&lt;?
-
-// プラグインがNucleusバージョン2.0以下と互換性を持つために必要
-if (!function_exists('sql_table'))
-{
-       function sql_table($name) {
-               return 'nucleus_' . $name;
-       }
-}
-
-class NP_HelloWorld extends NucleusPlugin {
-...
-}
-
-?&gt;</code></pre>
-
-<h2>独自テーブル</h2>
-
-<p>もしプラグイン独自のテーブルが必要なら、<code>install</code>メソッドの中で独自テーブルを生成し、<code>unInstall</code>メソッドの中でそれを削除するようにします。</p>
-
-<p>いくつかの注意点</p>
-<ul>
-       <li><code>nucleus_plug_<em>plugname</em></code> のように、他のプラグインと競合しないテーブル名を考えてください。カスタムプレフィックスに対応するため、テーブル名を
-       <code>sql_table('plug_plugname')</code> で生成してください。
-       </li>
-       <li>自分自身でデータベース接続をする必要はありません。PHPコマンド <code>mysql_query()</code> を使ってSQL命令を実行できます。</li>
-       <li>自分でデータベース接続をする場合、後でNucleusデータベースへの接続を復元するようにしてください。自前処理の後で <code>sql_connect()</code>  を呼ぶことで可能です。頻繁な再接続を避けるために、コンストラクタでそれを行うのも良いです。<code>$this- &gt;db</code>のリンクIDを保持でき、各クエリにそれを渡すことができます。</li>
-       <li>バックアップ機能を使う時は、独自テーブルもバックアップに含めるよう、<code>getTableList()</code> を再定義してください。</li>
-</ul>
-
-<h1>プラグイン管理エリア<a name="admin" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>Ver2.5から、Nucleusの管理エリアに統合されたプラグイン管理エリアを作成できます。これらのページは従来のプラグイン管理ページや左側のクイックメニューからアクセスできます。</p>
-
-<h2>基本</h2>
-
-<p>管理エリアを提供するには、次のステップが必要です。</p>
-
-<ol>
-  <li>プラグインディレクトリに<strong>プラグイン名</strong>のサブディレクトリを作ります。たとえばプラグイン名が<code>NP_PluginName</code>なら、'pluginname'です。ディレクトリ名はすべて小文字で!</li>
-  <li>
-       そのディレクトリで、次のような<strong>index.php</strong>を用意します。
-       <pre><code>&lt;?php
-
-       // if your 'plugin' directory is not in the default location,
-       // edit this variable to point to your site directory
-       // (where config.php is)
-       $strRel = '../../../';
-
-       include($strRel . 'config.php');
-       if (!$member->isLoggedIn())
-               doError('You\'re not logged in.');
-
-       include($DIR_LIBS . 'PLUGINADMIN.php');
-
-       // create the admin area page
-       $oPluginAdmin = new PluginAdmin('<strong>PluginName</strong>');
-       $oPluginAdmin->start();
-
-       echo '&lt;h2&gt;プラグイン名&lt;/h2&gt;';
-
-       echo '&lt;p&gt;<strong>ページ内容</strong>&lt;p&gt;';
-
-       $oPluginAdmin->end();
-
-?&gt;</code></pre>
-  </li>
-  <li>
-       プラグイン側に次のコードを挿入し、クイックメニューイベントに登録します。
-    <pre><code>function event_QuickMenu(&amp;$data) {
-               array_push(
-                       $data['options'],
-                       array(
-                               'title' => '<strong>プラグイン名</strong>',
-                               'url' => $this->getAdminURL(),
-                               'tooltip' => '<strong>ツールチップテキスト</strong>'
-                       )
-               );
-       }</code></pre>
-  </li>
-  <li>
-       プラグイン側に次の関数を記述します。
-    <pre><code>function hasAdminArea()
-{
-       return 1;
-}</code></pre>
-  </li>
-</ol>
-
-<h2>考慮すること</h2>
-
-<ul>
- <li>登録できるからといって安易にクイックメニューへ登録しないこと。クイックメニューにプラグインが100個並んだりしたらかなりウンザリするでしょう。ですので、クイックメニューに登録する場合でも、クイックメニュー登録を有効・無効化するプラグインオプションを(グローバルまたはメンバーオプションで)用意することを考えてください。</li>
- <li><code>プラグインディレクトリが nucleus/plugins/ ではない場合は、index.php内の $strRel</code> 変数は手動で書き換える必要があります。</li>
- <li>管理エリアのアウトプットが<strong>正しいXHTML</strong>になっているか確認してください。正しくないと、MozillaなどのGeckoベースのブラウザでページ表示が崩れます。</li>
-</ul>
-
-<h2>PluginAdmin クラス</h2>
-
-<p><code>PluginAdmin</code> クラスは助けになります。これを一度生成すれば、<code>$oPluginAdmin->plugin</code> でプラグインのインスタンスにアクセスできます。</p>
-
-<h1>プラグイン用ヘルプページ <a name="help" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>Nucleus v3.2から、プラグインの機能の概要、利用できるスキン・テンプレート変数、さらに詳細な情報のありかなどを示すヘルプページを提供可能になりました。</p>
-
-<p>ヘルプページは管理画面のプラグイン一覧からアクセス可能になります。</p>
-
-<h2>基本</h2>
-<p>ヘルプページを提供するために、次のステップが必要です。</p>
-<ol>
-<li>プラグインディレクトリに、プラグイン名をつけたサブディレクトリを作成します。ディレクトリ名は小文字であることに注意します。<a href="#admin">管理エリア</a>を作るときと同様です。</li>
-<li>そのディレクトリの中に help.html を作り、プラグインについての文章を記述します。次の雛型からはじめると良いでしょう。
-<pre><code>&lt;h3&gt;プラグインの概要&lt;/h3&gt;
-
-&lt;p&gt;このプラグインはヘルプページがいかに機能するかを示すためだけのものです&lt;/p&gt;
-
-&lt;h3&gt;インストール&lt;/h3&gt;
-
-&lt;p&gt;これを読めてるならインストールは正しく出来てます :-)&lt;/p&gt;
-
-&lt;h3&gt;スキン変数&lt;/h3&gt;
-
-&lt;p&gt;このプラグインはただのテストケースなのでスキン・テンプレート変数はありませんが、書くとすれば。
-
-&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;%HelpPageTestCase1%&gt;&lt;/b&gt;: なにかをする&lt;/li&gt;
-&lt;li&gt;&lt;b&gt;&lt;%HelpPageTestCase1(foobar)%&gt;&lt;/b&gt;: 別のなにかをする&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;
-
-&lt;h3&gt;サポートとバグ報告&lt;/h3&gt;
-
-&lt;p&gt;さらなるサポートやバグ報告のために、次のフォーラムのスレッドを利用してください。
-&lt;a href="http://forum.nucleuscms.org/viewtopic.php?t=&lt;トピックID&gt;"&gt;
-http://forum.nucleuscms.org/viewtopic.php?t=&lt;トピックID&gt;&lt;/a&gt;&lt;/p&gt;
-
-&lt;h3&gt;バージョン履歴&lt;/h3&gt;
-
-&lt;ul&gt;&lt;li&gt;Version 0.1: 最初のテストケースバージョン&lt;/li&gt;
-&lt;li&gt;Version 0.0: その前のバージョン ;-)&lt;/li&gt;&lt;/ul&gt;</code></pre>
-</li>
-<li>supportsFeature('HelpPage') で0より大きい数字を返すように設定します。
-<pre><code>function supportsFeature($what) {
-       switch($what) {
-       case 'HelpPage':
-               return 1;
-         default:
-               return 0;
-       }
-  }</code></pre>
-</li>
-</ol>
-
-<h1>プラグイン依存チェック <a name="dependency" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
-
-<p>v3.2から、他のプラグインとの依存関係を宣言する新しいプラグインインターフェイスが追加されました。他のプラグインの機能を必要とするプラグインに利用できます。特に依存関係が成立しなくて正しく機能しない状態を検知するときに便利です。</p>
-
-<h2>この機能を利用するプラグインの書き方</h2>
-
-<p>現実世界での例からはじめましょう。</p>
-
-<p>NP_PageLinkList は NP_BlogWithOffset の機能を利用するため、利用者には NP_BlogWithOffset のインストール後に NP_PageLinkList をインストールさせたいとします。NucleusはこのAPIによって、インストール前に依存関係を検知させる方法をプラグインに提供します。</p>
-
-<p>このケースでは、NP_PageLinkList 側に NP_BlogWithOffset が必要だということを認識させるコードを埋め込みます。プラグインがインストールされる際に、Nucleusコアは <code>getPluginDep()</code> というファンクションを呼び出します。このファンクションは必要なプラグインのリストを返し、コアはインストール済みのプラグインをチェックして、もし依存関係に欠如があればインストールを拒否します。</p>
-
-<p>必要なことは NP_PageLinkList にこのファンクションを追加する、ただそれだけです。</p>
-
-<pre><code>function getPluginDep() {
-        return array('NP_BlogWithOffset');
-}</code></pre>
-
-<p>このプラグイン依存チェックは、他のプラグインが依存しているプラグインがアンインストールされることも防ぎます。</p>
-
-</body>
-</html>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+    <meta http-equiv="Content-Style-Type" content="text/css" />\r
+    <meta http-equiv="Content-Script-Type" content="text/javascript" />\r
+    <link rel="index" href="./index.html" />\r
+    <title>Nucleus - プラグイン API</title>\r
+    <link rel="stylesheet" type="text/css" href="styles/manual.css" />\r
+    <style type="text/css">\r
+        /* refence parameters (greenish) */\r
+        .ref {\r
+            background-color: #c9f2d4;\r
+            color: #444;\r
+            padding-left:5px;\r
+            letter-spacing:1px;\r
+        }\r
+\r
+        /* object parameters */\r
+        .obj {\r
+            color: #230bb7;\r
+            font-style: italic;\r
+            padding-left:5px;\r
+            letter-spacing:1px;\r
+        }\r
+        .obj:after {\r
+            content: " (object)";\r
+        }\r
+\r
+        /* read-only parameters (non-ref; reddish) */\r
+        .ro {\r
+            background-color: #ffddce;\r
+            color: #444;\r
+            padding-left:5px;\r
+            letter-spacing:1px;\r
+        }\r
+        td ul {\r
+            list-style-image:none;\r
+            list-style-type:none;\r
+            padding:0;\r
+            margin:0;\r
+        }\r
+    </style>\r
+</head>\r
+<body>\r
+<div id="body">\r
+\r
+<div class="heading">\r
+<a id="top" name="top">プラグイン API</a>\r
+<em>2008年9月5日</em>\r
+</div>\r
+\r
+<div class="note-trans"><strong>訳者注:</strong> \r
+    <ul>\r
+        <li>このドキュメントの原文は以下のURLにあります。<br />\r
+         <a href="http://nucleuscms.org/documentation/devdocs/plugins.html">http://nucleuscms.org/documentation/devdocs/plugins.html</a></li>\r
+        <li>誤訳にお気づきの方は<a href="http://japan.nucleuscms.org/bb/viewforum.php?f=7">NucleusCMS日本語フォーラム</a>までご連絡いただけると助かります。</li>\r
+    </ul>\r
+</div>\r
+\r
+<div class="note"><strong>注:</strong> \r
+    <ul>\r
+        <li>このドキュメントは基本的なプラグインの書き方についての情報を提供しています。さらに質問がある方は <a href="http://forum.nucleuscms.org/viewforum.php?f=10">Plugin\r
+      Development Forum</a> (<a href="http://japan.nucleuscms.org/bb/viewforum.php?f=5">日本語フォーラム</a>)をご覧ください。</li>\r
+        <li>Nucleusバージョン1.5以降に導入されたメソッドとイベントには、導入時のバージョン情報を付記しています。それらの機能を利用するときは、<code>getMinNucleusVersion</code> を適切に設定するのを忘れないでください。</li>\r
+    </ul>\r
+</div>\r
+\r
+<h1>はじめに</h1>\r
+\r
+<p>\r
+<a href="./index.html">開発者向けドキュメントの目次へ戻る</a>\r
+</p>\r
+\r
+<p>\r
+このドキュメントはNucleusプラグインの作り方についての解説です。 \r
+</p>\r
+\r
+<h1><a id="toc" name="toc">目次</a></h1>\r
+\r
+<ul>\r
+    <li><a href="#introduction">イントロダクション</a></li>\r
+    <li><a href="#firstplug">はじめてプラグインを書いてみる</a></li>\r
+    <li><a href="#nucleusplugin"><code>NucleusPlugin</code> クラスの概要</a></li>\r
+    <li><a href="#skinvars"><code>&lt;%plugin(...)%&gt;</code> スキン変数</a></li>\r
+    <li><a href="#templatevars"><code>&lt;%plugin(...)%&gt;</code> テンプレート変数</a></li>    \r
+    <li><a href="#actions"><code>action.php</code> を使ったアクション</a></li>\r
+    <li><a href="#events">イベントとイベント登録の仕方</a></li>\r
+    <li><a href="#options">オプションを保存する</a></li>\r
+    <li><a href="#tables">データベース・テーブル</a></li>\r
+    <li><a href="#admin">プラグイン管理エリアの提供</a></li>\r
+    <li><a href="#help">ヘルプページの提供</a></li>\r
+    <li><a href="#dependency">プラグイン依存チェック</a></li>\r
+       <li><a href="#internationalization">プラグインの国際化</a></li>\r
+       <li><a href="#skinvar-formatting">スキン変数の出力の書式</a></li>\r
+       <li><a href="#additional-reading">追記事項</a></li>\r
+<!--    <li><a href="#parser">Using the <code>PARSER</code> class</a></li>\r
+    <li><a href="#"></a></li>\r
+    <li><a href="#"></a></li>\r
+    <li><a href="#"></a></li>\r
+    <li><a href="#"></a></li>-->\r
+</ul>\r
+\r
+<h1>イントロダクション <a id="introduction" name="introduction" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>\r
+Nucleusプラグインによって、誰もがNucleusの提供する機能を、Nucleus内部のPHPコードを変更することなく拡張することができます。プラグインはあるメソッドを実装したシンプルなPHPスクリプトで、Nucleusユーザー同士で簡単に交換することができます。インストールは簡単で、プラグインディレクトリにファイルをアップし、Nucleusにそれを認識させるだけです。\r
+</p>\r
+\r
+<p>\r
+プラグインの利点は以下のとおりです。\r
+</p>\r
+\r
+<ul>\r
+    <li>実装について詳しくしらなくてもNucleusフレームワークに簡単に機能を追加できる</li>\r
+    <li>必要なプラグインだけをインストールでき、ページ生成にかかる時間を節約できる</li>\r
+</ul>\r
+\r
+<p>\r
+すべてのプラグインファイルは <code>config.php</code> に記述されたディレクトリに置く必要があります。一般的に、それは <code>/your/path/nucleus/plugins/</code>  になるでしょう。プラグインファイル名は <code>NP<em>_name</em>.php</code> という形式を用いることにより認識されます。プラグインによっては、追加ファイルを格納する同名のサブディレクトリや、管理エリアを必要とします。\r
+</p>\r
+\r
+<div class="note">\r
+<strong>注:</strong> プラグイン名は大文字・小文字を識別しますので、<code>Np_</code> や <code>np_</code> ではなく、<code>NP_</code> で始まることに気をつけてください。またプラグインがサブディレクトリを使用する場合は、サブディレクトリの名称は<em>すべて小文字にします</em>。\r
+</div>\r
+\r
+\r
+\r
+\r
+<h1>はじめてプラグインを書いてみる<a id="firstplug" name="firstplug" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>\r
+では、シンプルなプラグインを書いてみましょう。基本的にプラグインは、あらかじめ定義された <code>NucleusPlugin</code> クラスを継承したPHPクラスです。以下は<code>HelloWorld</code>プラグインの例です。\r
+</p>\r
+\r
+<pre class="example"><code>&lt;?php\r
+\r
+class NP_HelloWorld extends NucleusPlugin\r
+{\r
+    // プラグインの名前\r
+    function getName()\r
+    {\r
+        return 'Hello World';\r
+    }\r
+\r
+    // プラグインの作者\r
+    function getAuthor()\r
+    {\r
+        return 'Wouter Demuynck';\r
+    }\r
+\r
+    // プラグインのサイトURL\r
+    // mailto:foo@bar.com の形式も可\r
+    function getURL()\r
+    {\r
+        return 'http://nucleuscms.org/';\r
+    }\r
+\r
+    // プラグインのバージョン\r
+    function getVersion()\r
+    {\r
+        return '1.0';\r
+    }\r
+\r
+    // インストール済みのプラグインリストに表示される説明文\r
+    function getDescription()\r
+    {\r
+        return 'Just a sample plugin.';\r
+    }\r
+\r
+    function doSkinVar($skinType)\r
+    {\r
+        echo 'Hello World!';\r
+    }\r
+\r
+    function supportsFeature ($what)\r
+    {\r
+        switch ($what)\r
+        {\r
+            case 'SqlTablePrefix':\r
+                return 1;\r
+            default:\r
+                return 0;\r
+        }\r
+    }\r
+\r
+}\r
+?&gt;</code></pre>\r
+\r
+<ol>\r
+    <li>\r
+        このコードをコピーし、 <code>NP_HelloWorld.php</code> と名づけて保存し、プラグインディレクトリに置きます。<em>最後の <code>?&gt;</code> の後や、最初の <code>&lt;?php</code> の前にスペースがないことを確認しましょう</em>。ところでNP は &quot;Nucleus Plugin&quot; って意味ですよ :-) 念のため。\r
+    </li>\r
+    <li>Nucleusの管理画面を開き、<em>Nucleusの管理>プラグインの管理</em>にいきます。</li>\r
+    <li><em>HelloWorld</em> プラグインがインストール可能な状態になっているはずですので、インストールします。すべてがうまくいけば、インストール済みプラグインリストに追加されます。</li>\r
+    <li>\r
+        あなたのスキンの1つを編集し、実際のページに表示する箇所に次の文を挿入します。\r
+<pre class="example"><code>&lt;%HelloWorld%&gt;</code></pre>\r
+        注意:カッコ内の名称 (<code>HelloWorld</code>) は大文字小文字を識別します!\r
+    </li>\r
+    <li>さて、編集したスキンから生成されるページを見てみましょう。プラグイン変数を追加した場所に &quot;Hello World&quot; と見えますね?</li>\r
+</ol>\r
+\r
+<p>\r
+ここまではそれほど難しくなかったと思います。さらに読み進めて理解してください。\r
+</p>\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+<h1>NucleusPlugin クラスの概要 <a id="nucleusplugin" name="nucleusplugin" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>すべてのプラグインは、<code>NucleusPlugin</code> というPHPクラスを継承しなければなりません。難しそうに聞こえても心配ご無用、大丈夫です。このPHPクラスの継承によって、プラグインに必要なメソッドだけを実装でき、いくつかの補助ファンクションにアクセスでき、つまりはあなたの人生はよりラクになります。</p>\r
+\r
+<p>下記は <code>NucleusPlugin</code> が提供する、再実装可能なメソッドの概要です。このクラス自身のソースコードを見たければ、<code>nucleus/libs/PLUGIN.php</code>にあります。</p>\r
+\r
+<table summary="An overview of the redefinable methods in the class NucleusPlugin">\r
+    <caption><code>NucleusPlugin</code> クラスの概要(再定義可能なメソッド)</caption>\r
+    <tr>\r
+        <th abbr="method">メソッド名</th><th abbr="desc">説明</th>\r
+    </tr>\r
+    <tr>\r
+        <td><code>getName()</code></td>\r
+        <td>プラグイン名を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では <code>Undefined</code> を返すため、必ず再定義されないといけません。</td>       \r
+    </tr>\r
+    <tr>\r
+        <td><code>getAuthor()</code></td>\r
+        <td>プラグインの作者名を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では <code>Undefined</code> を返すため、必ず再定義されないといけません。</td>     \r
+    </tr>\r
+    <tr>\r
+        <td><code>getURL()</code></td>\r
+        <td>プラグインをダウンロード可能な、またはプラグインの追加情報のあるサイトのURLを返します。そのようなサイトがない場合は作者のメールアドレスへの mailto:リンクが適切です。デフォルトの実装では <code>Undefined</code> を返すため、必ず再定義されないといけません。</td>      \r
+    </tr>\r
+    <tr>\r
+        <td><code>getDescription()</code></td>\r
+        <td>プラグインに関する説明文(長文)を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では <code>Undefined</code> を返します。</td>       \r
+    </tr>\r
+    <tr>\r
+        <td><code>getVersion()</code></td>\r
+        <td>プラグインの現在のバージョンを返します。デフォルトは <code>0.0</code> を返します。</td>     \r
+    </tr>\r
+    <tr>\r
+        <td><code>getMinNucleusVersion()</code></td>\r
+        <td>(v2.0b) 最低限必要なNucleusのバージョンを返します。デフォルトは <code>155</code> (v1.55)を返します。後に導入されたプラグイン関連機能を利用している場合は、このファンクションを実装するようお願いします(例: v2.0 =&gt; 200)。ただし、Nucleus v1.55 はこのファンクションを使用しないため、新機能を利用したプラグインが(対応する前のシステムに)インストールされる可能性が残っています。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>getMinNucleusPatchLevel()</code></td>\r
+        <td>(v3.1) 最低限必要なNucleusのバージョン(<code>getMinNucleusVersion</code>)での、最低限必要なパッチレベルを返します。デフォルトは <code>0</code> を返します。このファンクションは主に新しいプラグインの機能がNucleusの最新版のパッチによって可能になる場合に用いられます。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>init()</code></td>\r
+        <td>プラグインを初期化します。このメソッドはプラグインオブジェクトが生成された直後に呼び出され、<code>plugid</code>属性がセットされます。デフォルトではこのメソッドは何もしません。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>doSkinVar($skinType)</code></td>\r
+        <td><code>&lt;%plugin(...)%&gt;</code> スキン変数によってプラグインが呼び出されたときにこのメソッドが呼ばれます。<code>$skinType</code> パラメータはプラグインが呼ばれた場所のスキンタイプに該当します(<code>item</code>, <code>archive</code>, ...)。パラメータが一つしかないことに混乱しないでください。複数パラメータを渡すことも<strong>可能</strong>です。<a href="#skinvars"><code>doSkinVar</code> メソッドの実装に関する詳細情報はこちら</a>。デフォルトではこのメソッドはなにも出力しません。</td>       \r
+    </tr>\r
+    <tr>\r
+        <td><code>doTemplateVar(&amp;$item)</code></td>\r
+        <td>基本的に <code>doSkinVar</code> と同じですが、今度は<em>テンプレート</em>内(<code>item header/body/footer</code> と <code>dateheader/footer</code>)での<code>&lt;%plugin(...)%&gt;</code> 変数からの呼び出しになります。デフォルトではこのメソッドはテンプレートをスキンタイプとみなして<code>doSkinVar</code> メソッドに処理を渡します。<a href="#templatevars"><code>doTemplateVar</code> メソッドの実装に関する詳細情報はこちら</a></td>       \r
+    </tr>\r
+    <tr>\r
+        <td><code>doTemplateCommentsVar(&amp;$item, &amp;$comment)</code></td>\r
+        <td>(v2.0b) 基本的に <code>doSkinVar</code> と同じですが、今度は<em>テンプレート</em>内(コメント部分)での<code>&lt;%plugin(...)%&gt;</code> 変数からの呼び出しになります。デフォルトではこのメソッドはテンプレートをスキンタイプとみなして<code>doSkinVar</code> メソッドに処理を渡します。<a href="#templatevars"><code>doTemplateCommentsVar</code>メソッドの実装に関する詳細情報はこちら</a></td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>doItemVar(&amp;$item, &amp;$param)</code></td>\r
+        <td>(v3.30) 基本的に <code>doSkinVar</code> と同じですが、今度は<em>投稿した記事</em>内での<code>&lt;%plugin(...)%&gt;</code> 変数からの呼び出しになります。渡される引数のうち<code>&amp;$item</code>は変数が記述されているアイテムのフルオブジェクトを、<code>&amp;$param</code>はプラグインごとの関数のパラメータになります。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>doIf($key, $value)</code></td>\r
+        <td>(v3.30) スキン変数 <code>if/ifnot/elseif/elseifnot</code> に対して、プラグイン独自の判断をする事が出来るメソッドです。通常は、<code>$key</code> 変数が <code>$value</code> の値を持っているかを調べて、 <code>true</code> か <code>false</code> を返すことになります。このメソッドをプラグインに実装する場合は、作者は使用方法のドキュメントを書くようにしてください。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>doAction($type)</code></td>\r
+        <td>プラグインがユーザーインタラクションを求めたとき、 <code>action.php</code>を介してこのメソッドがそれを与えます。これはNucleus自身が新しいコメントや投票を処理するのに使用するスクリプトです。正しいパラメータを用いることで、プラグインからの <code>doAction</code> メソッドを呼び出せます。<code>$type</code> はオプションのメッセージタイプに該当します。<code>doAction</code> メソッド内で、リクエストからの追加の変数にアクセスできます。デフォルトではこのメソッドがエラーメッセージをトリガーすると<code>'No Such Action'</code>という文字列を返します。<a href="#actions"><code>doAction</code> に関する詳細情報はこちら</a></td>        \r
+    </tr>\r
+    <tr>\r
+        <td><code>install()</code></td>\r
+        <td>このメソッドはプラグインがインストールされた際に呼ばれます。データベース・テーブルの生成やプラグインオプションの生成などの初期化作業を行うことができます。デフォルトではこのメソッドは何もしません。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>unInstall()</code></td>\r
+        <td>プラグインがアンインストールされた際に呼ばれます。この時点でデータベースに作られたプラグイン情報を消去すると良いです。デフォルトではこのメソッドは何もしません。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>getEventList()</code></td>\r
+        <td>プラグインはイベント登録が可能です。イベントはNucleusが何かアクションを起こすたびに生成されます。たとえば、<code>AddItem</code> イベントは、このイベントを登録しているすべてのプラグインを呼び出します。呼び出されるメソッドは <code>event_AddItem($params)</code>になります。 <code>$params</code> パラメータは、例えば <code>AddItem</code>     の <code>itemid</code> のような、情報フィールドを複数持つ連想配列です。デフォルトではどのイベントにも登録されていないことを示す空の配列を返します。<a href="#events">イベントに関する詳細情報はこちら</a></td>        \r
+    </tr>\r
+    <tr>\r
+        <td><code>getTableList()</code></td>\r
+        <td>このメソッドはプラグインが生成したデータベース・テーブルの配列を返します。これはNucleusが提供するバックアップ機能で利用されるので、プラグインテーブルをバックアップに含めることができます。デフォルトでは空の配列を返します。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>hasAdminArea()</code></td>\r
+        <td>プラグインが独自の管理エリアをもつ場合 1 を、そうでない場合 0 を返します。デフォルトでは <code>0</code> を返します。</td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>getPluginDep()</code></td>\r
+        <td>(v3.2) プラグイン名の配列を返します。Nucleusはこれらのプラグインが前もってインストールされてない場合、プラグインのインストールを拒否します。デフォルトでは空の配列が返されます。<a href="#dependency">プラグイン依存に関する詳細情報はこちら</a></td>\r
+    </tr>\r
+</table>\r
+\r
+<p>実装可能なメソッドの次は、<code>NucleusPlugin</code> クラスが提供する、再実装<strong>すべきでない</strong>幾つかの特殊メソッドです。これらはプラグイン内で、<code>$this-&gt;functionName()</code>シンタックスを利用して呼び出します。</p>\r
+\r
+<table summary="An overview of the auxiliary methods in the class NucleusPlugin. You should NOT redefine these">\r
+    <caption><code>NucleusPlugin</code> クラスの概要(再定義不可能なメソッド)</caption>\r
+    <tr>\r
+        <th abbr="method">メソッド名</th><th abbr="desc">説明</th>\r
+    </tr>\r
+    <tr>\r
+        <td>\r
+            <ul>\r
+                <li><code>createOption(...)</code></li>\r
+                <li><code>createBlogOption(...)</code>(v2.2)</li>\r
+                <li><code>createCategoryOption(...)</code>(v2.2)</li>\r
+                <li><code>createMemberOption(...)</code>(v2.2)</li>\r
+                <li><code>createItemOption(...)</code>(v3.2)</li>\r
+            </ul>\r
+        </td>\r
+        <td><a href="#options" title="More info on options">新しいオプションを生成します。</a></td>     \r
+    </tr>\r
+    <tr>\r
+        <td>\r
+            <ul>\r
+                <li><code>deleteOption(...)</code></li>\r
+                <li><code>deleteBlogOption(...)</code>(v2.2)</li>\r
+                <li><code>deleteCategoryOption(...)</code>(v2.2)</li>\r
+                <li><code>deleteMemberOption(...)</code>(v2.2)</li>\r
+                <li><code>deleteItemOption(...)</code>(v3.2)</li>\r
+            </ul>\r
+        </td>\r
+        <td><a href="#options" title="More info on options">オプションを削除します。</a></td>       \r
+    </tr>\r
+    <tr>\r
+        <td>\r
+            <ul>\r
+                <li><code>setOption(...)</code></li>\r
+                <li><code>setBlogOption(...)</code>(v2.2)</li>\r
+                <li><code>setCategoryOption(...)</code>(v2.2)</li>\r
+                <li><code>setMemberOption(...)</code>(v2.2)</li>\r
+                <li><code>setItemOption(...)</code>(v3.2)</li>\r
+            </ul>\r
+        </td>\r
+        <td><a href="#options" title="More info on options">オプションに値をセットします。</a></td>     \r
+    </tr>\r
+    <tr>\r
+        <td>\r
+            <ul>\r
+                <li><code>getOption(...)</code></li>\r
+                <li><code>getBlogOption(...)</code>(v2.2)</li>\r
+                <li><code>getCategoryOption(...)</code>(v2.2)</li>\r
+                <li><code>getMemberOption(...)</code>(v2.2)</li>\r
+                <li><code>getItemOption(...)</code>(v3.2)</li>\r
+            </ul>\r
+        </td>\r
+        <td><a href="#options" title="More info on options">オプションの値を取得します。</a></td>       \r
+    </tr>\r
+    <tr>\r
+        <td>\r
+            <ul>\r
+                <li><code>getAllBlogOptions(...)</code>(v2.2)</li>\r
+                <li><code>getAllCategoryOptions(...)</code>(v2.2)</li>\r
+                <li><code>getAllMemberOptions(...)</code>(v2.2)</li>\r
+                <li><code>getAllItemOptions(...)</code>(v3.2)</li>\r
+            </ul>\r
+        </td>\r
+        <td><a href="#options" title="More info on options">与えられたオプションにより、すべての値(コンテクストごとの一つの値)の連想配列を返します。</a></td>     \r
+    </tr>\r
+\r
+    <tr>\r
+        <td>\r
+            <ul>\r
+                <li><code>getBlogOptionTop(...)</code>(v3.2)</li>\r
+                <li><code>getMemberOptionTop(...)</code>(v3.2)</li>\r
+                <li><code>getCategoryOptionTop(...)</code>(v3.2)</li>\r
+                <li><code>getItemOptionTop(...)</code>(v3.2)</li>\r
+            </ul>\r
+        </td>\r
+        <td><a href="#options" title="More info on options">与えられたオプションにより、すべての値のうちの最初の値を返します。</a></td>\r
+    </tr>\r
+    <tr>\r
+        <td><code>getID()</code></td>\r
+        <td>このプラグインのIDを返します(このIDはNucleus内部で利用されるものです)。</td>      \r
+    </tr>\r
+    <tr>\r
+        <td><code>getAdminURL()</code></td>\r
+        <td>プラグインの管理エリアが置かれたURLを返します(そのような管理エリアがない場合は、この情報は無効です)。</td>        \r
+    </tr>\r
+    <tr>\r
+        <td><code>getDirectory()</code></td>\r
+        <td>プラグインの追加ファイルが格納されたサーバーのファイルシステムのパスを返します(そのようなファイルがない場合は、この情報は無効です)。結果は&quot;<code>.../nucleus/plugins/<em>plugname</em>/</code>&quot;のようになります。</td>      \r
+    </tr>\r
+    <tr>\r
+        <td><code>getShortName()</code></td>\r
+        <td>"NP_"部分を省き、全てを小文字にしたプラグインのクラス名を返します。この情報は <code>getAdminURL</code> と <code>getDirectory</code> で使用されます。</td>       \r
+    </tr>\r
+\r
+</table>\r
+\r
+<h1>スキン変数<a id="skinvars" name="skinvars" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<h2>解説</h2>\r
+\r
+<p>\r
+独自のスキン変数を生成し、<code>&lt;%plugin(<em>PlugName,parameters</em>)%&gt;</code> または <code>&lt;%PlugName(parameters)%&gt;</code>で呼び出すことが出来ます(すでに存在するスキン変数とかぶらない場合)。パラメータはカンマ区切りです。\r
+</p>\r
+\r
+<p>\r
+スキン変数を扱うには、<code>doSkinVar</code> メソッドを実装する必要があります。いくつかの例を以下に示します。\r
+</p>\r
+\r
+<pre class="example"><code>function doSkinVar($skinType)\r
+function doSkinVar($skinType, $param1, $param2)\r
+function doSkinVar($skinType, $skinVar, $param1, $param2)\r
+function doSkinVar($skinType, $skinVar, $param1 = 'default value')</code></pre>\r
+\r
+<ul>\r
+    <li><code>$skinType</code> パラメータは、'index', 'item', 'archive', 'archivelist', 'member', 'error', 'search', 'imagepopup',  <a href="#templatevars" title="Information on templatevars">'template'</a>のうちの一つを取ります</li>\r
+    <li><code>$skinVar</code> は、スキン変数のタイプとして解釈される実質的に最初のパラメータになります(例:<code>&lt;%plugin(PlugName,VarType)%&gt;</code>)。</li>\r
+    <li><code>doSkinVar()</code>(パラメータ無し)を使い、PHPファンクションの<code>func_get_args()</code>を用いてパラメータを取得することができます。引数の数の異なる、タイプの違うスキン変数を扱うときに便利です。</li>\r
+</ul>\r
+\r
+<h2>ノート</h2>\r
+\r
+<ul>\r
+    <li>(v2.0b) グローバル変数としてパースされている <code>$currentSkinName</code> を使ってスキンの名前を取得できます。</li>\r
+</ul>\r
+\r
+\r
+\r
+\r
+<h1>テンプレート変数<a id="templatevars" name="templatevars" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<h2>解説</h2>\r
+\r
+<p>\r
+テンプレートプラグイン変数はスキンプラグイン変数と同様に働きますが以下の2点が異なります。</p>\r
+\r
+<ol>\r
+    <li>スキン内ではなくテンプレート内から呼ばれます。</li>\r
+    <li>$skinTypeパラメータを取りません。代わりに現在パースされているアイテムやコメントの情報付きの追加パラメータを取ります。\r
+    <ul>\r
+            <li><code>doTemplateVar</code> メソッドは <code>&amp;$item</code> パラメータを取ります。</li>\r
+            <li><code>doTemplateCommentsVar</code> メソッドは <code>&amp;$item</code> と <code>&amp;$comment</code> パラメータを取ります。</li>\r
+      </ul>\r
+        <strong>&amp;マークに注意!</strong>\r
+    </li>\r
+</ol>\r
+    \r
+<p>テンプレート変数はスキン変数と同じ要領で呼ばれます(<code>&lt;%plugin(PlugName,parameters)%&gt;</code> または <code>&lt;%PlugName(parameters)%&gt;</code>)。\r
+</p>\r
+\r
+<p>\r
+デフォルトでは、全てのテンプレート変数は'<code>template</code>'を<code>skintype</code>パラメータとして、<code>doSkinVar</code> メソッドに渡ります。\r
+</p>\r
+\r
+<p>\r
+独自の実装を提供したい場合は、<code>doTemplateVar</code> メソッドや <code>doTemplateCommentsVar</code> メソッドを再定義する必要があります。<code>skintype</code>パラメータが無くなる以外はdoSkinVarと同様に働きます。\r
+</p>\r
+\r
+<pre class="example"><code>function doTemplateVar(&amp;$item)\r
+function doTemplateVar(&amp;$item, $param1, $param2)\r
+function doTemplateVar(&amp;$item, $type, $param1, $param2)\r
+function doTemplateVar(&amp;$item, $type, $param1 = 'default value')\r
+function doTemplateCommentsVar(&amp;$item, &amp;$comment)\r
+function doTemplateCommentsVar(&amp;$item, &amp;$comment, $param1, $param2)\r
+function doTemplateCommentsVar(&amp;$item, &amp;$comment, $type, $param1, $param2)\r
+function doTemplateCommentsVar(&amp;$item, &amp;$comment, $type, $param1 = 'default value')</code></pre>\r
+\r
+<h2>ノート</h2>\r
+\r
+<ul>\r
+    <li>(v2.0b) グローバル変数として内部で利用される <code>$currentSkinName</code> を使ってテンプレートの名前を取得できます。</li>\r
+</ul>\r
+\r
+\r
+\r
+\r
+<h1>アクション<a id="actions" name="actions" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>プラグインは <code>action.php</code> を通してアクションを行うことができ、同様のスクリプトがコメントや投票の受け取りにも使用されてます。GETまたはPOSTのどちらかを通して呼び出せます。必要なパラメータは<code>action</code>('plugin'と指定)、<code>name</code>(プラグイン名)、<code>type</code>(リクエストされたアクションの種類)です。</p>\r
+\r
+<p>これらのアクションを有効にするために、<code>doAction($actionType)</code> メソッドをプラグイン内で実装する必要があります。リクエストからの追加パラメータは<code>requestVar('<em>name</em>')</code> で取得できます(<code>requestVar</code> はPHPが付加する magic_quotes_gpc に配慮しています)。</p>\r
+\r
+<p>\r
+<code>doAction</code> メソッドが文字列を返すとき、エラーとして解釈され、エラーメッセージが表示されます。\r
+</p>\r
+\r
+\r
+\r
+\r
+\r
+\r
+<h1>イベント<a id="events" name="events" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>\r
+Nucleusプラグインはなにか重要なことが起きたときに発生するイベントに登録可能です。プラグインはイベント発生の際にアクションを実行したり、テキストを出力したりできます。\r
+</p>\r
+\r
+<h2>例</h2>\r
+\r
+<p>\r
+下記は <code>PreAddComment</code> イベント(blogにコメントが追加される直前に生成されるイベント)にプラグインが登録する例です。\r
+</p>\r
+\r
+<pre class="example"><code>class NP_Acronyms extends NucleusPlugin {\r
+  ...\r
+  function getEventList() { return array('PreAddComment'); }\r
+  ...\r
+  function event_PreAddComment(&amp;$data) {\r
+    // 頭字語 HTML を置き換え\r
+    $data['comment']['body'] = \r
+        strreplace('HTML',\r
+                   '&lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt;',\r
+                   $data['comment']['body']);\r
+  }\r
+}\r
+</code></pre>\r
+\r
+<p>このプラグインはコメント中の'HTML'というテキストを'<code>&lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt;</code>'に置き換えます。acronymタグはHTMLタグで、頭字語についての追加情報を提供します。</p>\r
+\r
+<h2>イベント登録の仕方</h2>\r
+\r
+<p>イベント登録に必要なステップは以下になります。</p>\r
+\r
+<ol>\r
+    <li><code>getEventList</code> メソッドから返る配列にイベント名を追加します。</li>\r
+    <li><code>event_EventName($data)</code> という形でメソッドを生成し、この中でイベントを処理します。</li>\r
+</ol>\r
+\r
+<p>複数のプラグインが同じイベントに登録できます。管理エリアのプラグインリストの順序に従ってプラグインに通知が行きます。リストの上にあるプラグインほど早く通知されます。</p>\r
+\r
+<h2>パラメータ</h2>\r
+\r
+<p><code>event_EventName</code> メソッドはひとつだけ <code>$data</code> パラメータを持ち、それはイベントごとに内容が異なります。これは連想配列です。この連想配列に渡されたオブジェクトや配列は<strong>参照形式</strong>で渡されるため、これらに加えた変更は記憶されます。</p>\r
+\r
+<p>以下のイベントリストは、パラメータ変更がNucleusに知られるかどうかを示すために色を使い分けています。</p>\r
+\r
+<ul>\r
+    <li><var class="ref">参照渡し(緑)</var>: この種のパラメータに変更を加えるとNucleusに知られます。</li>\r
+    <li><var class="ro">値渡し(赤)</var>: プラグインイベントハンドラに渡される前に値がコピーされます。これらの変数への変更は自動的に破棄されます。.</li>\r
+</ul>\r
+\r
+<p>パラメータとして渡されるオブジェクトは<var class="obj">object</var>.として示されます。ほとんどのオブジェクトは参照渡しで、<var class="obj ref">object by ref</var>のように示されます。</p>\r
+\r
+<h2>イベントリスト</h2>\r
+\r
+<table summary="An overview of events to which a Nucleus Plugin can subscribe, and what parameters are passed along to the method that handles the event">\r
+    <caption>プラグインが登録できるイベント</caption>\r
+    <tr>\r
+        <th abbr="name">イベントの名前</th><th abbr="timing">イベントが発生するタイミング</th><th abbr="param">プラグインに渡されるパラメータ</th>\r
+    </tr>\r
+    <tr>\r
+        <td>InitSkinParse</td>\r
+        <td>スキンの初期化の直前</td>\r
+        <td><dl>\r
+            <dt class="obj ref">skin</dt>\r
+            <dd>パースする<code>SKIN</code>オブジェクト</dd>\r
+            <dt class="ro">type</dt>\r
+            <dd>スキンタイプ('index', 'item', 'archive', 'archivelist', 'member', 'error', 'search', 'imagepopup', 'fileparser'のいずれか)</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>PreSkinParse</td>\r
+        <td>スキンのパースの直前</td>\r
+        <td><dl>\r
+            <dt class="obj ref">skin</dt>\r
+            <dd>パースする<code>SKIN</code>オブジェクト</dd>\r
+            <dt class="ro">type</dt>\r
+            <dd>スキンタイプ('index', 'item', 'archive', 'archivelist', 'member', 'error', 'search', 'imagepopup', 'fileparser'のいずれか)</dd>\r
+            <dt class="ref">contents</dt>\r
+            <dd>スキンの内容</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostSkinParse</td>\r
+        <td>スキンのパースの直後</td>\r
+        <td><dl>\r
+            <dt class="obj ref">skin</dt>\r
+            <dd>パースする<code>SKIN</code>オブジェクト</dd>\r
+            <dt class="ro">type</dt>\r
+            <dd>スキンタイプ('index', 'item', 'archive', 'archivelist', 'member', 'error', 'search', 'imagepopup', 'fileparser'のいずれか)</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>PreItem</td>\r
+        <td>アイテムのパース前、ただしアイテムヘッダーのパース後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ref obj">item</dt>\r
+            <dd>アイテムデータを持つオブジェクト</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostItem</td>\r
+        <td>アイテムのパース後、ただしアイテムフッターのパース前</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ref obj">item</dt>\r
+            <dd>アイテムデータを持つオブジェクト</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreComment</td>\r
+        <td>コメントの表示前</td>\r
+        <td><dl>\r
+            <dt class="ref">comment</dt>\r
+            <dd>コメントデータを持つ連想配列</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostComment</td>\r
+        <td>コメントの表示後</td>\r
+        <td><dl>\r
+            <dt class="ref">comment</dt>\r
+            <dd>コメントデータを持つ連想配列</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreDateHead</td>\r
+        <td>日付ヘッダーのパース前</td>\r
+        <td><dl>\r
+            <dt class="obj ref">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ro">timestamp</dt>\r
+            <dd>日付ヘッダーのタイムスタンプ</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDateHead</td>\r
+        <td>日付ヘッダーのパース後</td>\r
+        <td><dl>\r
+            <dt class="obj ref">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ro">timestamp</dt>\r
+            <dd>日付ヘッダーのタイムスタンプ</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreDateFoot</td>\r
+        <td>日付フッターのパース前</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ro">timestamp</dt>\r
+            <dd>日付フッターのタイムスタンプ</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDateFoot</td>\r
+        <td>日付フッターのパース後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ro">timestamp</dt>\r
+            <dd>日付フッターのタイムスタンプ</dd>\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>LoginSuccess</td>\r
+        <td>ログイン成功後</td>\r
+        <td><dl>\r
+            <dt class="obj ref">member</dt>\r
+            <dd><code>MEMBER</code> オブジェクト</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>LoginFailed</td>\r
+        <td>ログイン失敗後</td>\r
+        <td><dl>\r
+            <dt class="ro">username</dt>\r
+            <dd>ログイン時に使われたユーザー名</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>Logout</td>\r
+        <td>ログアウト後</td>\r
+        <td><dl>\r
+            <dt class="ro">username</dt>\r
+            <dd>ログアウト時のユーザー名</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreBlogContent</td>\r
+        <td>blogの内容がスキン変数を通して挿入される前</td>\r
+        <td><dl>\r
+            <dt class="obj ref">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ro">type</dt>\r
+            <dd>呼び出されたスキン変数 ('blog', 'otherblog', 'archive', 'archivelist', 'item', 'searchresults', 'othersearchresults', 'categorylist', 'otherarchive', 'otherarchivelist')</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostBlogContent</td>\r
+        <td>blogの内容がスキン変数を通して挿入された後</td>\r
+        <td><dl>\r
+            <dt class="obj ref">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ro">type</dt>\r
+            <dd>呼び出されたスキン変数 ('blog', 'otherblog', 'archive', 'archivelist', 'item', 'searchresults', 'othersearchresults', 'categorylist', 'otherarchive', 'otherarchivelist')</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreAddComment</td>\r
+        <td>コメントがデータベースに追加される前</td>\r
+        <td><dl>\r
+            <dt class="ref">comment</dt>\r
+            <dd>コメントデータ(連想配列)</dd>\r
+            <dt class="ref">spamcheck</dt>\r
+            <dd>(v3.3) <em>SpamCheck</em>イベントの結果として返されるデータ構造(連想配列)</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddComment</td>\r
+        <td>コメントがデータベースに追加された後</td>\r
+        <td><dl>\r
+            <dt class="ref">comment</dt>\r
+            <dd>コメントデータ(連想配列)</dd>\r
+            <dt class="ref">commentid</dt>\r
+            <dd>コメントのID</dd>\r
+            <dt class="ref">spamcheck</dt>\r
+            <dd>(v3.3) <em>SpamCheck</em>イベントの結果として返されるデータ構造(連想配列)</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostRegister</td>\r
+        <td>新規ユーザーの登録後</td>\r
+        <td><dl>\r
+            <dt class="obj ref">member</dt>\r
+            <dd>新しい<code>MEMBER</code> オブジェクト</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddItem</td>\r
+        <td>アイテムがデータベースに追加された後</td>\r
+        <td><dl>\r
+            <dt class="ro">itemid</dt>\r
+            <dd>データベースに出来た新しい itemid</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostUpdateItem</td>\r
+        <td>アイテムがデータベースにアップデートされた直後</td>\r
+        <td><dl>\r
+            <dt class="ro">itemid</dt>\r
+            <dd>アイテムのID</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>PreAddItem</td>\r
+        <td>アイテムがデータベースに追加される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">title</dt>\r
+            <dd>タイトル</dd>\r
+            <dt class="ref">body</dt>\r
+            <dd>本文</dd>\r
+            <dt class="ref">more</dt>\r
+            <dd>拡張テキスト</dd>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ref">authorid</dt>\r
+            <dd>執筆者ID</dd>\r
+            <dt class="ref">timestamp</dt>\r
+            <dd>UNIX タイムスタンプ</dd>\r
+            <dt class="ref">closed</dt>\r
+            <dd>1 (コメント不可) or 0 (コメント可)</dd>\r
+            <dt class="ref">draft</dt>\r
+            <dd>1 (ドラフト) or 0 (非ドラフト)</dd>\r
+            <dt class="ref">catid</dt>\r
+            <dd>カテゴリーID</dd>\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>PreUpdateItem</td>\r
+        <td>データベースにあるアイテムが更新される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">itemid</dt>\r
+            <dd>アイテム ID</dd>\r
+            <dt class="ref">title</dt>\r
+            <dd>タイトル</dd>\r
+            <dt class="ref">body</dt>\r
+            <dd>本文</dd>\r
+            <dt class="ref">more</dt>\r
+            <dd>拡張テキスト</dd>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG オブジェクト</code> object</dd>\r
+            <dt class="ref">closed</dt>\r
+            <dd>1 (コメント不可) or 0 (コメント可)</dd>\r
+            <dt class="ref">catid</dt>\r
+            <dd>カテゴリーID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PrepareItemForEdit</td>\r
+        <td>アイテムをデータベースから取得した直後で、編集のためにユーザーに表示される前</td>\r
+        <td><dl>\r
+            <dt class="ref">item</dt>\r
+            <dd>アイテムデータを持つ連想配列</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreUpdateComment</td>\r
+        <td>コメントが更新され、データベースに保存される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">body</dt>\r
+            <dd>コメント本文</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PrepareCommentForEdit</td>\r
+        <td>コメントをデータベースから取得した直後で、編集のためにユーザーに表示される前</td>\r
+        <td><dl>\r
+            <dt class="ref">comment</dt>\r
+            <dd>コメントデータ(連想配列)</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PrePluginOptionsEdit</td>\r
+        <td>\r
+            <ul>\r
+                <li>(v2.0b) 'プラグインオプションの編集'フォームが生成される前</li>\r
+                <li>(v2.2) パラメータ追加</li>\r
+                <li>(v3.2) 各オプションにパラメータ追加</li>\r
+            </ul>\r
+        </td>\r
+        <td><dl>\r
+            <dt class="ro">context</dt>\r
+            <dd>(v2.2) <code>global</code>, <code>blog</code>, <code>member</code>, <code>item</code>, <code>category</code>のいずれか</dd>\r
+            <dt class="ref">options</dt>\r
+            <dd>次のインデックスをもつ連想配列: <code>name</code>, <code>value</code>, <code>oid</code>, <code>description</code>, <code>type</code>, <code>typeinfo</code>, <code>contextid</code>, <code>extra</code> 。追加オプションをここに加えることも可能(それらで何かの処理をするときはPostPluginOptionsUpdateの記述も必要)<br />\r
+            <code>extra</code>フィールドを用いて、オプションに追加HTML(たとえばフォームのコントロール)を追加できます。もしそうする場合、 <code>extra</code> に追加する前に <code>pid</code> と <code>getID()</code> を比較し、さらに <code>name</code> をチェックすべきです。</dd>\r
+            <dt class="ro">plugid</dt>\r
+            <dd>プラグイン ID (これが気になるなら、<code>GetID()</code>を見ると理解できる)(コンテクストがglobalのときのみ存在)</dd>\r
+            <dt class="ro">contextid</dt>\r
+            <dd>コンテクスト ID (blogid, memberid, catid, itemid コンテクストによる)</dd>\r
+\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>PrePluginOptionsUpdate</td>\r
+        <td>\r
+            (v3.2) プラグインオプションが更新される前。(このイベントを使ってオプションの新しい値を評価したり変更したりできます)\r
+        </td>\r
+        <td><dl>\r
+            <dt class="ro">context</dt>\r
+            <dd>(v2.2) <code>global</code>, <code>member</code>, <code>blog</code>, <code>item</code>, <code>category</code>のいずれか</dd>\r
+            <dt class="ro">plugid</dt>\r
+            <dd>プラグイン ID (これが気になるなら、<code>GetID()</code>を見ると理解できる)</dd>\r
+            <dt class="ro">optionname</dt>\r
+            <dd>オプション名</dd>\r
+            <dt class="ro">contextid</dt>\r
+            <dd>コンテクスト ID (blogid, memberid, catid, itemid コンテクストによる)</dd>\r
+            <dt class="ref">value</dt>\r
+            <dd>そのオプションの新しい値</dd>\r
+        </dl></td>\r
+\r
+    </tr>\r
+\r
+    <tr>\r
+        <td>PostPluginOptionsUpdate</td>\r
+        <td>\r
+            <ul>\r
+                <li>(v2.0b) プラグインオプションの更新後</li>\r
+                <li>(v2.2) コンテクストによって異なるパラメータ</li>\r
+            </ul>\r
+        </td>\r
+        <td><dl>\r
+            <dt class="ro">context</dt>\r
+            <dd>(v2.2) <code>global</code>, <code>member</code>, <code>blog</code>, <code>item</code>, <code>category</code>のいずれか</dd>\r
+            <dt class="ro">plugid</dt>\r
+            <dd>プラグイン ID (これが気になるなら、<code>GetID()</code>を見ると理解できる)(globalコンテクスト)</dd>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>(v2.2) blog ID (blog コンテクスト)</dd>         \r
+            <dt class="ref obj">blog</dt>\r
+            <dd>(v2.2) BLOG オブジェクト (blog コンテクスト)</dd>           \r
+            <dt class="ro">memberid</dt>\r
+            <dd>(v2.2) member ID (member コンテクスト)</dd>         \r
+            <dt class="ref obj">member</dt>\r
+            <dd>(v2.2) MEMBER オブジェクト (member コンテクスト)</dd>           \r
+            <dt class="ro">catid</dt>\r
+            <dd>(v2.2) category ID (category コンテクスト)</dd>         \r
+            <dt class="ro">itemid</dt>\r
+            <dd>(v2.2) item ID (item コンテクスト)</dd>\r
+            <dt class="ref obj">member</dt>\r
+            <dd>(v2.2) ITEM オブジェクト (item コンテクスト)</dd>\r
+        </dl></td>      \r
+        \r
+    </tr>   \r
+    <tr>\r
+        <td>PostAuthentication</td>\r
+        <td>(v2.0b) ログイン処理の完了後。ページリクエストごとに発生</td>\r
+        <td><dl>\r
+            <dt class="ro">loggedIn</dt>\r
+            <dd><code>$member-&gt;isLoggedIn()</code>の戻り値</dd>\r
+        </dl></td>      \r
+    </tr>       \r
+    <tr>\r
+        <td>PreAddItemForm</td>\r
+        <td>(v2.0b) アイテム追加フォーム(ブックマークレットまたは管理エリア)が生成される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">contents</dt>\r
+            <dd>連想配列への参照。そのうちの'title', 'body', 'more'にはフォームフィールドへの初期値を与えることができます。複数のプラグイン間でこれらの値の変更を避けるには、処理後に'hasBeenSet'の値を1にセットします(かつ処理前にこの値をチェックするようにします)</dd>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクトへの参照</dd>\r
+        </dl></td>      \r
+    </tr>       \r
+    <tr>\r
+        <td>AddItemFormExtras</td>\r
+        <td>(v2.0b) アイテム追加ページまたはブックマークレット内部のどこか。<code>template</code> ファイルの類を別に用意しなくても、ここでプラグインがカスタムフィールドを追加できる。</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクトへの参照</dd>\r
+        </dl></td>      \r
+    </tr>           \r
+    <tr>\r
+        <td>EditItemFormExtras</td>\r
+        <td>\r
+            (v2.0b) アイテム編集ページまたはブックマークレット内部のどこか。<code>template</code> ファイルの類を別に用意しなくても、ここでプラグインがカスタムフィールドを追加できる。<br style="margin-bottom:1.5em;" />\r
+\r
+            あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。\r
+<pre class="example"><code>&lt;h3&gt;プラグイン名&lt;/h3&gt;\r
+&lt;p&gt;追加フォームの内容&lt;/p&gt;</code></pre>\r
+        このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。\r
+        </td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクトへの参照</dd>\r
+            <dt class="ro">variables</dt>\r
+            <dd>\r
+                (read-only) 編集されるアイテムに関する全ての情報を持つ連想配列: 'itemid', 'draft', 'closed', 'title', 'body', 'more', 'author', 'authorid', 'timestamp', 'karmapos', 'karmaneg', 'catid'\r
+            </dd>           \r
+            <dt class="ro">itemid</dt>\r
+            <dd>アイテム IDへのショートカット</dd>\r
+        </dl></td>      \r
+    </tr>               \r
+    <tr>\r
+        <td>BlogSettingsFormExtras</td>\r
+        <td>(v2.0) blog設定ページにフォームを追加可能\r
+            <br style="margin-bottom:1.5em;" />\r
+            あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。\r
+<pre class="example"><code>&lt;h4&gt;プラグイン名&lt;/h4&gt;\r
+&lt;form method="post" action="..."&gt;&lt;p&gt;\r
+追加フォームの内容\r
+&lt;/p&gt;&lt;/form&gt;</code></pre>\r
+            このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。\r
+        \r
+        </td>\r
+        <td><dl>\r
+            <dt class="obj ref">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクトへの参照</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreDeleteItem</td>\r
+        <td>(v2.0) アイテムがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">itemid</dt>\r
+            <dd>削除されるアイテムID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteItem</td>\r
+        <td>(v2.0) アイテムがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">itemid</dt>\r
+            <dd>削除されたアイテムID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreDeleteCategory</td>\r
+        <td>(v2.0) カテゴリーがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">catid</dt>\r
+            <dd>削除されるカテゴリー ID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteCategory</td>\r
+        <td>(v2.0) カテゴリーがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">catid</dt>\r
+            <dd>削除されたカテゴリー ID</dd>\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>PreDeleteBlog</td>\r
+        <td>(v2.0) blogがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>削除されるblogID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteBlog</td>\r
+        <td>(v2.0) blogがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>削除されたblogID</dd>\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>PreDeleteMember</td>\r
+        <td>(v2.0) メンバーがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ref obj">member</dt>\r
+            <dd><code>削除されるメンバーに関するMEMBER</code> オブジェクトへの参照</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteMember</td>\r
+        <td>(v2.0) メンバーがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">member</dt>\r
+            <dd><code>削除されるメンバーに関するMEMBER</code> オブジェクトへの参照</dd>\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>PreDeleteTeamMember</td>\r
+        <td>(v2.0) メンバーがweblogチームから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ref obj">member</dt>\r
+            <dd><code>MEMBER</code> オブジェクトへの参照</dd>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>blogID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteTeamMember</td>\r
+        <td>(v2.0) メンバーがweblogチームから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">member</dt>\r
+            <dd><code>MEMBER</code> オブジェクトへの参照</dd>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>blogID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreDeleteComment</td>\r
+        <td>(v2.0) コメントがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">commentid</dt>\r
+            <dd>削除されるコメントID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteComment</td>\r
+        <td>(v2.0) コメントがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">commentid</dt>\r
+            <dd>削除されたコメントID</dd>\r
+        </dl></td>      \r
+    </tr>       \r
+    <tr>\r
+        <td>ActionLogCleared</td>\r
+        <td>(v2.0) アクションログが消去された後</td>\r
+        <td>なし</td>       \r
+    </tr>\r
+    <tr>\r
+        <td>PreDeleteTemplate</td>\r
+        <td>(v2.0) テンプレートがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">templateid</dt>\r
+            <dd>削除されるテンプレートID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteTemplate</td>\r
+        <td>(v2.0) テンプレートがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">templateid</dt>\r
+            <dd>削除されたテンプレートID</dd>\r
+        </dl></td>      \r
+    </tr>       \r
+    <tr>\r
+        <td>PreDeleteSkin</td>\r
+        <td>(v2.0) スキンがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">skinid</dt>\r
+            <dd>削除されるスキンID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteSkin</td>\r
+        <td>(v2.0) スキンがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">skinid</dt>\r
+            <dd>削除されたスキンID</dd>\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>PreDeletePlugin</td>\r
+        <td>(v2.0) プラグインがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">plugid</dt>\r
+            <dd>削除されるプラグインID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeletePlugin</td>\r
+        <td>(v2.0) プラグインがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">plugid</dt>\r
+            <dd>削除されたプラグインID</dd>\r
+        </dl></td>      \r
+    </tr>       \r
+    <tr>\r
+        <td>PreDeleteBan</td>\r
+        <td>(v2.0) 禁止IPがデータベースから削除される直前</td>\r
+        <td><dl>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>禁止IPが削除されるblogのID</dd>\r
+            <dt class="ro">iprange</dt>\r
+            <dd>禁止されたIPレンジ</dd>         \r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostDeleteBan</td>\r
+        <td>(v2.0) 禁止IPがデータベースから削除された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>禁止IPが削除されたblogのID</dd>\r
+            <dt class="ro">iprange</dt>\r
+            <dd>禁止されたIPレンジ</dd>         \r
+        </dl></td>      \r
+    </tr>           \r
+    <tr>\r
+        <td>PreAddCategory</td>\r
+        <td>(v2.0) 新しいカテゴリーがデータベースに生成される直前</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクトの参照</dd>\r
+            <dt class="ref">name</dt>\r
+            <dd>新しいカテゴリー名</dd>         \r
+            <dt class="ref">description</dt>\r
+            <dd>新しいカテゴリーの説明</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddCategory</td>\r
+        <td>(v2.0) 新しいカテゴリーがデータベースに生成された直後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクトへの参照</dd>\r
+            <dt class="ro">name</dt>\r
+            <dd>新しいカテゴリー名</dd>         \r
+            <dt class="ro">description</dt>\r
+            <dd>新しいカテゴリーの説明</dd>\r
+            <dt class="ro">catid</dt>\r
+            <dd>新しいカテゴリー ID</dd>            \r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreAddBlog</td>\r
+        <td>(v2.0) 新しいblogが生成される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">name</dt>\r
+            <dd>新しい blog名</dd>\r
+            <dt class="ref">shortname</dt>\r
+            <dd>新しい blogの短縮名</dd>\r
+            <dt class="ref">timeoffset</dt>\r
+            <dd>新しい blogのタイムオフセット</dd>\r
+            <dt class="ref">description</dt>\r
+            <dd>新しい blogの説明</dd>\r
+            <dt class="ref">defaultskin</dt>\r
+            <dd>新しいblogのデフォルトスキンのID</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddBlog</td>\r
+        <td>(v2.0) 新しいblogが生成された直後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd>新しい<code>BLOG</code> オブジェクト</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreAddPlugin</td>\r
+        <td>(v2.0) プラグインが追加される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">file</dt>\r
+            <dd>新しいプラグインのファイル名</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddPlugin</td>\r
+        <td>(v2.0) プラグインが追加された直後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">plugin</dt>\r
+            <dd>新しく追加されたプラグインのオブジェクト</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreAddTeamMember</td>\r
+        <td>(v2.0) メンバーがblogチームに追加される直前</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ref obj">member</dt>\r
+            <dd><code>MEMBER</code> オブジェクト</dd>\r
+            <dt class="ref">admin</dt>\r
+            <dd>新しく追加されたメンバーが管理権限を持っているかどうかを示すブール値</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddTeamMember</td>\r
+        <td>(v2.0) メンバーがblogチームに追加された直後</td>\r
+        <td><dl>\r
+            <dt class="ref obj">blog</dt>\r
+            <dd><code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ref obj">member</dt>\r
+            <dd><code>MEMBER</code> オブジェクト</dd>\r
+            <dt class="ro">admin</dt>\r
+            <dd>新しく追加されたメンバーが管理権限を持っているかどうかを示すブール値</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreAddTemplate</td>\r
+        <td>(v2.0) 新しいテンプレートが生成される直前(注:テンプレートが複製されたときも呼ばれる)</td>\r
+        <td><dl>\r
+            <dt class="ref">name</dt>\r
+            <dd>新しいテンプレート名</dd>\r
+            <dt class="ref">description</dt>\r
+            <dd>新しいテンプレートの説明</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddTemplate</td>\r
+        <td>(v2.0) 新しいテンプレートが生成された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">name</dt>\r
+            <dd>新しいテンプレート名</dd>\r
+            <dt class="ro">description</dt>\r
+            <dd>新しいテンプレートの説明</dd>\r
+            <dt class="ro">templateid</dt>\r
+            <dd>新しいテンプレートID</dd>\r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>PreAddSkin</td>\r
+        <td>(v2.0) 新しいスキンが生成される直前(注:スキンが複製されたときも呼ばれる)</td>\r
+        <td><dl>\r
+            <dt class="ref">name</dt>\r
+            <dd>新しいスキン名</dd>\r
+            <dt class="ref">description</dt>\r
+            <dd>新しいスキン名の説明</dd>\r
+            <dt class="ref">type</dt>\r
+            <dd>スキンのコンテントタイプ</dd>\r
+            <dt class="ref">includeMode</dt>\r
+            <dd>新しいスキンのインクルードモード</dd>\r
+            <dt class="ref">includePrefix</dt>\r
+            <dd>新しいスキンのインクルードプレフィックス</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddSkin</td>\r
+        <td>(v2.0) 新しいスキンが生成された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">name</dt>\r
+            <dd>新しいスキン名</dd>\r
+            <dt class="ro">description</dt>\r
+            <dd>新しいスキンの説明</dd>\r
+            <dt class="ro">type</dt>\r
+            <dd>スキンのコンテントタイプ</dd>\r
+            <dt class="ro">includeMode</dt>\r
+            <dd>新しいスキンのインクルードモード</dd>\r
+            <dt class="ro">includePrefix</dt>\r
+            <dd>新しいスキンのインクルードプレフィックス</dd>\r
+            <dt class="ro">skinid</dt>\r
+            <dd>新しいスキンID</dd>\r
+        </dl></td>      \r
+    </tr>       \r
+    <tr>\r
+        <td>PreAddBan</td>\r
+        <td>(v2.0) 新しい禁止IPが追加される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">blogid</dt>\r
+            <dd>blogID</dd>\r
+            <dt class="ref">iprange</dt>\r
+            <dd>禁止されたIPレンジ</dd>\r
+            <dt class="ref">reason</dt>\r
+            <dd>禁止された理由を記述したテキストメッセージ</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostAddBan</td>\r
+        <td>(v2.0) 新しい禁止IPが追加された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">blogid</dt>\r
+            <dd>blogID</dd>\r
+            <dt class="ro">iprange</dt>\r
+            <dd>禁止されたIPレンジ</dd>\r
+            <dt class="ro">reason</dt>\r
+            <dd>禁止された理由を記述したテキストメッセージ</dd>\r
+        </dl></td>      \r
+    </tr>       \r
+\r
+    <tr>\r
+        <td>PreMoveItem</td>\r
+        <td>(v2.0) アイテムが他のblog/カテゴリーに移される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">itemid</dt>\r
+            <dd>アイテムID</dd>\r
+            <dt class="ref">destblogid</dt>\r
+            <dd>移動先のblogID</dd>\r
+            <dt class="ref">destcatid</dt>\r
+            <dd>移動先のカテゴリーID</dd>           \r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostMoveItem</td>\r
+        <td>(v2.0) アイテムが他のblog/カテゴリーに移された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">itemid</dt>\r
+            <dd>アイテムID</dd>\r
+            <dt class="ro">destblogid</dt>\r
+            <dd>新しいblogID</dd>\r
+            <dt class="ro">destcatid</dt>\r
+            <dd>新しいカテゴリーID</dd> \r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PreMoveCategory</td>\r
+        <td>(v2.0) カテゴリーが他のblogに移される直前</td>\r
+        <td><dl>\r
+            <dt class="ref">catid</dt>\r
+            <dd>カテゴリーID</dd>\r
+            <dt class="ref obj">sourceblog</dt>\r
+            <dd>移動元の<code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ref obj">destblog</dt>\r
+            <dd>移動先の<code>BLOG</code> オブジェクト</dd>         \r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>PostMoveCategory</td>\r
+        <td>(v2.0) カテゴリーが他のblogに移された直後</td>\r
+        <td><dl>\r
+            <dt class="ro">catid</dt>\r
+            <dd>カテゴリーID</dd>\r
+            <dt class="ref obj">sourceblog</dt>\r
+            <dd>移動元の<code>BLOG</code> オブジェクト</dd>\r
+            <dt class="ref obj">destblog</dt>\r
+            <dd>移動先の<code>BLOG</code> オブジェクト</dd>         \r
+        </dl></td>      \r
+    </tr>   \r
+    <tr>\r
+        <td>MemberSettingsFormExtras</td>\r
+        <td><span style="display:block;margin-bottom:1.5em;">(v2.0) メンバー設定ページにフォームを追加可能</span>            \r
+            あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。\r
+<pre class="example"><code>&lt;h4&gt;プラグイン名&lt;/h4&gt;\r
+&lt;form method="post" action="..."&gt;&lt;p&gt;\r
+追加フォームの内容\r
+&lt;/p&gt;&lt;/form&gt;</code></pre>\r
+            このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。\r
+        \r
+        </td>\r
+        <td><dl>\r
+            <dt class="ref obj">member</dt>\r
+            <dd><code>MEMBER</code> オブジェクトへの参照</dd>\r
+        </dl></td>      \r
+    </tr>\r
+    <tr>\r
+        <td>GeneralSettingsFormExtras</td>\r
+        <td><span style="display:block;margin-bottom:1.5em;">(v2.0) 一般設定ページにフォームを追加可能</span>\r
+            あまり多くのデータを追加しないこと。また以下のように<strong>正しいXHTML</strong>を生成してください。\r
+<pre class="example"><code>&lt;h4&gt;プラグイン名&lt;/h4&gt;\r
+&lt;form method="post" action="..."&gt;&lt;p&gt;\r
+追加フォームの内容\r
+&lt;/p&gt;&lt;/form&gt;</code></pre>\r
+            このようにして、正しい構造を保ちつつ複数のプラグインがオプションを保持できます。またフィールド名の重複を避けるためにプレフィックスを用いてください(例 <code>plug_tb_url</code>)。\r
+            \r
+        </td>\r
+        <td>なし</td>       \r
+    </tr>\r
+    <tr>\r
+        <td>AdminPrePageHead</td>\r
+        <td>(v2.5) 管理画面で、ページヘッドを出力する直前。このイベントはヘッド領域にスクリプトやCSSを追加するのに用いられます。</td>\r
+        <td><dl>\r
+            <dt class="ref">extrahead</dt>\r
+            <dd>HTMLページのヘッド領域に埋め込まれる追加情報。ここに追加したいものを入れてください。</dd>\r
+            <dt class="ro">action</dt>\r
+            <dd>現在実行されているアクション、またはページタイプ</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>AdminPrePageFoot</td>\r
+        <td>(v2.5) 管理画面で、ページフッターを出力する直前。</td>\r
+      <td><dl>\r
+            <dt class="ro">action</dt>\r
+            <dd>現在実行されているアクション、またはページタイプ</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>PreSendContentType</td>\r
+        <td>(v2.5) HTTPヘッダーにコンテントタイプがセットされる直前</td>\r
+        <td><dl>\r
+            <dt class="ref">contentType</dt>\r
+            <dd>コンテントタイプ(<code>application/xhtml+xml</code>など)</dd>\r
+            <dt class="ref">charset</dt>\r
+            <dd>キャラクターセット</dd>\r
+            <dt class="ro">pageType</dt>\r
+            <dd>表示するページの種類を示す文字列:<code>skin</code> (スキンタイプ), <code>media</code> (メディアライブラリ), <code>admin-<em>action</em></code> (管理エリア), <code>bookmarklet-<em>action</em></code> (ブックマークレット)</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>QuickMenu</td>\r
+        <td>(v2.5) 管理エリアのクイックメニューの一番下。そこへのプラグイン登録に利用されます。登録するにはoptionsに連想配列を入れます。実装例が<a href="#admin">プラグイン管理エリアを作る</a>のセクションにあります。</td>\r
+        <td><dl>\r
+            <dt class="ref">options</dt>\r
+            <dd>配列</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>BookmarkletExtraHead</td>\r
+        <td>(v2.5) ブックマークレット XHTMLコードのヘッド領域内。</td>\r
+        <td><dl>\r
+            <dt class="ref">extrahead</dt>\r
+            <dd>XHTMLコードのヘッド領域に埋め込まれる追加情報。ここに追加したいものを入れてください。</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>FormExtra</td>\r
+        <td>(v3.2) このイベントは、プラグインがコメント、メンバー間メール、認証フォームのいずれかのフォーム内に追加フィールドを挿入するときに使います。フォーム処理の際に発生する <code>ValidateForm</code> イベントに対応します。</td>\r
+        <td><dl>\r
+            <dt class="ro">type</dt>\r
+            <dd>イベントを発生させるフォームタイプ\r
+                <ul>\r
+                    <li><code>activation</code></li>\r
+                    <li><code>additemform</code> (注:これは管理画面のアイテム追加フォームではない)</li>\r
+                    <li><code>commentform-loggedin</code></li>\r
+                    <li><code>commentform-notloggedin</code></li>\r
+                    <li><code>membermailform-loggedin</code></li>\r
+                    <li><code>membermailform-notloggedin</code></li>\r
+                </ul>\r
+            </dd>\r
+            <dt class="ro obj">member</dt>\r
+            <dd><code>type</code> が <code>activation</code>のとき、このフィールドは認証メンバーの詳細情報を含みます</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>ValidateForm</td>\r
+        <td>(v3.2) コメント、メンバー間メール、アカウント認証のいずれかが処理されるときに呼ばれます。プラグインはこれで各データの評価を実行でき、もし不具合があれば処理を中断できます。<code>FormExtra</code> と共に使うとフォームにフィールドを追加できます。</td>\r
+        <td><dl>\r
+            <dt class="ro">type</dt>\r
+            <dd>処理されるフォームタイプ\r
+                <ul>\r
+                    <li><code>membermail</code></li>\r
+                    <li><code>comment</code></li>\r
+                    <li><code>activation</code></li>\r
+                </ul>\r
+            </dd>\r
+            <dt class="ref">error</dt>\r
+            <dd>フォーム処理をストップするときに、<code>error</code> フィールドに空でないエラーメッセージを記入します。このエラーメッセージはユーザー側に表示されます。</dd>\r
+            <dt class="ref">comment</dt>\r
+            <dd>コメントデータの連想配列(コメントフォームのときのみ)</dd>\r
+            <dt class="ref">spamcheck</dt>\r
+            <dd>(v3.3) <em>SpamCheck</em>イベントの結果として返される連想配列(コメントフォームのときのみ)</dd>\r
+            <dt class="ro obj">member</dt>\r
+            <dd>認証フォームのとき、認証中のメンバー情報を含みます。</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>ParseURL</td>\r
+        <td>(v3.22)NucleusのコアでURLからアイテムやカテゴリのIDを読み取る前。プラグインはこのイベントを使ってURLを解釈します</td>\r
+        <td><dl>\r
+            <dt class="ro">type</dt>\r
+            <dd>FancyURLの仮想ディレクトリ(拡張子無しファイル)のファイル名(item, blog, ...)</dd>\r
+            <dt class="ro">info</dt>\r
+            <dd>解決される前のURL(この名前は以前の変数名である<code>pathinfo</code>から来ています).</dd>\r
+            <dt class="ref">complete</dt>\r
+            <dd>プラグインがURLを解釈し終わるとこれが<strong>true</strong>にセットされます。<strong>false</strong>の場合はプラグインはURLを解釈していません。</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>GenerateURL</td>\r
+        <td>(v3.22)URLが自動生成される前。このイベントを使って独自のURLを生成する事が出来ます。</td>\r
+        <td><dl>\r
+            <dt class="ro">type</dt>\r
+            <dd>生成するURLのタイプ(item, blog, ...)</dd>\r
+            <dt class="ro">params</dt>\r
+            <dd>生成するURLに付加するパラメータ</dd>\r
+            <dt class="ref">completed</dt>\r
+            <dd>プラグインはURLを生成し終わるとこれを<strong>true</strong>にセットしてURLを返します。<strong>false</strong>の場合はプラグインはURLを生成していません。</dd>\r
+            <dt class="ref">url</dt>\r
+            <dd>プラグインが生成したURLを格納する為の空の変数</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>SpamCheck</td>\r
+        <td>(v3.3) 新しいコメントが追加されるときに呼ばれます。アンチスパムのプラグインはこのイベントを使ってコメントがスパムかどうかマークを付けられます。<code>SpamCheck</code>イベントの詳しい説明は別の文書を参照のこと(<a href='http://wakka.xiffy.nl/spamcheck_api'>SpamCheck API 2.0</a>)</td>\r
+        <td><dl>\r
+            <dt class="ref">spamcheck</dt>\r
+            <dd>spamcheckのデータ構造(連想配列)</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>PreMediaUpload</td>\r
+        <td>(v3.3)アップロードされたファイルが「media」ディレクトリに書き込まれる前。</td>\r
+        <td><dl>\r
+            <dt class="ref">collection</dt>\r
+            <dd>アップロードされたファイルが格納されるべき「コレクション」</dd>\r
+            <dt class="ro">uploadfile</dt>\r
+            <dd>テンポラリディレクトリに狩り沖されているアップロードされたファイルのファイル名</dd>\r
+            <dt class="ref">filename</dt>\r
+            <dd>最終的に保存されるファイル名</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>PostMediaUpload</td>\r
+        <td>(v3.3)アップロードされたファイルが「media」ディレクトリに書き込まれた後。</td>\r
+        <td><dl>\r
+            <dt class="ro">collection</dt>\r
+            <dd>アップロードされたファイルが格納された「コレクション」</dd>\r
+            <dt class="ro">mediadir</dt>\r
+            <dd>アップロードされたファイルが保存されたメディアディレクトリ</dd>\r
+            <dt class="ro">filename</dt>\r
+            <dd>保存されたファイル名</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>SendPing</td>\r
+        <td>(v3.3)「ブログの設定」で「更新時にweblogsアップデート通知サービスへPingを送りますか?」が「はい」に設定されている時に限り、新しいアイテムを追加した時に呼び出されます(このイベントに対応しているプラグインがインストールされている時に限る)。このイベントはPing送信プラグインで各種「ブログ検索サービス」へ更新pingを送信します(例えば<a href="http://blogsearch.google.co.jp/">Googleブログ検索</a>など)</td>\r
+        <td><dl>\r
+            <dt class="ref">blogid</dt>\r
+            <dd>アイテムが追加されたブログのID</dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td>JustPosted</td>\r
+        <td>(v3.3)投稿された未来の日付のアイテムの設定時刻が来た時。このイベントはページの表示が完了した後に発生条件をチェックします。</td>\r
+        <td><dl>\r
+            <dt class="ref">blogid</dt>\r
+            <dd>未来の日付のアイテムの設定時刻が来たブログのID</dd>\r
+        </dl></td>\r
+    </tr>\r
+       <tr>\r
+               <td>RegistrationFormExtraFields</td>\r
+               <td>(v3.33) createaccount.php からビジターに表示されるアカウント作成フォームが表示され、FormExtra イベントが起きる前。プラグインはこのイベントによって、アカウント作成フォームに独自のフィールドを付け加える事が出来ます。PostRegister イベントに同時に登録すると、付け加えたフィールドの値を評価する事が出来る様になります。渡されるパラメータは、付け加えられたフィールドを、元々のフィールドと違和感無く表示させる為に使用されます。</td>\r
+               <td><dl>\r
+                       <dt class="ro">type</dt>\r
+                       <dd>アカウント作成フォームのタイプ。通常は <code>createaccount.php</code>。</dd>\r
+                       <dt class="ro">prelabel</dt>\r
+                       <dd>追加フィールドの「ラベル」の<strong>前に</strong>挿入される HTML コード</dd>\r
+                       <dt class="ro">postlabel</dt>\r
+                       <dd>追加フィールドの「ラベル」の<strong>後に</strong>挿入される HTML コード</dd>\r
+                       <dt class="ro">prefield</dt>\r
+                       <dd>追加フィールドの「入力フィールド」の<strong>前に</strong>挿入される HTML コード</dd>\r
+                       <dt class="ro">postfield</dt>\r
+                       <dd>追加フィールドの「入力フィールド」の<strong>後に</strong>挿入される HTML コード</dd>\r
+               </dl></td>\r
+       </tr>\r
+       <tr>\r
+               <td>TemplateExtraFields</td>\r
+               <td>(v3.40) Called when templates are edited and updated from the admin area. Allows plugin developers to add fields to existing templates to encourage the use of the core template storage system to provide formatting for their output. It is the responsibility of the plugin authors to use the template fields they add and to provide the variables used in those fields. Plugins should also document their variables and provide for a default, either in the code or through a plugin option. <a href="http://forum.nucleuscms.org/viewtopic.php?p=87672#87672" title="Sample">Sample plugin using this event.</a></td>\r
+               <td><dl>\r
+                       <dt class="ref">fields</dt>\r
+                       <dd>Associative Array. Key should be name of the plugin, i.e. <code>NP_TemplateTest</code>, and value should be an associative array with keys designating the template field name, and values designating the label used for the field. Template field names should be lowercase and incorporate the plugin name to avoid duplication of template field names.</dd>\r
+               </dl></td>\r
+       </tr>\r
+       <tr>\r
+               <td>PreArchiveListItem</td>\r
+               <td>(v3.40) アーカイブリストが表示される前。 Allows plugin developers to add/modify template variables in the Archive List Item field of the template used for displaying archive lists. Plugins should document the variables added. </td>\r
+               <td><dl>\r
+                       <dt class="ref">listitem</dt>\r
+                       <dd>Associative Array. The key represents the template variable, i.e. <code>month</code>, and the value of the array element is a string representing the value of the template variable. To add a variable, simply add an element to this array with a key-value pair representing the new variable.</dd>\r
+               </dl></td>\r
+       </tr>\r
+       <tr>\r
+               <td>PreCategoryListItem</td>\r
+               <td>(v3.40) Called right before the category list is displayed. Allows plugin developers to add/modify template variables in the Category List Item field of the template used for displaying category lists. Plugins should document the variables added. </td>\r
+               <td><dl>\r
+                       <dt class="ref">listitem</dt>\r
+                       <dd>Associative Array. The key represents the template variable, i.e. <code>catname</code>, and the value of the array element is a string representing the value of the template variable. To add a variable, simply add an element to this array with a key-value pair representing the new variable.</dd>\r
+               </dl></td>\r
+       </tr>\r
+       <tr>\r
+               <td>PreBlogListItem</td>\r
+               <td>(v3.40) Called right before the blog list is displayed. Allows plugin developers to add/modify template variables in the Blog List Item field of the template used for displaying blog lists. Plugins should document the variables added. </td>\r
+               <td><dl>\r
+                       <dt class="ref">listitem</dt>\r
+                       <dd>Associative Array. The key represents the template variable, i.e. <code>blogname</code>, and the value of the array element is a string representing the value of the template variable. To add a variable, simply add an element to this array with a key-value pair representing the new variable.</dd>\r
+               </dl></td>\r
+       </tr>\r
+       <tr>\r
+               <td>PreTemplateRead</td>\r
+               <td>(v3.40) Called right before a template is read and its parts returned. Allows plugin developers to change the name of the template being used. NP_MultiLanguage makes use of this event. </td>\r
+               <td><dl>\r
+                       <dt class="ref">name</dt>\r
+                       <dd>String containing the name of the template being called.</dd>\r
+               </dl></td>\r
+       </tr>\r
+       <tr>\r
+               <td>CustomLogin</td>\r
+               <td>(v3.40) Called right before local (Nucleus) login. Allows plugin developers to customize the login process. This simplifies external authentication and permits using something beside the displayname, i.e. email address, to be used for the login name. </td>\r
+               <td><dl>\r
+                       <dt class="ref">login</dt>\r
+                       <dd>String containing the name entered by user in login field. If this is other than the Nucleus mname (display name), it should be mapped by the plugin, after a successful authentication, to a valid mname corresponding to the authenticated member. Otherwise the authentication will last only one page and no cookies will be set.</dd>\r
+                       <dt class="ref">password</dt>\r
+                       <dd>String containing the password entered by user in password field.</dd>\r
+                       <dt class="ref">success</dt>\r
+                       <dd>Integer indicating whether the login is successful. 1 means success, 0 means unsuccessful. 0 is the default. The plugin should set this.</dd>\r
+                       <dt class="ref">allowlocal</dt>\r
+                       <dd>Integer indicating whether local authentication should be tried after an unsuccessful authentication by your plugin. 1 means yes, 0 means no. 1 is the default.</dd>\r
+               </dl></td>\r
+       </tr>\r
+<!--\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr>\r
+    <tr>\r
+        <td></td>\r
+        <td></td>\r
+        <td><dl>\r
+            <dt></dt>\r
+            <dd></dd>\r
+        </dl></td>\r
+    </tr> -->\r
+</table>\r
+\r
+\r
+\r
+<h1>オプションを保存する<a id="options" name="options" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>プラグインに簡単にオプションを登録・取得できるように一連のメソッドが用意されています。これらのオプションは直接Nucleusの管理エリアで編集でき、プラグイン自身の管理エリアを用意する必要もなく、PHPファイルそのものの中にオプションの値を書き込まずにすみます。</p>\r
+\r
+<p>オプションは異なったコンテクストで利用可能です。</p>\r
+\r
+<ol>\r
+    <li><strong>グローバルオプション</strong>:管理エリアのプラグインセクションで編集可能</li>\r
+    <li><strong>blogオプション</strong>:blog設定ページで編集可能</li>\r
+    <li><strong>カテゴリーオプション</strong>:blog設定ページ(のカテゴリー編集ページ)で編集可能</li>  \r
+    <li><strong>メンバーオプション</strong>:メンバー編集ページで編集可能</li>\r
+    <li><strong>アイテムオプション</strong>:アイテムの追加、およびアイテムの編集ページで編集可能</li>\r
+</ol>\r
+\r
+<h2>オプションの種類</h2>\r
+\r
+<p>オプションにはいくつかのタイプが提供されています。</p>\r
+\r
+<dl>\r
+    <dt>text</dt>\r
+    <dd>シンプルなテキスト</dd>\r
+    <dt>yesno</dt>\r
+    <dd>'yes'か'no'どちらか(編集画面ではラジオボタンとして表示されます)</dd>\r
+    <dt>password</dt>\r
+    <dd>テキストフィールド (編集画面では伏字で表示されます)</dd>\r
+    <dt>textarea (v2.2)</dt>\r
+    <dd>複数行のテキストフィールド</dd>\r
+    <dt>select (v2.2)</dt>\r
+    <dd>ドロップダウンメニュー。次のような形式の追加情報が必要です: Option 1|value1|Option 2|value2|Option 3|value3 \r
+    </dd>\r
+</dl>\r
+\r
+<h2>オプション・メタ</h2>\r
+\r
+<p>Nucleus v3.2よりオプション・メタデータを用いて、オプションタイプを正しい値を受け取れるように制限できるようになりました。このメタデータは <code>$typeExtras</code>フィールドにセミコロン区切りのリストで保存されます。注:selectオプションでは、selectリストは<code>$typeExtras</code>のなかで一番最初でなければいけません。</p>\r
+\r
+<table summary="メタデータ"><tr>\r
+    <th abbr="key">キー</th>\r
+    <th abbr="desc">説明</th>\r
+</tr><tr>\r
+    <td><code>datatype</code></td>\r
+    <td>Nucleus本体に、どのデータ型を使いたいかという追加情報を与えます。現在は '<code>numerical</code>' のみ利用できます。 '<code>numerical</code>' を指定することでNucleusは数値情報のみを受け付けます(クライアントサイド・サーバサイド両方でチェック) ('<code>select</code>' と '<code>text</code>'のオプションタイプで利用できます)</td>\r
+</tr><tr>\r
+    <td><code>access</code></td>\r
+    <td>'<code>readonly</code>'にセットすることで、オプションを編集不可能にします('<code>text</code>' と '<code>textarea</code>'のオプションタイプで利用できます)<br />\r
+    '<code>hidden</code>'を使うと、利用者側にそのオプションの存在を完全に隠蔽します('<code>text</code>'のオプションタイプで利用できます)</td>\r
+</tr></table>\r
+\r
+<p>設定例</p>\r
+<pre class="example"><code>// 数値のみを受け付けるテキストオプションを作成\r
+$this-&gt;createBlogOption('FooBar', 'foobar', 'text', '0', 'datatype=numerical');\r
+// 数値のみを受け付けるセレクトオプションを作成\r
+$this-&gt;createItemOption('FooBar', 'foobar', 'select', '0', '0|0|1|1|2|2;datatype=numerical');\r
+// 編集不可能なテキストエリアオプションを作成\r
+$this-&gt;createOption('FooBar', 'foobar', 'textarea', 'This textarea is readonly', 'access=readonly');\r
+</code></pre>\r
+\r
+<h2>制限</h2>\r
+\r
+<ol>\r
+    <li>オプション名は最大20文字です。</li>\r
+    <li>オプションの説明文は最大255文字です。</li>\r
+    <li>オプションの値は制限ありません(v2.2より前のバージョンでは128文字の制限がありました)</li>\r
+    <li>'=', '|', ';' のキャラクターはセレクトオプション用のセレクトリストやオプション・メタデータ中で使用することはできません。</li>\r
+</ol>\r
+\r
+<h2>メソッド</h2>\r
+\r
+<h3>createOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>\r
+\r
+<p><strong>グローバル</strong>なコンテクストで新しいオプションを生成します。</p>\r
+\r
+<table summary="createOption"><tr>\r
+    <th abbr="param">パラメータ</th>\r
+    <th abbr="value">値</th>\r
+</tr><tr>\r
+    <td>$name</td>\r
+    <td>オプション名</td>\r
+</tr><tr>\r
+    <td>$desc</td>\r
+    <td>オプション編集画面で表示される説明文</td>\r
+</tr><tr>\r
+    <td>$type</td>\r
+    <td>オプションタイプ(前出)</td>\r
+</tr><tr>\r
+    <td>$defValue</td>\r
+    <td>初期値</td>\r
+</tr><tr>\r
+    <td>$typeExtras</td>\r
+    <td>オプションタイプの追加情報(前出)</td>\r
+</tr></table>\r
+\r
+<h3>[v2.2] createBlogOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>\r
+\r
+<p><strong>blog</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] createCategoryOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>\r
+\r
+<p><strong>カテゴリー</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] createMemberOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>\r
+\r
+<p><strong>メンバー</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>\r
+\r
+<h3>[v3.2] createItemOption($name, $desc, $type, $defValue = '', $typeExtras = '')</h3>\r
+\r
+<p><strong>アイテム</strong>のコンテクストで新しいオプションを生成します(<code>createOption</code>を参照)。</p>\r
+\r
+<h3>setOption($name, $value)</h3>\r
+\r
+<p>すでにデータベースに存在するオプションの値を変更します。</p>\r
+\r
+<table summary="setOption"><tr>\r
+    <th abbr="param">パラメータ</th>\r
+    <th abbr="value">値</th>\r
+</tr><tr>       \r
+    <td>$name</td>\r
+    <td>オプション名</td>\r
+</tr><tr>\r
+    <td>$value</td>\r
+    <td>新しい値</td>\r
+</tr></table>\r
+\r
+<h3>[v2.2] setBlogOption($blogid, $name, $value)</h3>\r
+\r
+<p>blogオプションの値を変更します。<code>blogid</code>属性はどのblogでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] setCategoryOption($catid, $name, $value)</h3>\r
+\r
+<p>カテゴリーオプションの値を変更します。<code>catid</code>属性はどのカテゴリーでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] setMemberOption($memberid, $name, $value)</h3>\r
+\r
+<p>メンバーオプションの値を変更します。<code>memberid</code>属性はどのメンバーでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>\r
+\r
+<h3>[v3.2] setItemOption($itemid, $name, $value)</h3>\r
+\r
+<p>アイテムオプションの値を変更します。<code>itemid</code>属性はどのアイテムでそのオプションが有効かを示します(その他のオプション:<code>setOption</code>を参照)。</p>\r
+\r
+<h3>getOption($name)</h3>\r
+\r
+<p>データベース内のオプションの値を返します。</p>\r
+\r
+<table summary="getOption"><tr>\r
+    <th abbr="param">パラメータ</th>\r
+    <th abbr="value">値</th>\r
+</tr><tr>       \r
+    <td>$name</td>\r
+    <td>オプション名</td>\r
+</tr></table>\r
+\r
+<h3>[v2.2] getBlogOption($blogid, $name)</h3>\r
+\r
+<p>blogオプションの値を返します。<code>blogid</code>属性は値がリスエストされたblogを示します(その他のオプション:<code>getOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] getCategoryOption($catid, $name)</h3>\r
+\r
+<p>カテゴリーオプションの値を返します。<code>catid</code>属性は値がリスエストされたカテゴリーを示します(その他のオプション:<code>getOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] getMemberOption($memberid, $name)</h3>\r
+\r
+<p>メンバーオプションの値を返します。<code>memberid</code>属性は値がリスエストされたメンバーを示します(その他のオプション:<code>getOption</code>を参照)。</p>\r
+\r
+<h3>[v3.2] getItemOption($itemid, $name)</h3>\r
+\r
+<p>アイテムオプションの値を返します。<code>itemid</code>属性は値がリスエストされたアイテムを示します(その他のオプション:<code>getOption</code>を参照)。</p>\r
+\r
+<h3>deleteOption($name)</h3>\r
+\r
+<p>データベースからオプションを削除します。</p>\r
+\r
+<table summary="deleteOption"><tr>\r
+    <th abbr="param">パラメータ</th>\r
+    <th abbr="value">値</th>\r
+</tr><tr>       \r
+    <td>$name</td>\r
+    <td>オプション名</td>\r
+</tr></table>\r
+\r
+<h3>[v2.2] deleteBlogOption($name)</h3>\r
+\r
+<p>blogオプションを削除します(<code>deleteOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] deleteCategoryOption($name)</h3>\r
+\r
+<p>カテゴリーオプションを削除します(<code>deleteOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] deleteMemberOption($name)</h3>\r
+\r
+<p>メンバーオプションを削除します(<code>deleteOption</code>を参照)。</p>\r
+\r
+<h3>[v3.2] deleteItemOption($name)</h3>\r
+\r
+<p>アイテムオプションを削除します(<code>deleteOption</code>を参照)。</p>\r
+\r
+<h3>[v2.2] getAllBlogOptions($name)</h3>\r
+\r
+<p>与えられたblogオプションの全ての値を返します。結果は存在するblogidごとの連想配列です。</p>\r
+\r
+<h3>[v2.2] getAllCategoryOptions($name)</h3>\r
+\r
+<p>与えられたカテゴリーオプションの全ての値を返します。結果は存在するcatidごとの連想配列です。</p>\r
+\r
+<h3>[v2.2] getAllMemberOptions($name)</h3>\r
+\r
+<p>与えられたメンバーオプションの全ての値を返します。結果は存在するmemberidごとの連想配列です。</p>\r
+\r
+<h3>[v3.2] getAllItemOptions($name)</h3>\r
+\r
+<p>与えられたアイテムオプションの全ての値を返します。結果は存在するitemidごとの連想配列です。</p>\r
+\r
+<h3>[v3.2] getBlogOptionTop($name, $amount = 10, $sort = 'desc')</h3>\r
+\r
+<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのblogid ('id') の値 ('value') を持つ配列になっています。</p>\r
+\r
+<table summary="getOption"><tr>\r
+    <th abbr="param">パラメータ</th>\r
+    <th abbr="value">値</th>\r
+</tr><tr>\r
+    <td>$name</td>\r
+    <td>オプション名</td>\r
+</tr><tr>\r
+    <td>$amount</td>\r
+    <td>必要なオプション数</td>\r
+</tr><tr>\r
+    <td>$sort</td>\r
+    <td>昇順 ('asc') か降順 ('desc') で並べ替え</td>\r
+</tr></table>\r
+\r
+<h3>[v3.2] getMemberOptionTop($name, $amount = 10, $sort = 'desc')</h3>\r
+\r
+<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのメンバーID ('id') の値 ('value') を持つ配列になっています(パラメータは<code>getBlogOptionTop</code>を参照)。</p>\r
+\r
+<h3>[v3.2] getCategoryOptionTop($name, $amount = 10, $sort = 'desc')</h3>\r
+\r
+<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのカテゴリーID ('id') の値 ('value') を持つ配列になっています(パラメータは<code>getBlogOptionTop</code>を参照)。</p>\r
+\r
+<h3>[v3.2] getItemOptionTop($name, $amount = 10, $sort = 'desc')</h3>\r
+\r
+<p>与えられたオプションの最初の値を返します。結果は配列で、各要素がそれぞれのアイテムID ('id') の値 ('value') を持つ配列になっています(パラメータは<code>getBlogOptionTop</code>を参照)。</p>\r
+\r
+<div class="note">\r
+<strong>注:</strong> プラグインクラス内のコンストラクタから、これらのファンクションを呼ぶことはできません。プラグインがロードされた後にこれらを実行したいときは、かわりに<code>init()</code>メソッド内に置きます。\r
+</div>\r
+\r
+<h1>データベース・テーブル<a id="tables" name="tables" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<h2>Nucleusテーブルへのアクセス</h2>\r
+\r
+<p>v2.0まで、Nucleusテーブルへのアクセスは単に<code>nucleus_</code>と名づけられたテーブルに対してSQL命令を実行するだけのものでした。Nucleusのバージョン2.2以降はカスタム・テーブル名を利用できるようになったため、プラグイン開発に若干注意する必要があります。</p>\r
+\r
+<ol>\r
+    <li><code>nucleus_item</code> などの固定されたテーブル名の代わりに、テーブル名のプレフィックスを生成するために <code>sql_table('item') </code>というグローバルファンクションを利用します。</li>\r
+    <li><code>supportsFeature('SqlTablePrefix')</code> が呼ばれたときにプラグインが1(真)を返すようにします。これがないと、カスタムプレフィックスがセットされている場合でバージョンが2.0より大きいNucleusではプラグインをロードできません(用心のため)。</li>\r
+</ol>\r
+\r
+<p class="note">v2.0までのNucleusではグローバルファンクション <code>sql_table</code> は利用できないことに注意してください。もしこのメソッドを用いつつ、プラグインをv2.0以下のNucleusで動作させたい場合は、以下のコードをプラグインクラスの前に追加してください。</p>\r
+\r
+<pre class="example"><code>&lt;?\r
+\r
+// プラグインがNucleusバージョン2.0以下と互換性を持つために必要\r
+if (!function_exists('sql_table'))\r
+{\r
+    function sql_table($name) {\r
+        return 'nucleus_' . $name;\r
+    }\r
+}\r
+\r
+class NP_HelloWorld extends NucleusPlugin {\r
+...\r
+}\r
+\r
+?&gt;</code></pre>\r
+\r
+<h2>独自テーブル</h2>\r
+\r
+<p>もしプラグイン独自のテーブルが必要なら、<code>install</code>メソッドの中で独自テーブルを生成し、<code>unInstall</code>メソッドの中でそれを削除するようにします。</p>\r
+\r
+<p>いくつかの注意点</p>\r
+<ul>\r
+    <li><code>nucleus_plug_<em>plugname</em></code> のように、他のプラグインと競合しないテーブル名を考えてください。カスタムプレフィックスに対応するため、テーブル名を<code>sql_table('plug_plugname')</code> で生成してください。</li>\r
+    <li>自分自身でデータベース接続をする必要はありません。PHPコマンド <code>mysql_query()</code> を使ってSQL命令を実行できます。</li>\r
+    <li>自分でデータベース接続をする場合、後でNucleusデータベースへの接続を復元するようにしてください。自前処理の後で <code>sql_connect()</code>  を呼ぶことで可能です。頻繁な再接続を避けるために、コンストラクタでそれを行うのも良いです。<code>$this- &gt;db</code>のリンクIDを保持でき、各クエリにそれを渡すことができます。</li>\r
+    <li>バックアップ機能を使う時は、独自テーブルもバックアップに含めるよう、<code>getTableList()</code> を再定義してください。</li>\r
+       <li>It's a good idea to make the removal of your database tables optional. This will allow your users to temporarily remove your plugin without losing the data. For instance, you may need to make changes to options or database tables requiring that the install() method be run to execute code neccessary to modify existing tables or options. This will require that your users uninstall the old version and then install the new version and losing their data in the process. To make the deletion of your tables optional, you can add an option like this in install():\r
+       <pre class="example"><code>$this->createOption('del_uninstall', 'Delete NP_MyPlugin data tables on uninstall?', 'yesno','no');</code></pre>\r
+       and this snippet in uninstall():\r
+       <pre class="example"><code>if ($this->getOption('del_uninstall') == 'yes')      {\r
+       foreach ($this->getTableList() as $table) {\r
+               sql_query("DROP TABLE $table");\r
+       }\r
+}</code></pre></li>\r
+</ul>\r
+\r
+\r
+\r
+<h1>プラグイン管理エリア<a id="admin" name="admin" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>Ver2.5から、Nucleusの管理エリアに統合されたプラグイン管理エリアを作成できます。これらのページは従来のプラグイン管理ページや左側のクイックメニューからアクセスできます。</p>\r
+\r
+<h2>基本</h2>\r
+\r
+<p>管理エリアを提供するには、次のステップが必要です。</p>\r
+\r
+<ol>\r
+  <li>プラグインディレクトリに<strong>プラグイン名</strong>のサブディレクトリを作ります。たとえばプラグイン名が<code>NP_PluginName</code>なら、'pluginname'です。ディレクトリ名はすべて小文字で!</li>\r
+  <li>\r
+    そのディレクトリで、次のような<strong>index.php</strong>を用意します。\r
+    <pre><code>&lt;?php\r
+\r
+    // if your 'plugin' directory is not in the default location,\r
+    // edit this variable to point to your site directory\r
+    // (where config.php is)\r
+    $strRel = '../../../';\r
+\r
+    include($strRel . 'config.php');\r
+    if (!$member-&gt;isLoggedIn())\r
+        doError('You\'re not logged in.');\r
+\r
+    include($DIR_LIBS . 'PLUGINADMIN.php');\r
+\r
+    // create the admin area page\r
+    $oPluginAdmin = new PluginAdmin('<strong>PluginName</strong>');\r
+    $oPluginAdmin-&gt;start();\r
+\r
+    echo '&lt;h2&gt;プラグイン名&lt;/h2&gt;';\r
+\r
+    echo '&lt;p&gt;<strong>ページ内容</strong>&lt;p&gt;';\r
+\r
+    $oPluginAdmin-&gt;end();\r
+\r
+?&gt;</code></pre>\r
+  </li>\r
+  <li>\r
+    プラグイン側に次のコードを挿入し、クイックメニューイベントに登録します。\r
+    <pre><code>function event_QuickMenu(&amp;$data) {\r
+        array_push(\r
+            $data['options'],\r
+            array(\r
+                'title'   =&gt; '<strong>プラグイン名</strong>',\r
+                'url'     =&gt; $this-%gt;getAdminURL(),\r
+                'tooltip' =&gt; '<strong>ツールチップテキスト</strong>'\r
+            )\r
+        );\r
+    }</code></pre>\r
+  </li>\r
+  <li>\r
+    プラグイン側に次の関数を記述します。\r
+    <pre><code>function hasAdminArea()\r
+{\r
+    return 1;\r
+}</code></pre>\r
+  </li>\r
+  <li> Optional. Make the <code>QuickMenu</code> entry optional, and restrict who sees it. The following assumes that an option, of type <code>yesno</code> and called <code>quickmenu</code>, exists in install(). It also will restrict viewing of the <code>QuickMenu</code> entry to super-admins and to blog-admins.\r
+       <pre class="example"><code>function event_QuickMenu(&$data) {\r
+    // only show when option enabled\r
+    if ($this->getOption('quickmenu') != 'yes') return;\r
+    global $member;\r
+    if (!$member->isAdmin() && !count($member->getAdminBlogs())) return;\r
+    array_push($data['options'],\r
+       array('title' => 'PluginName',\r
+               'url' => $this->getAdminURL(),\r
+               'tooltip' => 'Administer NP_PluginName'));\r
+}</code></pre>\r
+  </li>\r
+</ol>\r
+\r
+<h2>考慮すること</h2>\r
+\r
+<ul>\r
+ <li>登録できるからといって安易にクイックメニューへ登録しないこと。クイックメニューにプラグインが100個並んだりしたらかなりウンザリするでしょう。ですので、クイックメニューに登録する場合でも、クイックメニュー登録を有効・無効化するプラグインオプションを(グローバルまたはメンバーオプションで)用意することを考えてください。</li>\r
+ <li><code>プラグインディレクトリが nucleus/plugins/ ではない場合は、index.php内の $strRel</code> 変数は手動で書き換える必要があります。</li>\r
+ <li>管理エリアのアウトプットが<strong>正しいXHTML</strong>になっているか確認してください。正しくないと、MozillaなどのGeckoベースのブラウザでページ表示が崩れます。</li>\r
+</ul>\r
+\r
+<h2>PluginAdmin クラス</h2>\r
+\r
+<p><code>PluginAdmin</code> クラスは助けになります。これを一度生成すれば、<code>$oPluginAdmin-&gt;plugin</code> でプラグインのインスタンスにアクセスできます。</p>\r
+\r
+<h1>プラグイン用ヘルプページ <a id="help" name="help" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>Nucleus v3.2から、プラグインの機能の概要、利用できるスキン・テンプレート変数、さらに詳細な情報のありかなどを示すヘルプページを提供可能になりました。</p>\r
+\r
+<p>ヘルプページは管理画面のプラグイン一覧からアクセス可能になります。</p>\r
+\r
+<h2>基本</h2>\r
+<p>ヘルプページを提供するために、次のステップが必要です。</p>\r
+<ol>\r
+<li>プラグインディレクトリに、プラグイン名をつけたサブディレクトリを作成します。ディレクトリ名は小文字であることに注意します。<a href="#admin">管理エリア</a>を作るときと同様です。</li>\r
+<li>そのディレクトリの中に help.html を作り、プラグインについての文章を記述します。次の雛型からはじめると良いでしょう。\r
+<pre><code>&lt;h3&gt;プラグインの概要&lt;/h3&gt;\r
+\r
+&lt;p&gt;このプラグインはヘルプページがいかに機能するかを示すためだけのものです&lt;/p&gt;\r
+\r
+&lt;h3&gt;インストール&lt;/h3&gt;\r
+\r
+&lt;p&gt;これを読めてるならインストールは正しく出来てます :-)&lt;/p&gt;\r
+\r
+&lt;h3&gt;スキン変数&lt;/h3&gt;\r
+\r
+&lt;p&gt;このプラグインはただのテストケースなのでスキン・テンプレート変数はありませんが、書くとすれば。\r
+\r
+&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;%HelpPageTestCase1%&gt;&lt;/b&gt;: なにかをする&lt;/li&gt;\r
+&lt;li&gt;&lt;b&gt;&lt;%HelpPageTestCase1(foobar)%&gt;&lt;/b&gt;: 別のなにかをする&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;\r
+\r
+&lt;h3&gt;サポートとバグ報告&lt;/h3&gt;\r
+\r
+&lt;p&gt;さらなるサポートやバグ報告のために、次のフォーラムのスレッドを利用してください。\r
+&lt;a href="http://forum.nucleuscms.org/viewtopic.php?t=&lt;トピックID&gt;"&gt;\r
+http://forum.nucleuscms.org/viewtopic.php?t=&lt;トピックID&gt;&lt;/a&gt;&lt;/p&gt;\r
+\r
+&lt;h3&gt;バージョン履歴&lt;/h3&gt;\r
+\r
+&lt;ul&gt;&lt;li&gt;Version 0.1: 最初のテストケースバージョン&lt;/li&gt;\r
+&lt;li&gt;Version 0.0: その前のバージョン ;-)&lt;/li&gt;&lt;/ul&gt;</code></pre>\r
+</li>\r
+<li>supportsFeature('HelpPage') で0より大きい数字を返すように設定します。\r
+<pre><code>function supportsFeature($what) {\r
+    switch($what) {\r
+    case 'HelpPage':\r
+        return 1;\r
+      default:\r
+        return 0;\r
+    }\r
+  }</code></pre>\r
+</li>\r
+</ol>\r
+\r
+<h1>プラグイン依存チェック <a id="dependency" name="dependency" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>v3.2から、他のプラグインとの依存関係を宣言する新しいプラグインインターフェイスが追加されました。\r
+他のプラグインの機能を必要とするプラグインに利用できます。特に依存関係が成立しなくて正しく機能しない状態を検知するときに便利です。</p>\r
+\r
+<h2>この機能を利用するプラグインの書き方</h2>\r
+\r
+<p>現実世界での例からはじめましょう。</p>\r
+\r
+<p>NP_PageLinkList は NP_BlogWithOffset の機能を利用するため、利用者には NP_BlogWithOffset のインストール後に NP_PageLinkList をインストールさせたいとします。\r
+NucleusはこのAPIによって、インストール前に依存関係を検知させる方法をプラグインに提供します。</p>\r
+\r
+<p>このケースでは、NP_PageLinkList 側に NP_BlogWithOffset が必要だということを認識させるコードを埋め込みます。\r
+プラグインがインストールされる際に、Nucleusコアは <code>getPluginDep()</code> というファンクションを呼び出します。\r
+このファンクションは必要なプラグインのリストを返し、コアはインストール済みのプラグインをチェックして、もし依存関係に欠如があればインストールを拒否します。</p>\r
+\r
+<p>必要なことは NP_PageLinkList にこのファンクションを追加する、ただそれだけです。</p>\r
+\r
+<pre><code>function getPluginDep() {\r
+     return array('NP_BlogWithOffset');\r
+}</code></pre>\r
+\r
+<p>このプラグイン依存チェックは、他のプラグインが依存しているプラグインがアンインストールされることも防ぎます。</p>\r
+\r
+</div>\r
+<h1>Internationalizing Your Plugin <a name="internationalization" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>Internationalization of a plugin allows your plugin to be easily used by people all over the world, people who do not \r
+speak the same language as you do. It requires a little additional work for you, but makes translating the output of your plugin \r
+as easy as translating a few phrases in a text file. Below is a description of the standard method suggested for use by Nucleus plugins. \r
+Thanks to Andy Matsubara for the instructions.</p>\r
+\r
+<ol>\r
+       <li><strong>Develop your plugin</strong>\r
+\r
+At first, it is easier to develop it in your language. Use of language files is recommended after the plugin becomes stable.</li>\r
+       <li><strong>Create plugin directory</strong>\r
+\r
+If your plugin name is NP_AbcDef, the plugin directory name is abcdef (always lower case).</li>\r
+       <li><strong>Create language files</strong>\r
+\r
+Create the language files in the directory of your plugin. The name of the language file must be the same as that of the Nucleus language file name. For example, english.php is for English and default use. japanese-utf8.php for Japanese(UTF-Cool,japanese-euc.php for Japanese(EUC-JP).</li>\r
+       <li><strong>Define strings</strong>\r
+\r
+Define strings like below in the language file:\r
+\r
+<pre class="example"><code>&lt;?php\r
+define('_ABCDEF_MESSAGENAME',                  'actual strings in the language');\r
+  . . .\r
+?&gt;</code></pre>\r
+\r
+You have to define them for all static strings in your plugin. As defined name is used globally in the environment, it is recommended to have a prefix derived from the plugin name(in this case _ABCDEF).</li>\r
+       <li><strong>Replace static strings</strong>\r
+\r
+Replace static strings in your plugin with the defined names so they will change according to the language file.</li>\r
+       <li><strong>Create init method</strong>\r
+\r
+Make the init method in the plugin like below\r
+\r
+<pre class="example"><code>   function init() {\r
+      // include language file for this plugin\r
+      $language = ereg_replace( '[\\|/]', '', getLanguageName());\r
+      if (file_exists($this->getDirectory().$language.'.php'))\r
+         include_once($this->getDirectory().$language.'.php');\r
+      else\r
+         include_once($this->getDirectory().'english.php');\r
+   }</code></pre>\r
+</li>\r
+This logic is same as Nucleus・language file setting.\r
+       <li><strong>Add language files</strong>\r
+\r
+As English is the default language, it is recommended to have at least the English version.    </li>\r
+</ol>\r
+\r
+\r
+\r
+<h1>Formatting your SkinVar output <a name="skinvar-formatting" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>Some great plugin ideas never receive general use simply because the output generated by the <code>doSkinVar()</code> method is not flexible enough to meet the needs of \r
+different skins or URL schemes. Nucleus provides some tools to help you generalize your output in ways that allow each user to fit it to his or her needs.</p>\r
+\r
+<p>To create links to Nucleus pages, such as blogs, categories, items, member details, action.php, admin area, or the plugin admin page, use the built in Nucleus functions \r
+and global variables described below:</p>\r
+\r
+<table summary="An overview of functions and variables useful in creating links to Nucleus pages">\r
+       <caption>Functions and variables useful in creating links to Nucleus pages</caption>\r
+       <tr>\r
+               <th>Name</th><th>What</th><th>Parameters</th><th>Description</th>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$CONF['AdminURL']</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full URL to the Nucleus Admin Area</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$CONF['PluginURL']</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full URL to the Nucleus plugins directory. Use it to link to a plugin's admin page, like this <code>$CONF['PluginURL'].'pluginname/'</code></td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$CONF['ActionURL']</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full URL to the Nucleus action.php file</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$CONF['MediaURL']</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full URL to the Nucleus media folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$CONF['SkinsURL']</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full URL to the Nucleus skins folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$CONF['IndexURL']</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full URL to the main Nucleus directory.</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$DIR_NUCLEUS</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full system path to the Nucleus Admin folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$DIR_SKINS</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full system path to the Nucleus skins folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$DIR_MEDIA</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full system path to the Nucleus media folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$DIR_PLUGINS</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full system path to the Nucleus plugins folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$DIR_LANG</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full system path to the Nucleus language folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>$DIR_LIBS</code></td>\r
+               <td>Global variable</td>\r
+               <td>None</td>\r
+               <td>Full system path to the Nucleus libs folder</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>getAdminURL()</code></td>\r
+               <td>method, PLUGIN class</td>\r
+               <td>None</td>\r
+               <td>Returns the URL of where the admin area of the plugin is located (if there is no such admin area, this information is invalid)</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>getDirectory()</code></td>\r
+               <td>method, PLUGIN class</td>\r
+               <td>None</td>\r
+               <td>Returns the full system path where the extra files for the plugin are stored (if there are no such files, this information makes no sense). The result is something like ".../nucleus/plugins/plugname/"</td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>createItemLink($itemid, $extra = '')</code></td>\r
+               <td>Global function</td>\r
+               <td><code>$itemid</code> Integer. ID of item being linked.<br />\r
+                       <code>$extra</code> Associative Array. Containing key-value pairs corresponding to additional parameters-values that should appear in the link.\r
+               </td>\r
+               <td>Returns the full URL, in scheme chosen by user, of item indicated by <code>$itemid</code></td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>createMemberLink($memberid, $extra = '')</code></td>\r
+               <td>Global function</td>\r
+               <td><code>$memberid</code> Integer. ID of member being linked.<br />\r
+                       <code>$extra</code> Associative Array. Containing key-value pairs corresponding to additional parameters-values that should appear in the link.\r
+               </td>\r
+               <td>Returns the full URL, in scheme chosen by user, of member page indicated by <code>$memberid</code></td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>createCategoryLink($catid, $extra = '')</code></td>\r
+               <td>Global function</td>\r
+               <td><code>$catid</code> Integer. ID of category being linked.<br />\r
+                       <code>$extra</code> Associative Array. Containing key-value pairs corresponding to additional parameters-values that should appear in the link.\r
+               </td>\r
+               <td>Returns the full URL, in scheme chosen by user, of category index page indicated by <code>$catid</code></td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>createArchiveListLink($blogid = '', $extra = '')</code></td>\r
+               <td>Global function</td>\r
+               <td><code>$blogid</code> Integer. ID of blog whose archivelist is being linked.<br />\r
+                       <code>$extra</code> Associative Array. Containing key-value pairs corresponding to additional parameters-values that should appear in the link.\r
+               </td>\r
+               <td>Returns the full URL, in scheme chosen by user, of archivelist page indicated by <code>$blogid</code></td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>createArchiveLink($blogid, $archive, $extra = '')</code></td>\r
+               <td>Global function</td>\r
+               <td><code>$blogid</code> Integer. ID of blog whose archive is being linked.<br />\r
+                       <code>$archive</code> String. Valid archive parameter for date (year-month) being linked.<br />\r
+                       <code>$extra</code> Associative Array. Containing key-value pairs corresponding to additional parameters-values that should appear in the link.\r
+               </td>\r
+               <td>Returns the full URL, in scheme chosen by user, of archive page indicated by <code>$blogid</code> and <code>$archive</code></td>\r
+       </tr>\r
+       <tr>\r
+               <td><code>createBlogidLink($blogid, $extra = '')</code></td>\r
+               <td>Global function</td>\r
+               <td><code>$blogid</code> Integer. ID of blog being linked.<br />\r
+                       <code>$extra</code> Associative Array. Containing key-value pairs corresponding to additional parameters-values that should appear in the link.\r
+               </td>\r
+               <td>Returns the full URL, in scheme chosen by user, of main index page indicated by <code>$blogid</code></td>\r
+       </tr>\r
+</table>\r
+\r
+<p>Using a template to format your output is always a good idea. You may want to output an unordered list, but another user may want the same data \r
+separated by a simple character, or other unique format. Nucleus provides two ways to create and store the template data. In both \r
+examples below, we will be creating a template with 2 variables, <code>&lt;%foo%&gt;</code> and <code>&lt;%bar%&gt;</code>.</p>\r
+\r
+<ol>\r
+       <li><strong>Using Plugin Options</strong>. This method may be the simplest and will work on all versions 3.2 and higher. It's \r
+       big disadvantage is that plugin options are deleted during an uninstall, so your users may lose customizations during an upgrade of \r
+       your plugin. Simply create an option in the <code>install()</code> method like the following:\r
+       <pre class="example"><code>$this->createOption('my_template', \r
+               'Template used to format output of plugin.', \r
+               'textarea', \r
+               '&lt;li&gt;&lt;%foo%&gt; loves &lt;%bar%&gt;&lt;/li&gt;');</code></pre>\r
+       Then in the <code>doSkinVar()</code> method, determine the values of <code>foo</code> and <code>bar</code> and fill the template like this:\r
+       <pre class="example"><code>$mytemplate = $this->getOption('my_template');\r
+$couples = array(\r
+                       array(\r
+                               'foo'=>'Ricky',\r
+                               'bar'=>'Lucy'),\r
+                       array(\r
+                               'foo'=>'Sid',\r
+                               'bar'=>'Nancy'),\r
+                       array(\r
+                               'foo'=>'Mickey',\r
+                               'bar'=>'Minnie')\r
+                       );\r
+foreach ($couples as $values) {\r
+       echo TEMPLATE::fill($mytemplate,$values);\r
+}</code></pre>\r
+       Now the skinvar for our plugin <code>&lt;%TemplateTest%&gt;</code> will output three lines like this:\r
+       <pre class="example"><code>&lt;li&gt;Ricky loves Lucy&lt;/li&gt;\r
+&lt;li&gt;Sid loves Nancy&lt;/li&gt;\r
+&lt;li&gt;Mickey loves Minnie&lt;/li&gt;</code></pre>\r
+       </li>\r
+       \r
+       <li><strong>Using Nucleus Core Template System</strong>. This method will only work with versions 3.4 and higher. It has the advantage of \r
+       being using the database-stored template system and can be exported like other template fields. For a full sample plugin using this method, \r
+       see this <a href="http://forum.nucleuscms.org/viewtopic.php?p=87672#87672" title="Sample">thread from the support forum</a>. A summary is given here. \r
+       First, create the option in <code>install()</code> as in method 1, but now we will use it as a default.\r
+       <pre class="example"><code>$this->createOption('my_template', \r
+               'Template used to format output of plugin.', \r
+               'textarea', \r
+               '&lt;li&gt;&lt;%foo%&gt; loves &lt;%bar%&gt;&lt;/li&gt;');</code></pre>\r
+       Then, subscribe to the <code>TemplateExtraFields</code> event like this:\r
+       <pre class="example"><code>function getEventList() { return array('TemplateExtraFields'); }</code></pre>\r
+       Then, create a <code>event_TemplateExtraFields</code> method in your plugin, like this:\r
+       <pre class="example"><code>function event_TemplateExtraFields(&$data) {\r
+    /* Add an element in the $data['fields'] array using your plugin name as the key \r
+       and an associative array containing the field name and field label*/\r
+    /* note that your field names should be lowercase and include the name \r
+       of your template as shown below. This will ensure that all template field names are unique. */\r
+    $data['fields']['NP_TemplateTest'] = array(\r
+        'templatetest_body'=>'TemplateTest Body'\r
+    );\r
+}</code></pre>\r
+       Then, in the <code>doSkinVar()</code> method, you need to retrieve the template and fill it. Note the skinvar now needs to take \r
+       the template name as a parameter.\r
+       <pre class="example"><code>function doSkinVar($skinType,$template = '') {\r
+       global $blog, $CONF, $manager,$member;\r
+\r
+       $template =& $manager->getTemplate($template);\r
+       if (trim($template['templatetest_body']) == '')\r
+               $template['templatetest_body'] = $this->getOption('my_template');\r
+               \r
+       $couples = array(\r
+                       array(\r
+                               'foo'=>'Ricky',\r
+                               'bar'=>'Lucy'),\r
+                       array(\r
+                               'foo'=>'Sid',\r
+                               'bar'=>'Nancy'),\r
+                       array(\r
+                               'foo'=>'Mickey',\r
+                               'bar'=>'Minnie')\r
+                       );\r
+       foreach ($couples as $values) {\r
+               echo TEMPLATE::fill($template['templatetest_body'],$values);\r
+       }       \r
+}</code></pre>\r
+       Here, the user needs to go to the template he wants to use and enter the formatting he desires into the TemplateTest Body field. \r
+       For our purposes, we are using the default/index template. He may enter something like this:\r
+       <pre class="example"><code>&lt;li&gt;&lt;%foo%&gt; loves &lt;%bar%&gt;!!!&lt;/li&gt;</code></pre>\r
+       And using a SkinVar like <code>&lt;%TemplateTest(default/index)%&gt;</code> will output this:\r
+       <pre class="example"><code>&lt;li&gt;Ricky loves Lucy!!!&lt;/li&gt;\r
+&lt;li&gt;Sid loves Nancy!!!&lt;/li&gt;\r
+&lt;li&gt;Mickey loves Minnie!!!&lt;/li&gt;</code></pre>\r
+       </li>\r
+       \r
+       <li><strong>Formatting Items Using Regular Template</strong>. This applies only to versions 3.40 and higher and for \r
+       plugins which output items. It has the advantage of using the existing Item fields in the core template system, \r
+       just like the <code>&lt;%blog%&gt;</code> SkinVar does. This requires the use of a method in the BLOG class called \r
+       <code>readLogFromList()</code> and requires that you input an array of itemids and a template name. If you need to \r
+       add variables to the template, you can do so using the <code>doTemplateVar()</code> method. Here is an example of \r
+       a <code>doSkinVar()</code> method that uses this technique. It takes 4 itemids as parameters, then outputs those four \r
+       items using the default/index template\r
+       <pre class="example"><code>function doSkinVar($skinType,$item1 = 0,$item2 = 0,$item3 = 0,$item4 = 0) {\r
+       global $blog;\r
+       $highlight = '';\r
+       $template = 'default/index';\r
+       $item_array = array($item1,$item2,$item3,$item4);\r
+       $blog->readLogFromList($item_array, $template);\r
+}</code></pre>\r
+       \r
+       </li>\r
+</ol>\r
+\r
+\r
+<h1>Additional Reading <a name="additional-reading" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>\r
+\r
+<p>As this document is intended to get you started, there are other resources available that offer additional insight.</p>\r
+<ul>\r
+<li><a href="http://wiki.nucleuscms.org/plugindev:index" title="Development Wiki">Development Wiki</a></li>\r
+<li><a href="sqltables.html" title="Database Tables">Nucleus Database Table Structure</a></li>\r
+<!-- <li><a href="" title=""></a></li> -->\r
+</ul>\r
+\r
+<!--\r
+<pre class="example"><code></code></pre>\r
+<pre class="example"><code></code></pre>\r
+<pre class="example"><code></code></pre>\r
+<pre class="example"><code></code></pre>\r
+-->\r
+\r
+</body>\r
+</html>
\ No newline at end of file
index c3c6f92..6ad9b22 100755 (executable)
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">
-<head>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">\r
+<head>\r
        <!-- $Id: sqltables.html,v 1.7 2007-02-04 06:28:45 kimitake Exp $ -->
        <!-- $NucleusJP: sqltables.html,v 1.6 2006/07/17 20:02:50 kimitake Exp $ -->
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>Nucleus - SQL テーブル構造</title>
-       <link rel="stylesheet" type="text/css" href="styles/manual.css" />
-       <style type="text/css">
-               /* auto increment table columns*/
-               .autoinc {
-               }
-
-               /* primary-keys */
-               .primary {
-                       text-decoration: underline;
-                       font-weight: bold;
-               }
-
-               /* NOT NULL */
-               .notnull {
-               }
-
-               /* unique key */
-               .unique {
-               }
-
-               /* foreign keys */
-               .foreign {
-                       font-style: italic;
-               }
-
-               /* auto increment table columns*/
-               .autoinc {
-               }
-
-               /* fulltext index */
-               .fulltext {
-               }
-
-               /* columns/tables to remove in later versions */
-               .toremove {
-                       color: red;
-               }
-
-
-
-
-       </style>
-</head>
-<body>
-
-<a name="top" id="top"></a>
-
-<div class="heading">
-SQLテーブル・リファレンス
-<i>2005年3月5日</i>
-</div>
-<strong>訳者注:</strong>
-<ul>
-  <li>このドキュメントの原文は以下のURLにあります。<br>
-    <a href="http://nucleuscms.org/documentation/devdocs/sqltables.html">http://nucleuscms.org/documentation/devdocs/sqltables.html</a></li>
-  <li>誤訳にお気づきの方は<a href="http://japan.nucleuscms.org/bb/viewforum.php?f=7">こちら</a>へご連絡いただけると助かります。</li>
-</ul>
-
-<h1>はじめに</h1>
-
-<p>
-<a href="index.html">開発者向けドキュメントの目次へ戻る</a>
-</p>
-
-<p>
-このドキュメントはNucleusのデータベース・テーブルのフィールドを解説しています。
-</p>
-
-<p class="note">構造は<strong>Nucleus v3.2</strong>のものに従っています</p>
-
-<h1><a name="toc" id="toc"></a>目次</h1>
-<ul>
-       <li><a href="#legend">文書中の色使いについて</a></li>
-       <li>
-
-               Blog
-
-               <ul>
-                       <li><a href="#nucleus_blog">nucleus_blog</a></li>
-                       <li><a href="#nucleus_category">nucleus_category</a></li>
-                       <li><a href="#nucleus_item">nucleus_item</a></li>
-                       <li><a href="#nucleus_comment">nucleus_comment</a></li>
-                       <li><a href="#nucleus_member">nucleus_member</a></li>
-                       <li><a href="#nucleus_team">nucleus_team</a></li>
-               </ul>
-       </li>
-       <li>
-               プラグイン
-               <ul>
-                       <li><a href="#nucleus_plugin">nucleus_plugin</a></li>
-                       <li><a href="#nucleus_plugin_event">nucleus_plugin_event</a></li>
-                       <li><a href="#nucleus_plugin_option">nucleus_plugin_option</a></li>
-                       <li><a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a></li>
-               </ul>
-       </li>
-       <li>
-               スキンとテンプレート
-               <ul>
-                       <li><a href="#nucleus_skin">nucleus_skin</a></li>
-                       <li><a href="#nucleus_skin_desc">nucleus_skin_desc</a></li>
-                       <li><a href="#nucleus_template">nucleus_template</a></li>
-                       <li><a href="#nucleus_template_desc">nucleus_template_desc</a></li>
-               </ul>
-       </li>
-       <li>
-               管理
-               <ul>
-                       <li><a href="#nucleus_actionlog">nucleus_actionlog</a></li>
-                       <li>
-                               <a href="#nucleus_config">nucleus_config</a>
-                               <ul>
-                                       <li><a href="#nucleus_config_options">可能なオプション</a></li>
-                               </ul>
-                       </li>
-                       <li><a href="#nucleus_tickets">nucleus_tickets</a></li>
-                       <li><a href="#nucleus_activation">nucleus_activation</a></li>
-               </ul>
-       </li>
-       <li>
-               その他
-   <ul>
-               <ul>
-                       <li><a href="#nucleus_karma">nucleus_karma</a></li>
-                       <li><a href="#nucleus_ban">nucleus_ban</a></li>
-               </ul>
-       </li>
-
-
-</ul>
-
-<a id="legend" name="legend"></a>
-<h1>色使い<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-
-<p>この文書中では、カラムの型を示すために、文字の修飾を使っています。以下に例を示します:</p>
-
-<table width="893"><tr>
-       <td class="primary" width="88">プライマリ</td>
-       <td width="775">プライマリキー</td>
-</tr><tr>
-       <td class="foreign" width="88">外部</td>
-       <td width="775">外部キー(クリックすると参照先に飛ぶ)。MySQLは外部キーとの一貫性保持に責任を持たないことに注意</td>
-</tr><tr>
-       <td class="toremove" width="88">削除予定</td>
-       <td width="775">同じ機能を提供するプラグインを優先するため、テーブルやカラムは将来のバージョンのNucleusで削除させる可能性が高い</td>
-</tr><tr>
-       <td class="fulltext" width="88">フルテキスト</td>
-       <td width="775">カラムにフルテキストのインデックスが付く(検索で使用する)</td>
-</tr></table>
-
-
-<a id="nucleus_blog" name="nucleus_blog"></a>
-<h1>nucleus_blogテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-
-<table><tr>
-       <th>カラム名</th>
-       <th>型</th>
-       <th>既定値</th>
-       <th>説明</th>
-
-</tr><tr>
-       <td class="notnull autoinc primary">bnumber</td>
-       <td>int(11)</td>
-       <td></td>
-       <td>BlogのID</td>
-
-</tr><tr>
-       <td class="notnull">bname</td>
-       <td>varchar(60)</td>
-       <td>''</td>
-       <td>Blog名</td>
-
-</tr><tr>
-       <td class="notnull unique">bshortname</td>
-       <td>varchar(15)</td>
-       <td>''</td>
-       <td>Blogの短縮名 (スキン変数 <code>&lt;%blog%&gt;</code>などで使うものと同じ)</td>
-</tr><tr>
-      <td>bdesc</td>
-      <td>varchar(200)</td>
-      <td>NULL</td>
-      <td>Blogの説明</td>
-    </tr>
-    <tr>
-      <td class="notnull">bcomments</td>
-      <td>tinyint(2)</td>
-      <td>'1'</td>
-      <td>コメントを許可する(1=許可, 0=不許可)</td>
-    </tr>
-    <tr>
-      <td class="notnull">bmaxcomments</td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>indexスキンタイプで表示するコメントの最大数。既定値(0)は制限がないことを説明する。インライン・コメントを使わないのなら,ここはいじらないこと</td>
-    </tr>
-    <tr>
-      <td class="notnull">btimeoffset</td>
-      <td>decimal(3,1)</td>
-      <td>'0.0'</td>
-      <td>サーバー時刻との時差。アイテムはサーバー時刻にこの値を足した時間でデータベースに保存される</td>
-    </tr>
-    <tr>
-      <td class="toremove">bnotify</td>
-      <td>varchar(60)</td>
-      <td>NULL</td>
-      <td>通知するメール・アドレス。いくつかのイベントが起こると(どのイベントかは<code>bnotifytypeを参照のこと)</code>,このアドレス宛てにメールで通知が行く</td>
-    </tr>
-    <tr>
-      <td>burl</td>
-      <td>varchar(100)</td>
-      <td>NULL</td>
-      <td>BlogのURL</td>
-    </tr>
-    <tr>
-      <td class="toremove">bupdate</td>
-      <td>varchar(60)</td>
-      <td>NULL</td>
-      <td>アイテムが投稿されるたびに変更が必要な更新ファイル。サーバー上の絶対パスで指定する</td>
-    </tr>
-    <tr>
-      <td class="notnull foreign"><a href="#nucleus_skin_desc">bdefskin</a></td>
-      <td>int(11)</td>
-      <td>'1'</td>
-      <td>このBlogを表示するときに使う標準のスキン</td>
-    </tr>
-    <tr>
-      <td class="notnull">bpublic</td>
-      <td>tinyint(2)</td>
-      <td>'1'</td>
-      <td>登録ユーザー以外にもコメントを許可する(1=許可/0=不許可)</td>
-    </tr>
-    <tr>
-      <td class="notnull toremove">bsendping</td>
-      <td>tinyint(2)</td>
-      <td>'0'</td>
-      <td>更新があったときにweblogs.comにpingを送る (1=送る/0=送らない)</td>
-    </tr>
-    <tr>
-      <td class="notnull toremove">bconvertbreaks</td>
-      <td>tinyint(2)</td>
-      <td>'1'</td>
-      <td>改行を<code>&lt;br /&gt;</code>に変換する (1=変換する/0=変換しない)</td>
-    </tr>
-    <tr>
-      <td class="foreign"><a href="#nucleus_category">bdefcat</a></td>
-      <td>int(11)</td>
-      <td>NULL</td>
-      <td>デフォルトのカテゴリー。他のカテゴリーが選択されていないとき、このカテゴリーになる</td>
-    </tr>
-    <tr>
-      <td class="notnull">bnotifytype</td>
-      <td>int(11)</td>
-      <td>'15'</td>
-      <td>どのイベントが起こったときに通知メールを送るか(通知するメール・アドレスはbnotifyを参照)。三つの値の組み合わせからなり、掛け合わせることでnoifytypeの値が決まる。
-        <ul>
-          <li>3: 新しいコメント</li>
-          <li>5: 新しいカルマ投票</li>
-          <li>7: 新しいアイテム</li>
-        </ul>
-        既定値 = 新しいコメントと新しいカルマ投票(3×5=15)</td>
-    </tr>
-    <tr>
-      <td class="notnull">ballowpast</td>
-      <td>tinyint(2)</td>
-      <td>'0'</td>
-      <td>過去の日時での投稿を許可する (1=許可/0=不許可)</td>
-    </tr>
-    <tr>
-      <td class="notnull">bincludesearch</td>
-      <td>tinyint(2)</td>
-      <td>'0'</td>
-      <td>他のblogの検索の場合にも,検索対象にする(1=対象にする/0=対象にしない)</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_category" name="nucleus_category"></a>
-<h1>nucleus_categoryテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary">catid</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>カテゴリーID</td>
-    </tr>
-    <tr>
-      <td class="notnull foreign"><a href="#nucleus_blog">cblog</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>カテゴリーが所属するBlogのID</td>
-    </tr>
-    <tr>
-      <td>cname</td>
-      <td>varchar(40)</td>
-      <td>NULL</td>
-      <td>カテゴリーの名前</td>
-    </tr>
-    <tr>
-      <td>cdesc</td>
-      <td>varchar(200)</td>
-      <td>NULL</td>
-      <td>カテゴリーの説明</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_item" name="nucleus_item"></a>
-<h1>nucleus_itemテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary">inumber</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>アイテムのID</td>
-    </tr>
-    <tr>
-      <td class="fulltext">ititle</td>
-      <td>varchar(160)</td>
-      <td>NULL</td>
-      <td>タイトル</td>
-    </tr>
-    <tr>
-      <td class="notnull fulltext">ibody</td>
-      <td>text</td>
-      <td></td>
-      <td>本文</td>
-    </tr>
-    <tr>
-      <td class="fulltext">imore</td>
-      <td>text</td>
-      <td></td>
-      <td>追加部分</td>
-    </tr>
-    <tr>
-      <td class="notnull foreign"><a href="#nucleus_blog">iblog</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>アイテムが所属するBlogのID</td>
-    </tr>
-    <tr>
-      <td class="notnull foreign"><a href="#nucleus_member">iauthor</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>アイテムの著者のID</td>
-    </tr>
-    <tr>
-      <td class="notnull">itime</td>
-      <td>datetime</td>
-      <td>'0000-00-00 00:00:00'</td>
-      <td>投稿時間(サーバーとの時差を反映したもの)</td>
-    </tr>
-    <tr>
-      <td class="notnull">iclosed</td>
-      <td>tinyint(2)</td>
-      <td>'0'</td>
-      <td>アイテムが閉鎖されたかどうか (1=閉鎖/0=閉鎖していない). 
-        閉鎖すると、コメントやカルマ投票を受け付けない</td>
-    </tr>
-    <tr>
-      <td class="notnull">idraft</td>
-      <td>tinyint(2)</td>
-      <td>'0'</td>
-      <td>アイテムはドラフトかどうか。ドラフトは管理ページでだけ見られる</td>
-    </tr>
-    <tr>
-      <td class="notnull toremove">ikarmapos</td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>+のカルマ投票の総数</td>
-    </tr>
-    <tr>
-      <td class="notnull toremove">ikarmaneg</td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>−のカルマ投票の総数</td>
-    </tr>
-    <tr>
-      <td class="foreign"><a href="#nucleus_category">icat</a></td>
-      <td>int(11)</td>
-      <td>NULL</td>
-      <td>アイテムが所属するカテゴリーのID</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_comment" name="nucleus_comment"></a>
-<h1>nucleus_commentテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary">cnumber</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>コメントのID</td>
-    </tr>
-    <tr>
-      <td class="notnull fulltext">cbody</td>
-      <td>text</td>
-      <td></td>
-      <td>コメントの本文</td>
-    </tr>
-    <tr>
-      <td>cuser</td>
-      <td>varchar(40)</td>
-      <td>NULL</td>
-      <td>筆者名(メンバーでない場合,メンバーの場合はcmember参照)</td>
-    </tr>
-    <tr>
-      <td>cmail</td>
-      <td>varchar(100)</td>
-      <td>NULL</td>
-      <td>メール・アドレスあるいはURL(メンバーでない場合,メンバーの場合はcmember参照)</td>
-    </tr>
-    <tr>
-      <td class="foreign"><a href="#nucleus_member">cmember</a></td>
-      <td>int(11)</td>
-      <td>NULL</td>
-      <td>コメントを書いたメンバーのID(メンバーでない場合は0)</td>
-    </tr>
-    <tr>
-      <td class="notnull foreign"><a href="#nucleus_item">citem</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>コメントが書き込まれたアイテムのID</td>
-    </tr>
-    <tr>
-      <td class="notnull">ctime</td>
-      <td>datetime</td>
-      <td>'0000-00-00 00:00:00'</td>
-      <td>コメントを書き込んだ時間</td>
-    </tr>
-    <tr>
-      <td>chost</td>
-      <td>varchar(60)</td>
-      <td>NULL</td>
-      <td>コメントを入力したホスト名</td>
-    </tr>
-    <tr>
-      <td class="notnull">cip</td>
-      <td>varchar(15)</td>
-      <td>''</td>
-      <td>コメントを入力したIPアドレス</td>
-    </tr>
-    <tr>
-      <td class="notnull foreign"><a href="#nucleus_blog">cblog</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>コメントが付属するBlogのID</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_member" name="nucleus_member"></a>
-<h1>nucleus_memberテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary">mnumber</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>メンバーのID</td>
-    </tr>
-    <tr>
-      <td class="notnull unique">mname</td>
-      <td>varchar(16)</td>
-      <td>''</td>
-      <td>名前(ログインに使うものと同じ)</td>
-    </tr>
-    <tr>
-      <td>mrealname</td>
-      <td>varchar(60)</td>
-      <td>NULL</td>
-      <td>フルネーム</td>
-    </tr>
-    <tr>
-      <td class="notnull">mpassword</td>
-      <td>varchar(40)</td>
-      <td>''</td>
-      <td>パスワード (<a href="http://www.php.net/md5" title="Info about the PHP md5() function">md5</a>で暗号化してある)</td>
-    </tr>
-    <tr>
-      <td>memail</td>
-      <td>varchar(60)</td>
-      <td>NULL</td>
-      <td>メール・アドレス</td>
-    </tr>
-    <tr>
-      <td>murl</td>
-      <td>varchar(100)</td>
-      <td>NULL</td>
-      <td>URL</td>
-    </tr>
-    <tr>
-      <td>mnotes</td>
-      <td>varchar(100)</td>
-      <td>NULL</td>
-      <td>追加事項(メンバー自身が記述できる)</td>
-    </tr>
-    <tr>
-      <td class="notnull">madmin</td>
-      <td>tinyint(2)</td>
-      <td>'0'</td>
-      <td>Super-admin(最高権限管理者)か (1=そう/0=違う 
-        super-adminはすべての権利を持つ。システムに一人はsuper-adminがいる)</td>
-    </tr>
-    <tr>
-      <td class="notnull">mcanlogin</td>
-      <td>tinyint(2)</td>
-      <td>'1'</td>
-      <td>管理エリアへのログインを許可 (1=許可/0=不許可)</td>
-    </tr>
-    <tr>
-      <td>mcookiekey</td>
-      <td>varchar(40)</td>
-      <td>NULL</td>
-      <td>このキーのコピーがユーザーのクッキーに保存され、ログオンに使う。メンバーがログオンすると、ランダムなcookiekeyが生成され、一方はデータベースに、他方がユーザーのコンピュータに保存される。</td>
-    </tr>
-    <tr>
-      <td class="notnull">deflang</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>このメンバー用の言語ファイルを指定する</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_team" name="nucleus_team"></a>
-<h1>nucleus_teamテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<p>Blogのチーム・メンバーごとに、この表にデータがある</p>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull primary foreign"><a href="#nucleus_member">tmember</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>メンバーのID</td>
-    </tr>
-    <tr>
-      <td class="notnull primary foreign"><a href="#nucleus_blog">tblog</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>チーム・メンバーになっているBlog</td>
-    </tr>
-    <tr>
-      <td class="notnull">tadmin</td>
-      <td>tinyint(2)</td>
-      <td>'0'</td>
-      <td>Blogの管理者か (0=違う/1=そう。各Blogは一人は管理者がいる)</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_plugin" name="nucleus_plugin"></a>
-<h1>nucleus_pluginテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary">pid</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>プラグインのID</td>
-    </tr>
-    <tr>
-      <td class="notnull">pfile</td>
-      <td>varchar(40)</td>
-      <td>''</td>
-      <td>プラグインのファイル名(例えば<code>NP_CommentControl</code>)。プラグイン・ディレクトリにファイルがないといけない(.phpの拡張子が付いて)。</td>
-    </tr>
-    <tr>
-      <td class="notnull">porder</td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>プラグインが呼び出される順番。プラグイン・ページで表示される順番でもある。数字が小さい方がリストの上の方に来る。</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_plugin_event" name="nucleus_plugin_event"></a>
-<h1>nucleus_plugin_eventテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<p>各プラグインが登録するイベントを記録するキャッシュ。リクエストの度にすべてのプラグインを読み込んで,それらが使うイベントを調べる手間を省くために保存している。<a href="plugins.html#events">プラグインのイベントについてはこちらを参照。</a></p>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull foreign"><a href="#nucleus_plugin">pid</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>プラグインのID</td>
-    </tr>
-    <tr>
-      <td>event</td>
-      <td>varchar(40)</td>
-      <td>NULL</td>
-      <td>イベントの名前</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_plugin_option" name="nucleus_plugin_option"></a>
-<h1>nucleus_plugin_optionテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<p>プラグイン・オプションの値を格納する。オプション自体の定義については<a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a>テーブルを参照。</p>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary foreign"><a href="#nucleus_plugin_option_desc">oid</a></td>
-      <td>int(11)</td>
-      <td></td>
-      <td>オプションのID (<a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a>テーブルを参照)</td>
-    </tr>
-    <tr>
-      <td class="notnull">ovalue</td>
-      <td>TEXT</td>
-      <td>''</td>
-      <td>オプションの値</td>
-    </tr>
-    <tr>
-      <td class="notnull primary">ocontextid</td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>オプションが使われるコンテキストによって意味合いが変わる
-        <ul>
-          <li>グローバル・コンテキスト: 使わない</li>
-          <li>Blogコンテキスト: <a href="#nucleus_blog">B</a><a href="#nucleus_blog">logのID</a></li>
-          <li>カテゴリー・コンテキスト: <a href="#nucleus_category">カテゴリーのID</a></li>
-          <li>メンバー・コンテキスト: <a href="#nucleus_member">メンバーのID</a></li>
-        </ul>
-      </td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_plugin_option_desc" name="nucleus_plugin_option_desc"></a>
-<h1>nucleus_plugin_option_descテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<p>プラグインがオプションを作るたびにこのテーブル内にデータができる。</p>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc unique">oid</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>オプションのID。<a href="#nucleus_plugin_option">nucleus_plugin_option</a>テーブルで使う</td>
-    </tr>
-    <tr>
-      <td class="notnull primary foreign"><a href="#nucleus_plugin">opid</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>オプションを作ったプラグインのID</td>
-    </tr>
-    <tr>
-      <td class="notnull primary">oname</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>オプションの名前</td>
-    </tr>
-    <tr>
-      <td class="notnull primary">ocontext</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>オプションのコンテキスト(<code>グローバル</code>, <code>Blog</code>, 
-        <code>カテゴリー</code>,メンバー)</td>
-    </tr>
-    <tr>
-      <td>odesc</td>
-      <td>varchar(255)</td>
-      <td>NULL</td>
-      <td>オプションの説明</td>
-    </tr>
-    <tr>
-      <td>otype</td>
-      <td>varchar(20)</td>
-      <td>NULL</td>
-      <td>オプションの型.
-      <a title="Nucleus Plugin API - Option types" href="plugins.html#options">プラグインの文書を参照</a>.</td>
-    </tr>
-    <tr>
-      <td>odef</td>
-      <td>text</td>
-      <td></td>
-      <td>オプションの既定値</td>
-    </tr>
-    <tr>
-      <td>oextra</td>
-      <td>text</td>
-      <td></td>
-      <td>select option型などで使う、その他のデータ</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_skin" name="nucleus_skin"></a>
-<h1>nucleus_skinテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull primary foreign"><a href="#nucleus_skin_desc">sdesc</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>skin_descへの参照</td>
-    </tr>
-    <tr>
-      <td class="notnull primary">stype</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>スキン・パートの型。以下のいずれかを取る
-        <ul>
-          <li><code>index</code></li>
-          <li><code>item</code></li>
-          <li><code>archive</code></li>
-          <li><code>archivelist</code></li>
-          <li><code>search</code></li>
-          <li><code>error</code></li>
-          <li><code>member</code></li>
-          <li><code>imagepopup</code></li>
-        </ul>
-      </td>
-    </tr>
-    <tr>
-      <td class="notnull">scontent</td>
-      <td>text</td>
-      <td></td>
-      <td>スキン・パートの内容</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_skin_desc" name="nucleus_skin_desc"></a>
-<h1>nucleus_skin_descテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary">sdnumber</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>スキンのID</td>
-    </tr>
-    <tr>
-      <td class="notnull unique">sdname</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>スキンの名前</td>
-    </tr>
-    <tr>
-      <td>sddesc</td>
-      <td>varchar(200)</td>
-      <td>NULL</td>
-      <td>スキンの説明</td>
-    </tr>
-    <tr>
-      <td class="notnull">sdtype</td>
-      <td>varchar(40)</td>
-      <td>'text/html'</td>
-      <td>スキンのmimeタイプ</td>
-    </tr>
-    <tr>
-      <td class="notnull">sdincmode</td>
-      <td>varchar(10)</td>
-      <td>'normal'</td>
-      <td>Includeモード。以下のいずれかを取る
-        <ul>
-          <li><code>normal</code></li>
-          <li><code>skindir</code></li>
-        </ul>
-      </td>
-    </tr>
-    <tr>
-      <td class="notnull">sdincpref</td>
-      <td>varchar(50)</td>
-      <td>''</td>
-      <td>ファイルをIncludeするときのプリフィックス</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_template" name="nucleus_template"></a>
-<h1>nucleus_templateテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull primary foreign"><a href="#nucleus_template_desc">tdesc</a></td>
-      <td>int(11)</td>
-      <td>'0'</td>
-      <td>template_descへの参照</td>
-    </tr>
-    <tr>
-      <td class="notnull primary">tpartname</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>テンプレート・パートの名前。以下のいずれかを取る<ul>
-          <li>ARCHIVELIST_FOOTER</li>
-          <li>ARCHIVELIST_HEADER</li>
-          <li>ARCHIVELIST_LISTITEM</li>
-          <li>CATLIST_FOOTER</li>
-          <li>CATLIST_HEADER</li>
-          <li>CATLIST_LISTITEM</li>
-          <li>COMMENTS_BODY</li>
-          <li>COMMENTS_MANY</li>
-          <li>COMMENTS_NONE</li>
-          <li>COMMENTS_ONE</li>
-          <li>COMMENTS_TOOMUCH</li>
-          <li>DATE_HEADER</li>
-          <li>EDITLINK</li>
-          <li>FORMAT_DATE</li>
-          <li>FORMAT_TIME</li>
-          <li>IMAGE_CODE</li>
-          <li>ITEM</li>
-          <li>LOCALE</li>
-          <li>MEDIA_CODE</li>
-          <li>MORELINK</li>
-          <li>POPUP_CODE</li>
-          <li>SEARCH_HIGHLIGHT</li>
-          <li>SEARCH_NOTHINGFOUND</li>
-        </ul>
-      </td>
-    </tr>
-    <tr>
-      <td class="notnull">tcontent</td>
-      <td>text</td>
-      <td></td>
-      <td>テンプレート・パートの内容</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_template_desc" name="nucleus_template_desc"></a>
-<h1>nucleus_template_descテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull autoinc primary unique">tdnumber</td>
-      <td>int(11)</td>
-      <td></td>
-      <td>テンプレートのID</td>
-    </tr>
-    <tr>
-      <td class="notnull unique">tdname</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>テンプレートの名前</td>
-    </tr>
-    <tr>
-      <td>tddesc</td>
-      <td>varchar(200)</td>
-      <td>NULL</td>
-      <td>テンプレートの説明</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_actionlog" name="nucleus_actionlog"></a>
-<h1>nucleus_actionlogテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<p>ログインやエラーなどのログを記録する</p>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th></th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull">timestamp</td>
-      <td>datetime</td>
-      <td>'0000-00-00 00:00:00'</td>
-      <td>アクションの日時</td>
-    </tr>
-    <tr>
-      <td class="notnull">message</td>
-      <td>varchar(255)</td>
-      <td>''</td>
-      <td>アクションのメッセージ</td>
-    </tr>
-  </tbody>
-</table>
-<a id="nucleus_config" name="nucleus_config"></a>
-<h1>nucleus_configテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-<p>Nucleusは、いくつかのグローバル・オプションを<code>nucleus_config</code>テーブルに記憶する。これは<code>$CONF['OptionName']</code> 
-でアクセスできる。</p>
-<table>
-  <tbody>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull primary">name</td>
-      <td>varchar(20)</td>
-      <td>''</td>
-      <td>オプションの名前</td>
-    </tr>
-    <tr>
-      <td>value</td>
-      <td>varchar(128)</td>
-      <td>NULL</td>
-      <td>オプションの値</td>
-    </tr>
-  </tbody>
-</table>
-<a name="nucleus_config_options" id="nucleus_config_options"></a>
-<h2>使用できるオプション</h2>
-<p>使用できるオプションのオーバビューを以下に示す。</p>
-<p>はい/いいえタイプのオプションは1/0 (1=はい/真, 0=いいえ/偽)で示す。</p>
-<table width="901">
-  <tbody>
-    <tr>
-      <th width="149">Name</th>
-      <th width="163">既定値 Value</th>
-      <th width="575">説明</th>
-    </tr>
-    <tr>
-      <td class="foreign" width="149"><a href="#nucleus_blog">DefaultBlog</a></td>
-      <td width="163">1</td>
-      <td width="575">デフォルトのBlogのID。Blogが明示的に記されていないときに使うもの</td>
-    </tr>
-    <tr>
-      <td width="149">AdminEmail</td>
-      <td width="163"></td>
-      <td width="575">管理者のメール・アドレス</td>
-    </tr>
-    <tr>
-      <td width="149">IndexURL</td>
-      <td width="163"></td>
-      <td width="575">サイトのURL。最後に/が付く必要がある</td>
-    </tr>
-    <tr>
-      <td width="149">Language</td>
-      <td width="163">english</td>
-      <td width="575">デフォルトの言語ファイル名。「言語ファイル名.php」ファイルがlanguageディレクトリに必要</td>
-    </tr>
-    <tr>
-      <td width="149">SessionCookie</td>
-      <td width="163">0</td>
-      <td width="575">寿命1ヶ月のクッキーの代わりにセッション・クッキーを使うかどうか</td>
-    </tr>
-    <tr>
-      <td width="149">AllowMemberCreate</td>
-      <td width="163">0</td>
-      <td width="575">ビジターにアカウント作成を許すかどうか</td>
-    </tr>
-    <tr>
-      <td width="149">AllowMemberMail</td>
-      <td width="163">1</td>
-      <td width="575">メンバー間でフォームを使ったメッセージ転送を許すかどうか(メール・アドレスは表示されない)</td>
-    </tr>
-    <tr>
-      <td width="149">SiteName</td>
-      <td width="163"></td>
-      <td width="575">サイトの名前</td>
-    </tr>
-    <tr>
-      <td width="149">AdminURL</td>
-      <td width="163"></td>
-      <td width="575">管理エリアのURL。最後に/が付く必要がある</td>
-    </tr>
-    <tr>
-      <td width="149">NewMemberCanLogon</td>
-      <td width="163">1</td>
-      <td width="575">登録されたばかりのユーザーがログインできるかどうか。できないばあい,管理者が「can login」オプションを最初に変更する必要がある</td>
-    </tr>
-    <tr>
-      <td class="toremove" width="149">DisableSite</td>
-      <td width="163">0</td>
-      <td width="575">サイトが無効状態になっているかどうか。無効状態の場合、管理者だけがアクセスできる。他のすべてのアクセスは<code>DisableSiteURL</code>にリダイレクトされる</td>
-    </tr>
-    <tr>
-      <td class="toremove" width="149">DisableSiteURL</td>
-      <td width="163"></td>
-      <td width="575">サイトが無効状態のときにリダイレクトされるURL</td>
-    </tr>
-    <tr>
-      <td class="toremove" width="149">LastVisit</td>
-      <td width="163">0</td>
-      <td width="575">「最後の訪問」のクッキーを保存するかどうか</td>
-    </tr>
-    <tr>
-      <td width="149">MediaURL</td>
-      <td width="163"></td>
-      <td width="575">メディア・フォルダのURL。最後に/が付く</td>
-    </tr>
-    <tr>
-      <td width="149">AllowedTypes</td>
-      <td width="163">jpg, jpeg, gif, mpg, mpeg, avi, mov, mp3, swf, png</td>
-      <td width="575">メディア・フォルダにアップロードを許すファイル型</td>
-    </tr>
-    <tr>
-      <td width="149">AllowLoginEdit</td>
-      <td width="163">0</td>
-      <td width="575">メンバーにログイン名とパスワードの変更を許すかどうか</td>
-    </tr>
-    <tr>
-      <td width="149">AllowUpload</td>
-      <td width="163">1</td>
-      <td width="575">ファイルのアップロードを許すかどうか</td>
-    </tr>
-    <tr>
-      <td class="toremove" width="149">DisableJsTools</td>
-      <td width="163">2</td>
-      <td width="575">JavaScriptツールバーの形式<ul>
-          <li>0: 多機能型 (IE)</li>
-          <li>1: ツールバーを無効にする</li>
-          <li>2: シンプル型(Gecko)</li>
-        </ul>
-      </td>
-    </tr>
-    <tr>
-      <td width="149">CookiePath</td>
-      <td width="163">/</td>
-      <td width="575">クッキーをセットするパス</td>
-    </tr>
-    <tr>
-      <td>CookiePrefix</td>
-      <td></td>
-      <td>クッキーの名称に追加するプレフィクス文字列。複数の Nucleus を同じドメインにインストールする際に便利で、別の Nucleus で同じセッションが適用されることを予防する。
-    </tr>
-    <tr>
-      <td width="149">CookieDomain</td>
-      <td width="163"></td>
-      <td width="575">クッキーをセットするドメイン</td>
-    </tr>
-    <tr>
-      <td width="149">CookieSecure</td>
-      <td width="163">0</td>
-      <td width="575">クッキーの通信にHTTPSを使うかどうか</td>
-    </tr>
-    <tr>
-      <td width="149">MediaPrefix</td>
-      <td width="163">1</td>
-      <td width="575">アップロードしたファイル名に日付を加えるかどうか</td>
-    </tr>
-    <tr>
-      <td width="149">MaxUploadSize</td>
-      <td width="163">1048576</td>
-      <td width="575">アップロードするファイルの最大値(バイト数)</td>
-    </tr>
-    <tr>
-      <td width="149">NonmemberMail</td>
-      <td width="163">0</td>
-      <td width="575">メンバー以外の人にメンバーへのメールを許すかどうか</td>
-    </tr>
-    <tr>
-      <td width="149">PluginURL</td>
-      <td width="163"></td>
-      <td width="575">プラグイン・フォルダのURL。/で終わる必要がある</td>
-    </tr>
-    <tr>
-      <td width="149">ProtectMemNames</td>
-      <td width="163">1</td>
-      <td width="575">
-      このオプションが有効だと、ログインしていない人はメンバーと同じ名前でコメントを残せなくなる。こうすることによって、ゲストがメンバーのふりをすることを避けられる</td>
-    </tr>
-    <tr>
-      <td class="foreign" width="149"><a href="#nucleus_skin_desc">BaseSkin</a></td>
-      <td width="163">1</td>
-      <td width="575">
-      Nucleusに、自動的にスキンが決まらないときに、どのスキンを使うかを指定する。スキンのパートが空だったり、ブログやスキンが洗濯されていない場合に起こる</td>
-    </tr>
-    <tr>
-      <td width="149">SkinsURL</td>
-      <td width="163"></td>
-      <td width="575">スキン・フォルダのURL。最後に/が付く必要がある</td>
-    </tr>
-    <tr>
-      <td width="149">ActionURL</td>
-      <td width="163"></td>
-      <td width="575">action.phpがあるURL.</td>
-    </tr>
-    <tr>
-      <td width="149">URLMode</td>
-      <td width="163">normal</td>
-      <td width="575"> <code>normal</code>か<code>pathinfo</code></td>
-    </tr>
-    <tr>
-      <td width="149">DatabaseVersion</td>
-      <td width="163">250</td>
-      <td width="575">データベースの構造が更新された最後のNucleusのバージョン番号</td>
-    </tr>
-  </tbody>
-</table>
-
-<a id="nucleus_tickets" name="nucleus_tickets"></a>
-<h1>nucleus_ticketsテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="トップに戻る" /></a></h1>
-
-<p>Nucleus は <code>nucleus_tickets</code> を使用することによりセキュリティ上の問題を予防する。特に、管理エリアにおいて諸設定やデータベースの内容に影響する場合、チケットを必須とする。チケットは管理ページがリクエストされた時とフォームから呼び出された時に発行される。チケットは発行から 1時間後に破棄される。</p>
-
-<table>
-    <tr>
-      <th>カラム名</th>
-      <th>型</th>
-      <th>既定値</th>
-      <th>説明</th>
-    </tr>
-    <tr>
-      <td class="notnull primary">ticket</td>
-      <td>varchar(40)</td>
-      <td></td>
-      <td>特定の単一ユーザに割り当てられるユニークなチケット。一般に、チケットは次のような形になる: <code>65303a785423b4d53c7b3e6579766f26</code></td>
-    </tr>
-    <tr>
-      <td class="notnull foreign primary"><a href="#nucleus_member">member</a></td>
-      <td>int(11)</td>
-      <td></td>
-      <td>当該チケットが有効適用されるメンバー。</td>
-    </tr>
-    <tr>
-      <td class="notnull">ctime</td>
-      <td>datetime</td>
-      <td></td>
-      <td>チケットの発行日時。チケットの有効期限は 1時間である。</td>
-    </tr>
-</table>
-
-
-<a id="nucleus_activation" name="nucleus_activation"></a>
-<h1>nucleus_activationテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="トップに戻る" /></a></h1>
-
-<p>新しいメンバーが登録された時点では、そのメンバーアカウントがアクティベートされるまで Nucleus はログインを許可しない。アクティベートのためのリンクを含むメールが送信され、これによってアクティベートすることができる。<code>nucleus_activation</code>テーブルはアクティベートの進捗状況を追跡する。</p>
-
-<table><tr>
-       <th>カラム名</th>
-       <th>型</th>
-       <th>既定値</th>
-       <th>説明</th>
-</tr><tr>
-       <td class="notnull primary">vkey</td>
-       <td>varchar(40)</td>
-       <td></td>
-       <td>アクティベートキー。このキーはメンバーのアクティベートコードに渡される。一般的に、キーは次のような形になる: <code>41cf637d4fbeeff954b4ca70b8bde9dd</code></td>
-</tr><tr>
-       <td class="notnull foreign"><a href="#nucleus_member">vmember</a></td>
-       <td>int(11)</td>
-       <td></td>
-       <td>アクティベートの必要があるメンバー。</td>
-</tr><tr>
-       <td class="notnull">vtime</td>
-       <td>datetime</td>
-       <td></td>
-       <td>アクティベートキーが発行された日時。アクティベートキーの有効期間は 2日間である。</td>
-</tr><tr>
-       <td class="notnull">vtype</td>
-       <td>varchar(15)</td>
-       <td></td>
-       <td>アクティベートの種別。
-               <ul>
-                       <li><code>forgot</code>: パスワードを忘れたメンバー。</li>
-                       <li><code>register</code>: 新しく登録されたメンバー。</li>
-                       <li><code>addresschange</code>: メールアドレスを変更したメンバー。</li>
-               </ul>
-       </td>
-</tr><tr>
-       <td class="notnull">vextra</td>
-       <td>varchar(128)</td>
-       <td></td>
-       <td>追加的な情報。アクティベート種別が <code>addresschange</code> の場合、ここには <code>oldemailaddress/x</code> として、x には 0 または 1 の値が入る。x は <a href="#nucleus_member">member</a>テーブルにある <code>mcanlogin</code> の値を参照する。(アクティベートが完全に終了するまで、このユーザはログインできない)</td>
-</tr></table>
-
-
-<a id="nucleus_karma" name="nucleus_karma"></a>
-<h1>nucleus_karmaテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-
-<p class="toremove">このテーブルは将来はなくなる可能性が高い。同じ機能を提供するプラグインに譲るためだ。</p>
-
-<p>この表は投票に使われたIPアドレスを記憶しておく。こうすることで一つのIPアドレスからは1票しか入れられなくなる</p>
-
-<table><tr>
-       <th>カラム名</th>
-       <th>型</th>
-       <th>既定値</th>
-       <th>説明</th>
-</tr><tr>
-       <td class="notnull foreign"><a href="#nucleus_item">itemid</a></td>
-       <td>int(11)</td>
-       <td>'0'</td>
-       <td>アイテムのID</td>
-
-</tr><tr>
-       <td class="notnull">ip</td>
-       <td>char(15)</td>
-       <td>''</td>
-       <td>投票者のIPアドレス</td>
-</tr></table>
-
-<a id="nucleus_ban" name="nucleus_ban"></a>
-<h1>nucleus_banテーブル<a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15"></a></h1>
-
-<p class="toremove">このテーブルは将来のNucleusではなくなる可能性が高い。同じ機能を提供するプラグインに譲るためだ。</p>
-
-<p>コメントやカルマ投票を禁止するIPアドレスを記憶</p>
-
-<table><tr>
-       <th>カラム名</th>
-       <th>型</th>
-       <th>既定値</th>
-       <th>説明</th>
-</tr><tr>
-       <td class="notnull">iprange</td>
-       <td>varchar(15)</td>
-       <td>''</td>
-       <td>IPアドレスの範囲。アドレス単独でもいいし,一部(左から)でもいい。一部の場合は範囲を示す</td>
-
-</tr><tr>
-       <td class="notnull">reason</td>
-       <td>varchar(255)</td>
-       <td>''</td>
-       <td>禁止の理由を示すメッセージ。コメントやカルマ投票を試みたときに表示される</td>
-</tr><tr>
-       <td class="notnull foreign"><a href="#nucleus_blog">blogid</a></td>
-       <td>int(11)</td>
-       <td>'0'</td>
-       <td>禁止を有効にするBlogのID</td>
-</tr></table>
-
-
-</body>
-</html>
\ No newline at end of file
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+    <meta http-equiv="Content-Style-Type" content="text/css" />\r
+    <meta http-equiv="Content-Script-Type" content="text/javascript" />\r
+    <link rel="index" href="./index.html" />\r
+       <title>Nucleus - SQL テーブル構造</title>\r
+       <link rel="stylesheet" type="text/css" href="styles/manual.css" />\r
+       <style type="text/css">\r
+               /* auto increment table columns*/\r
+               .autoinc {\r
+               }\r
+\r
+               /* primary-keys */\r
+               .primary {\r
+                       text-decoration: underline;\r
+                       font-weight: bold;\r
+               }\r
+\r
+               /* NOT NULL */\r
+               .notnull {\r
+               }\r
+\r
+               /* unique key */\r
+               .unique {\r
+               }\r
+\r
+               /* foreign keys */\r
+               .foreign {\r
+                       font-style: italic;\r
+               }\r
+\r
+               /* auto increment table columns*/\r
+               .autoinc {\r
+               }\r
+\r
+               /* fulltext index */\r
+               .fulltext {\r
+               }\r
+\r
+               /* columns/tables to remove in later versions */\r
+               .toremove {\r
+                       color: red;\r
+               }\r
+\r
+               table {\r
+                       width: 860px;\r
+               }\r
+\r
+        strong {\r
+            font-weight: bold;\r
+        }\r
+        em {\r
+            font-style: italic;\r
+        }\r
+\r
+\r
+\r
+       </style>\r
+</head>\r
+<body>\r
+<div id="body">\r
+\r
+\r
+\r
+<div class="heading">\r
+<a name="top" id="top">SQLテーブル・リファレンス</a>\r
+<em>2008年9月5日</em>\r
+</div>\r
+<div>\r
+<strong>訳者注:</strong>\r
+<ul>\r
+       <li>このドキュメントの原文は以下のURLにあります。<br />\r
+       <a href="http://nucleuscms.org/documentation/devdocs/sqltables.html">http://nucleuscms.org/documentation/devdocs/sqltables.html</a></li>\r
+       <li>誤訳にお気づきの方は<a href="http://japan.nucleuscms.org/bb/viewforum.php?f=7">NucleusCMS日本語フォーラム</a>までご連絡いただけると助かります。</li>\r
+</ul>\r
+</div>\r
+\r
+<h1>はじめに</h1>\r
+\r
+<p>\r
+<a href="index.html">開発者向けドキュメントの目次へ戻る</a>\r
+</p>\r
+\r
+<p>\r
+このドキュメントはNucleusのデータベース・テーブルのフィールドを解説しています。\r
+</p>\r
+\r
+<p class="note">構造は<strong>Nucleus v3.33~</strong>のものに従っています</p>\r
+\r
+<h1><a name="toc" id="toc">目次</a></h1>\r
+\r
+<ul>\r
+       <li><a href="#legend">文書中の色使いについて</a></li>\r
+       <li>\r
+\r
+               ブログ\r
+\r
+               <ul>\r
+                       <li><a href="#nucleus_blog">nucleus_blog</a></li>\r
+                       <li><a href="#nucleus_category">nucleus_category</a></li>\r
+                       <li><a href="#nucleus_item">nucleus_item</a></li>\r
+                       <li><a href="#nucleus_comment">nucleus_comment</a></li>\r
+                       <li><a href="#nucleus_member">nucleus_member</a></li>\r
+                       <li><a href="#nucleus_team">nucleus_team</a></li>\r
+               </ul>\r
+       </li>\r
+       <li>\r
+               プラグイン\r
+               <ul>\r
+                       <li><a href="#nucleus_plugin">nucleus_plugin</a></li>\r
+                       <li><a href="#nucleus_plugin_event">nucleus_plugin_event</a></li>\r
+                       <li><a href="#nucleus_plugin_option">nucleus_plugin_option</a></li>\r
+                       <li><a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a></li>\r
+               </ul>\r
+       </li>\r
+       <li>\r
+               スキンとテンプレート\r
+               <ul>\r
+                       <li><a href="#nucleus_skin">nucleus_skin</a></li>\r
+                       <li><a href="#nucleus_skin_desc">nucleus_skin_desc</a></li>\r
+                       <li><a href="#nucleus_template">nucleus_template</a></li>\r
+                       <li><a href="#nucleus_template_desc">nucleus_template_desc</a></li>\r
+               </ul>\r
+       </li>\r
+       <li>\r
+               管理\r
+               <ul>\r
+                       <li><a href="#nucleus_actionlog">nucleus_actionlog</a></li>\r
+                       <li>\r
+                               <a href="#nucleus_config">nucleus_config</a>\r
+                               <ul>\r
+                                       <li><a href="#nucleus_config_options">可能なオプション</a></li>\r
+                               </ul>\r
+                       </li>\r
+                       <li><a href="#nucleus_tickets">nucleus_tickets</a></li>\r
+                       <li><a href="#nucleus_activation">nucleus_activation</a></li>\r
+               </ul>\r
+       </li>\r
+       <li>\r
+               その他\r
+               <ul>\r
+                       <li><a href="#nucleus_karma">nucleus_karma</a></li>\r
+                       <li><a href="#nucleus_ban">nucleus_ban</a></li>\r
+               </ul>\r
+       </li>\r
+\r
+\r
+</ul>\r
+\r
+\r
+<h1><a id="legend" name="legend">色使い</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<p>この文書中では、カラムの型を示すために、文字の修飾を使っています。以下に例を示します:</p>\r
+\r
+<table summary="色分けの解説"><tr>\r
+       <td class="primary" style="width:120px">プライマリ</td>\r
+       <td>プライマリキー</td>\r
+</tr><tr>\r
+       <td class="foreign">外部</td>\r
+       <td>外部キー(クリックすると参照先に飛ぶ)。MySQLは外部キーとの一貫性保持に責任を持たないことに注意</td>\r
+</tr><tr>\r
+       <td class="toremove">削除予定</td>\r
+       <td>同じ機能を提供するプラグインを優先するため、テーブルやカラムは将来のバージョンのNucleusで削除させる可能性が高い</td>\r
+</tr><tr>\r
+       <td class="fulltext">フルテキスト</td>\r
+       <td>カラムにフルテキストのインデックスが付く(検索で使用する)</td>\r
+</tr></table>\r
+\r
+\r
+\r
+<h1><a id="nucleus_blog" name="nucleus_blog">nucleus_blogテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_blogテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+\r
+</tr><tr>\r
+       <td class="notnull autoinc primary">bnumber</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>BlogのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">bname</td>\r
+       <td>varchar(60)</td>\r
+       <td>(空白)</td>\r
+       <td>Blog名</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull unique">bshortname</td>\r
+       <td>varchar(15)</td>\r
+       <td>(空白)</td>\r
+       <td>Blogの短縮名 (スキン変数 <code>&lt;%blog%&gt;</code>などで使うものと同じ)</td>\r
+\r
+</tr><tr>\r
+       <td>bdesc</td>\r
+       <td>varchar(200)</td>\r
+       <td>NULL</td>\r
+       <td>Blogの説明</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">bcomments</td>\r
+       <td>tinyint(2)</td>\r
+       <td>1</td>\r
+       <td>コメントを許可する(1=許可, 0=不許可)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">bmaxcomments</td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>メインの目次ページでのコメントの最大表示数。既定値(0)は制限なし。インライン・コメントを使わないのならここはいじらないこと</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">btimeoffset</td>\r
+       <td>decimal(3,1)</td>\r
+       <td>0.0</td>\r
+       <td>サーバー時刻との時差。アイテムはサーバー時刻にこの値を足した時間でデータベースに保存される</td>\r
+\r
+</tr><tr>\r
+       <td class="toremove">bnotify</td>\r
+       <td>varchar(60)</td>\r
+       <td>NULL</td>\r
+       <td>通知するメール・アドレス。設定した通知イベント(内容は<code>bnotifytype</code>を参照)が発生した時にこのアドレス宛てにメールで通知される。</td>\r
+\r
+</tr><tr>\r
+       <td>burl</td>\r
+       <td>varchar(100)</td>\r
+       <td>NULL</td>\r
+       <td>BlogのURL</td>\r
+\r
+</tr><tr>\r
+       <td class="toremove">bupdate</td>\r
+       <td>varchar(60)</td>\r
+       <td>NULL</td>\r
+       <td>アイテムが投稿されるたびに変更が必要な更新ファイル。サーバー上の絶対パスで指定する。</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull foreign"><a href="#nucleus_skin_desc">bdefskin</a></td>\r
+       <td>int(11)</td>\r
+       <td>1</td>\r
+       <td>このBlogを表示するときに使う標準のスキン</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">bpublic</td>\r
+       <td>tinyint(2)</td>\r
+       <td>1</td>\r
+       <td>メンバーー以外にもコメントを許可するかどうか(1=許可/0=不許可)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull toremove">bsendping</td>\r
+       <td>tinyint(2)</td>\r
+       <td>0</td>\r
+       <td>更新があったときにブログ検索サービスにpingを送る。(1=送る/0=送らない) このオプションは NP_Ping 及びそれに類するプラグインがインストールされている時のみ表示されます。</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull toremove">bconvertbreaks</td>\r
+       <td>tinyint(2)</td>\r
+       <td>1</td>\r
+       <td>投稿されたアイテム中の改行を<code>&lt;br /&gt;</code>に変換するかどうか(1=変換する/0=変換しない)</td>\r
+\r
+</tr><tr>\r
+       <td class="foreign"><a href="#nucleus_category">bdefcat</a></td>\r
+       <td>int(11)</td>\r
+       <td>NULL</td>\r
+       <td>カテゴリー未選択時に自動的に適用されるカテゴリーのカテゴリーID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">bnotifytype</td>\r
+       <td>int(11)</td>\r
+       <td>15</td>\r
+       <td>\r
+               どのイベントが起こったときに通知メールを送るか(通知するメール・アドレスは<code>bnotify</code>を参照)。三つの値の組み合わせからなり、掛け合わせることでnoifytypeの値が決まる。\r
+               <ul>\r
+                       <li>3: 新しいコメント</li>\r
+                       <li>5: 新しいカルマ投票</li>\r
+                       <li>7: 新しいアイテム</li>\r
+               </ul>\r
+               既定値 = 新しいコメントと新しいカルマ投票(3×5=15)\r
+       </td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">ballowpast</td>\r
+       <td>tinyint(2)</td>\r
+       <td>'0'</td>\r
+       <td>過去の日時での投稿を許可する (1=許可/0=不許可)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">bincludesearch</td>\r
+       <td>tinyint(2)</td>\r
+       <td>'0'</td>\r
+       <td>他のblogの検索の場合にも検索対象にする(1=対象にする/0=対象にしない)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">breqemail</td>\r
+       <td>tinyint(2)</td>\r
+       <td>'0'</td>\r
+       <td>コメントにメールアドレスを要求する(1=要求する/0=要求しない)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">bfuturepost</td>\r
+       <td>tinyint(2)</td>\r
+       <td>'0'</td>\r
+       <td>\r
+               ブログ内に未来の日付の記事が存在するか?(1=存在する/0=存在しない)\r
+               この値は投稿されたアイテムに応じて自動的に設定されます。\r
+       </td>\r
+\r
+</tr></table>\r
+\r
+\r
+\r
+<h1><a id="nucleus_category" name="nucleus_category">nucleus_categoryテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_categoryテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull autoinc primary">catid</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>カテゴリーID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull foreign"><a href="#nucleus_blog">cblog</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>カテゴリーが所属するBlogのID</td>\r
+\r
+</tr><tr>\r
+       <td>cname</td>\r
+       <td>varchar(40)</td>\r
+       <td>NULL</td>\r
+       <td>カテゴリーの名前</td>\r
+\r
+</tr><tr>\r
+       <td>cdesc</td>\r
+       <td>varchar(200)</td>\r
+       <td>NULL</td>\r
+       <td>カテゴリーの説明</td>\r
+</tr></table>\r
+\r
+\r
+<h1><a id="nucleus_item" name="nucleus_item">nucleus_itemテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_itemテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull autoinc primary">inumber</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>アイテムのID</td>\r
+\r
+</tr><tr>\r
+       <td class="fulltext">ititle</td>\r
+       <td>varchar(160)</td>\r
+       <td>NULL</td>\r
+       <td>タイトル</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull fulltext">ibody</td>\r
+       <td>text</td>\r
+       <td>(空白)</td>\r
+       <td>本文</td>\r
+\r
+</tr><tr>\r
+       <td class="fulltext">imore</td>\r
+       <td>text</td>\r
+       <td>NULL</td>\r
+       <td>追加部分(「続き」部分)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull foreign"><a href="#nucleus_blog">iblog</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>アイテムが所属するBlogのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull foreign"><a href="#nucleus_member">iauthor</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>アイテムの著者のメンバーID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">itime</td>\r
+       <td>datetime</td>\r
+       <td>0000-00-00 00:00:00</td>\r
+       <td>投稿時間(サーバーとの時差を反映したもの)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">iclosed</td>\r
+       <td>tinyint(2)</td>\r
+       <td>0</td>\r
+       <td>アイテムが閉鎖されたかどうか (1=閉鎖/0=閉鎖していない).閉鎖すると、コメントやカルマ投票を受け付けない</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">idraft</td>\r
+       <td>tinyint(2)</td>\r
+       <td>0</td>\r
+       <td>アイテムはドラフト(下書き状態)かどうか。ドラフトは管理ページでだけ見ることが出来る(1=ドラフト/0=ドラフトでない)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull toremove">ikarmapos</td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>+のカルマ投票の総数</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull toremove">ikarmaneg</td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>-のカルマ投票の総数</td>\r
+\r
+</tr><tr>\r
+       <td class="foreign"><a href="#nucleus_category">icat</a></td>\r
+       <td>int(11)</td>\r
+       <td>NULL</td>\r
+       <td>アイテムが所属するカテゴリーのID</td>\r
+\r
+</tr><tr>\r
+       <td class="foreign"><a href="#nucleus_category">iposted</a></td>\r
+       <td>tinyint(2)</td>\r
+       <td>1</td>\r
+       <td>アイテムに設定された投稿時刻を経過しているか?(1=している/0=していない)</td>\r
+\r
+</tr></table>\r
+\r
+\r
+\r
+<h1><a id="nucleus_comment" name="nucleus_comment">nucleus_commentテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_commentテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull autoinc primary">cnumber</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>コメントのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull fulltext">cbody</td>\r
+       <td>text</td>\r
+       <td>(空白)</td>\r
+       <td>コメントの本文</td>\r
+\r
+</tr><tr>\r
+       <td>cuser</td>\r
+       <td>varchar(40)</td>\r
+       <td>NULL</td>\r
+       <td>筆者名(メンバーでない場合,メンバーの場合はcmember参照)</td>\r
+\r
+</tr><tr>\r
+       <td>cmail</td>\r
+       <td>varchar(100)</td>\r
+       <td>NULL</td>\r
+       <td>メール・アドレスあるいはURL(メンバーでない場合,メンバーの場合はcmember参照)</td>\r
+\r
+</tr><tr>\r
+       <td>cemail</td>\r
+       <td>varchar(100)</td>\r
+       <td>NULL</td>\r
+       <td>メール・アドレス(メンバーでない場合,メンバーの場合はcmember参照)</td>\r
+\r
+</tr><tr>\r
+       <td class="foreign"><a href="#nucleus_member">cmember</a></td>\r
+       <td>int(11)</td>\r
+       <td>NULL</td>\r
+       <td>コメントを書いたメンバーのID(メンバーでない場合は0)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull foreign"><a href="#nucleus_item">citem</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>コメントが書き込まれたアイテムのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">ctime</td>\r
+       <td>datetime</td>\r
+       <td>0000-00-00 00:00:00</td>\r
+       <td>コメントを書き込んだ時間</td>\r
+\r
+</tr><tr>\r
+       <td>chost</td>\r
+       <td>varchar(60)</td>\r
+       <td>NULL</td>\r
+       <td>コメントを入力したホスト名</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">cip</td>\r
+       <td>varchar(15)</td>\r
+       <td>(空白)</td>\r
+       <td>コメントを入力したホストのIPアドレス</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull foreign"><a href="#nucleus_blog">cblog</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>コメント書き込まれたアイテムが所属するBlogのID</td>\r
+\r
+</tr></table>\r
+\r
+\r
+\r
+\r
+<h1><a id="nucleus_member" name="nucleus_member">nucleus_memberテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_memberテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull autoinc primary">mnumber</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>メンバーのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull unique">mname</td>\r
+       <td>varchar(16)</td>\r
+       <td>(空白)</td>\r
+       <td>ログインID(表示される名前)</td>\r
+\r
+</tr><tr>\r
+       <td>mrealname</td>\r
+       <td>varchar(60)</td>\r
+       <td>NULL</td>\r
+       <td>フルネーム(ハンドルネーム)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">mpassword</td>\r
+       <td>varchar(40)</td>\r
+       <td>(空白)</td>\r
+       <td>パスワード (<a href="http://www.php.net/md5" title="Info about the PHP md5() function">md5</a>で暗号化してある)</td>\r
+\r
+</tr><tr>\r
+       <td>memail</td>\r
+       <td>varchar(60)</td>\r
+       <td>NULL</td>\r
+       <td>メールアドレス</td>\r
+\r
+</tr><tr>\r
+       <td>murl</td>\r
+       <td>varchar(100)</td>\r
+       <td>NULL</td>\r
+       <td>URL</td>\r
+\r
+</tr><tr>\r
+       <td>mnotes</td>\r
+       <td>varchar(100)</td>\r
+       <td>NULL</td>\r
+       <td>追加事項(メンバー自身が記述できる)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">madmin</td>\r
+       <td>tinyint(2)</td>\r
+       <td>0</td>\r
+       <td>Super-admin(最高権限管理者)か (1=super-admin/0=super-adminではない super-adminはすべての権利を持つ。システムに一人はsuper-adminがいる)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">mcanlogin</td>\r
+       <td>tinyint(2)</td>\r
+       <td>1</td>\r
+       <td>管理エリアへのログインを許可 (1=許可/0=不許可)</td>\r
+\r
+</tr><tr>\r
+       <td>mcookiekey</td>\r
+       <td>varchar(40)</td>\r
+       <td>NULL</td>\r
+       <td>このキーのコピーがユーザーのクッキーに保存され、ログオンに使う。メンバーがログオンすると、ランダムなcookiekeyが生成され、一方はデータベースに、他方がユーザーのコンピュータに保存される。</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">deflang</td>\r
+       <td>varchar(20)</td>\r
+       <td>''</td>\r
+       <td>このメンバー用の言語ファイルを指定する</td>\r
+</tr></table>\r
+\r
+\r
+\r
+\r
+\r
+<h1><a id="nucleus_team" name="nucleus_team">nucleus_teamテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<p>Blogのチームメンバーごとに、この表にデータがある</p>\r
+\r
+<table summary="nucleus_teamテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull primary foreign"><a href="#nucleus_member">tmember</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>メンバーのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull primary foreign"><a href="#nucleus_blog">tblog</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>チーム・メンバーになっているBlog</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">tadmin</td>\r
+       <td>tinyint(2)</td>\r
+       <td>0</td>\r
+       <td>Blogの管理者か (0=管理者ではない/1=管理者。各Blogは一人は管理者がいる)</td>\r
+</tr></table>\r
+\r
+\r
+\r
+<h1><a id="nucleus_plugin" name="nucleus_plugin">nucleus_pluginテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_pluginテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull autoinc primary">pid</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>プラグインのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">pfile</td>\r
+       <td>varchar(40)</td>\r
+       <td>(空白)</td>\r
+       <td>拡張子を覗いたプラグインのファイル名(例えば<code>NP_CommentControl</code>)。プラグイン・ディレクトリにファイルがないといけない。</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">porder</td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>プラグインが呼び出される順番。プラグイン・ページで表示される順番でもある。数字が小さい方がリストの上の方に来る。</td>\r
+</tr></table>\r
+\r
+\r
+<h1><a id="nucleus_plugin_event" name="nucleus_plugin_event">nucleus_plugin_eventテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<p>各プラグインが登録するイベントを記録するキャッシュ。リクエストの度にすべてのプラグインを読み込んで,それらが使うイベントを調べる手間を省くために保存している。<a href="plugins.html#events">プラグインのイベントについてはこちらを参照。</a></p>\r
+\r
+<table summary="nucleus_plugin_eventテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull foreign"><a href="#nucleus_plugin">pid</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>プラグインのID</td>\r
+\r
+</tr><tr>\r
+       <td>event</td>\r
+       <td>varchar(40)</td>\r
+       <td>NULL</td>\r
+       <td>呼び出されるイベントの名前</td>\r
+</tr></table>\r
+\r
+\r
+<h1><a id="nucleus_plugin_option" name="nucleus_plugin_option">nucleus_plugin_optionテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<p>プラグイン・オプションの値を格納する。オプション自体の定義については<a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a>テーブルを参照。</p>\r
+\r
+<table summary="nucleus_plugin_optionテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+\r
+</tr><tr>\r
+       <td class="notnull autoinc primary foreign"><a href="#nucleus_plugin_option_desc">oid</a></td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>オプションのID (<a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a>テーブルを参照)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">ovalue</td>\r
+       <td>TEXT</td>\r
+       <td>(空白)</td>\r
+       <td>オプションの値</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull primary">ocontextid</td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>\r
+               オプションが使われるコンテキストによって意味合いが変わる\r
+               <ul>\r
+                       <li>グローバル・コンテキスト: 使わない</li>\r
+                       <li>Blogコンテキスト: <a href="#nucleus_blog">ブログのID</a></li>\r
+                       <li>カテゴリー・コンテキスト: <a href="#nucleus_category">カテゴリーのID</a></li>\r
+                       <li>メンバー・コンテキスト: <a href="#nucleus_member">メンバーのID</a></li>\r
+               </ul>\r
+       </td>\r
+</tr></table>\r
+\r
+\r
+\r
+<h1><a id="nucleus_plugin_option_desc" name="nucleus_plugin_option_desc">nucleus_plugin_option_descテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<p>プラグインがオプションを作るたびにこのテーブル内にデータができる。</p>\r
+\r
+<table summary="nucleus_plugin_option_descテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull autoinc unique">oid</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>オプションのID。<a href="#nucleus_plugin_option">nucleus_plugin_option</a>テーブルで使う</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull primary foreign"><a href="#nucleus_plugin">opid</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>オプションを作ったプラグインのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull primary">oname</td>\r
+       <td>varchar(20)</td>\r
+       <td>(空白)</td>\r
+       <td>オプションの名前</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull primary">ocontext</td>\r
+       <td>varchar(20)</td>\r
+       <td>(空白)</td>\r
+       <td>オプションのコンテキスト(<code>グローバル</code>, <code>Blog</code>, <code>カテゴリー</code>,メンバー)</td>\r
+\r
+</tr><tr>\r
+       <td>odesc</td>\r
+       <td>varchar(255)</td>\r
+       <td>NULL</td>\r
+       <td>オプションの説明</td>\r
+\r
+</tr><tr>\r
+       <td>otype</td>\r
+       <td>varchar(20)</td>\r
+       <td>NULL</td>\r
+       <td>オプションの型.<a title="Nucleus Plugin API - Option types" href="plugins.html#options">プラグインの文書を参照</a>.</td>\r
+\r
+</tr><tr>\r
+       <td>odef</td>\r
+       <td>text</td>\r
+       <td>NULL</td>\r
+       <td>オプションの既定値</td>\r
+\r
+</tr><tr>\r
+       <td>oextra</td>\r
+       <td>text</td>\r
+       <td>NULL</td>\r
+       <td>select option型などで使う、その他のデータ</td>\r
+</tr></table>\r
+\r
+\r
+<h1><a id="nucleus_skin" name="nucleus_skin">nucleus_skinテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_skinテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull primary foreign"><a href="#nucleus_skin_desc">sdesc</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>skin_descへの参照</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull primary">stype</td>\r
+       <td>varchar(20)</td>\r
+       <td>(空白)</td>\r
+       <td>\r
+               スキン・パートの型。以下のいずれかを取る\r
+               <ul>\r
+                       <li><code>index</code>(メインの目次ページ)</li>\r
+                       <li><code>item</code>(個別アイテムページ)</li>\r
+                       <li><code>archive</code>(月別アーカイブページ)</li>\r
+                       <li><code>archivelist</code>(月別アーカイブ一覧ページ)</li>\r
+                       <li><code>search</code>(検索ページ)</li>\r
+                       <li><code>error</code>(エラーページ)</li>\r
+                       <li><code>member</code>(メンバー詳細ページ)</li>\r
+                       <li><code>imagepopup</code>(画像ポップアップウィンドウ)</li>\r
+               </ul>\r
+       </td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">scontent</td>\r
+       <td>text</td>\r
+       <td>(空白)</td>\r
+       <td>スキン・パートの内容</td>\r
+</tr></table>\r
+\r
+\r
+<h1><a id="nucleus_skin_desc" name="nucleus_skin_desc">nucleus_skin_descテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_skin_descテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull autoinc primary">sdnumber</td>\r
+       <td>int(11)</td>\r
+       <td>(空白)auto_increment</td>\r
+       <td>スキンのID</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull unique">sdname</td>\r
+       <td>varchar(20)</td>\r
+       <td>(空白)</td>\r
+       <td>スキンの名前</td>\r
+\r
+</tr><tr>\r
+       <td>sddesc</td>\r
+       <td>varchar(200)</td>\r
+       <td>NULL</td>\r
+       <td>スキンの説明</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">sdtype</td>\r
+       <td>varchar(40)</td>\r
+       <td>text/html</td>\r
+       <td>スキンのmimeタイプ</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">sdincmode</td>\r
+       <td>varchar(10)</td>\r
+       <td>normal</td>\r
+       <td>\r
+               Includeモード。以下のいずれかを取る\r
+               <ul>\r
+                       <li><code>normal</code>(スキンディレクトリを使用しない)</li>\r
+                       <li><code>skindir</code>(スキンディレクトリを使用する)</li>\r
+               </ul>\r
+       </td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">sdincpref</td>\r
+       <td>varchar(50)</td>\r
+       <td>(空白)</td>\r
+       <td>ファイルをIncludeするときのプリフィックス</td>\r
+</tr></table>\r
+\r
+\r
+<h1><a id="nucleus_template" name="nucleus_template">nucleus_templateテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_templateテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">データ型</th>\r
+       <th class="default" abbr="既定値">既定値</th>\r
+       <th class="description" abbr="データの説明">説明</th>\r
+</tr><tr>\r
+       <td class="notnull primary foreign"><a href="#nucleus_template_desc">tdesc</a></td>\r
+       <td>int(11)</td>\r
+       <td>0</td>\r
+       <td>template_descへの参照(nucleus_template_descのテンプレートID)</td>\r
+\r
+</tr><tr>\r
+       <td class="notnull primary">tpartname</td>\r
+       <td>varchar(20)</td>\r
+       <td>(空白)</td>\r
+       <td>\r
+               テンプレート・パートの名前。以下のいずれかを取る\r
+               <ul>\r
+                       <li>ARCHIVELIST_FOOTER(アーカイブ一覧のフッター)</li>\r
+                       <li>ARCHIVELIST_HEADER(アーカイブ一覧のヘッダー)</li>\r
+                       <li>ARCHIVELIST_LISTITEM(アーカイブ一覧の本体)</li>\r
+                       <li>BLOGLIST_FOOTER(ブログ一覧のフッター)</li>\r
+                       <li>BLOGLIST_HEADER(ブログ一覧のヘッダー)</li>\r
+                       <li>BLOGLIST_LISTITEM(ブログ一覧の本体)</li>\r
+                       <li>CATLIST_FOOTER(カテゴリー一覧のフッター)</li>\r
+                       <li>CATLIST_HEADER(カテゴリー一覧のヘッダー)</li>\r
+                       <li>CATLIST_LISTITEM(カテゴリー一覧の本体)</li>\r
+                       <li>COMMENTS_AUTH(登録メンバーからのコメントへの追加表示)</li>\r
+                       <li>COMMENTS_BODY(コメントの本体)</li>\r
+                       <li>COMMENTS_CONTINUED(コメントの続きへのリンク)</li>\r
+                       <li>COMMENTS_FOOTER(コメントのフッター)</li>\r
+                       <li>COMMENTS_HEADER(コメントのヘッダー)</li>\r
+                       <li>COMMENTS_MANY(コメントが2つ以上の時)</li>\r
+                       <li>COMMENTS_NONE(コメントが無い時)</li>\r
+                       <li>COMMENTS_ONE(コメントが1つの時)</li>\r
+                       <li>COMMENTS_TOOMUCH(コメントが多すぎる時)</li>\r
+                       <li>DATE_FOOTER(日付のフッター)</li>\r
+                       <li>DATE_HEADER(日付のヘッダー)</li>\r
+                       <li>EDITLINK(アイテムを編集するためのリンク)</li>\r
+                       <li>FORMAT_DATE(日付フォーマット)</li>\r
+                       <li>FORMAT_TIME(時刻フォーマット)</li>\r
+                       <li>IMAGE_CODE(インライン画像のコード)</li>\r
+                       <li>ITEM_FOOTER(アイテムのフッター)</li>\r
+                       <li>ITEM_HEADER(アイテムのヘッダー)</li>\r
+                       <li>ITEM(アイテムの本体)</li>\r
+                       <li>LOCALE(Locale)</li>\r
+                       <li>MEDIA_CODE(メディアオブジェクトへのリンクコード)</li>\r
+                       <li>MORELINK(続きへのリンク)</li>\r
+                       <li>NEW(新しいアイテムに付けるマーク)</li>\r
+                       <li>POPUP_CODE(ポップアップ画像へのリンクコード)</li>\r
+                       <li>SEARCH_HIGHLIGHT(ハイライト表示)</li>\r
+                       <li>SEARCH_NOTHINGFOUND(検索で何も見つからなかった場合)</li>\r
+                       <li>この他、TemplateExtraFields イベントに対応したプラグインによって追加される事があります。</li>\r
+               </ul>\r
+       </td>\r
+\r
+</tr><tr>\r
+       <td class="notnull">tcontent</td>\r
+       <td>text</td>\r
+       <td>(空白)</td>\r
+       <td>テンプレート・パートの内容</td>\r
+</tr></table>\r
+\r
+\r
+\r
+<h1><a id="nucleus_template_desc" name="nucleus_template_desc">nucleus_template_descテーブル</a><a href="#top" class="toplink"><img src="../icon-up.gif" alt="back to top" width="15" height="15" /></a></h1>\r
+\r
+<table summary="nucleus_template_descテーブル"><tr>\r
+       <th class="column" abbr="カラム名">カラム名</th>\r
+       <th class="type" abbr="データ型">