====== 環境 ====== このページは、[[plugins|プラグイン]]や[[templates|テンプレート]]の開発において利用可能な変数と定数について概観を提供します。 ===== グローバル変数 ===== ==== $ACT ==== 現在の動作を保持します。[[Action Modes|動作モード]]を参照してください。([[xref>$ACT|参照]]) ==== $auth ==== グローバルに利用可能な ''$auth'' オブジェクトは、使用されている[[ja:auth|認証バックエンド]]のインスタンスを表します。([[xref>$auth|参照]]) ==== $conf ==== グローバルに利用可能な ''$conf'' 配列は、すべての DokuWiki の構成設定を保持します。一般に次のような構造に従います: * ''$conf[]'' --- DokuWiki 設定([[ja:config]] 参照) * ''$conf[][]'' --- DokuWiki 設定の一部はこのフォーマットを使用(例: ftp, proxy, target 設定) * ''$conf['tpl'][][]'' --- テンプレートの構成設定。テンプレートのドキュメントを参照。 * ''$conf['plugin'][][]'' --- プラグインの構成設定。プラグインのドキュメントを参照。 * ''$conf['auth'][][]'' --- 認証バックエンド設定。認証バックエンドのドキュメントを参照。 通常は、この配列に直接アクセスする必要はありません。プラグインもテンプレートも、それぞれの構成設定にアクセスするためのメソッドを持っています。 ([[xref>$conf|参照]]) ==== $ID ==== 現在生成されているページの[[ja:pagename|ページ名]]を保持します。このページは通常は現在表示されているページですが、常にそうではありません。以下の ''$INFO['id']]'' を参照。([[xref>$ID|参照]]) ==== $INFO ==== これは連想配列で、''inc/common.php'' の関数 [[xref>pageinfo()]] によって生成された情報が格納されます。 現在の要素は: * ''id'' --- 現在表示されている主ページのページ名。通常は ''$ID'' と同じですが、異なることもあります。詳細は [[bug>1320]] 参照。 * ''rev'' --- 現在表示されている主ページのリビジョン。通常は $REV と同じ。 * ''userinfo'' --- ログイン済ユーザの場合のみセットされる連想配列... * ''pass'' --- 暗号化されたパスワード * ''name'' --- フルネーム * ''mail'' --- メールアドレス * ''grps'' --- 所属しているグループ(配列 :!:) * ''buid'' --- ユーザのブラウザとIPアドレスから生成される特殊なID * ''perm'' --- 現在のページ($ID)に関連したユーザのパーミッション * ''subscribed'' --- ユーザがこのページを購読している場合に真、それ以外で偽 * ''namespace'' --- 現在のページ($ID)が属している名前空間 * ''locked'' --- ページがロックされていれば真、そうでなければ偽 * ''filepath'' --- 現在のページ($ID+$REV)の生のwikiデータへのファイルシステムパス * ''exists'' --- 現在のページ($ID+$REV)の生のwikiデータが存在すれば真、それ以外で偽 * ''rev'' --- 現在のページ($ID)のリビジョンID。現在のリビジョンの場合は空文字列 * ''writable'' --- 現在のページ($ID+$REV)に対して、ファイルの存在、ファイルのパーミッション、ユーザのACLパーミッションの組合せによって、存在しているファイルへの書込みあるいは存在しないファイルの作成が許可されているならば真。そうでなければ偽。 * ''editable'' --- 現在のページ($ID+$REV)が書込み可能で、かつ現在ロックされていなければ真。 * ''lastmod'' --- 現在のページ($ID+$REV)に対する最終修正のタイムスタンプ * ''meta'' --- 現在のページ($ID)の[[metadata|メタデータ]] * ''ip'' --- 現在のページ($ID+$REV)の最終編集者のIPアドレス * ''user'' --- 現在のページ($ID+$REV)の最終編集者のユーザ名 * ''sum'' --- 現在のページ($ID+$REV)の編集サマリー注釈 * ''editor'' --- 現在のページ($ID+$REV)の最終編集者のユーザ名(またはユーザ名が不明ならばIPアドレス) * ''isadmin'' --- 現在ログインしているユーザが[[ja:config:superuser|スーパーユーザ]]ならば真 * ''ismanager'' --- 現在ログインしているユーザが[[ja:config:manager|マネージャー]]ならば真 * ''draft'' --- [[ja:draft|ドラフト]]ファイルが現在のユーザとページに存在するならば、そのファイル名 * ''ismobile'' --- ぺージがモバイル機器や携帯電話からブラウズされていれば真 [[develonly|開発版限定]] ==== $lang ==== インターフェース、プラグイン、テンプレートのすべての翻訳文字列を保持する連想配列です。([[xref>$lang|参照]]) ==== $REV ==== 現在生成されているページのリビジョンタイムスタンプを保持します。''fase'' ならば最新のページであることを意味します。([[xref>$REV|参照]]) ==== $_SERVER['REMOTE_USER'] ==== この変数は、ユーザがログインしたとき、DokuWiki の認証メカニズムによって明示的にセットされ、ユーザ名を保持します。 ==== $TEXT ==== このグローバル変数は ''save'' と ''preview'' の際に、編集フォーム経由で送信されたテキストを保持します。([[xref>$TEXT|参照]]) ==== $TOC ==== この変数は、中身があれば、[[templates#tpl_toc()]] がページの [[ja:TOC]] を構築するのに使われます。通常はこの変数は空で、[[xref>tpl_toc()]] はページの[[metadata|メタデータ]]から TOC を構築します。([[xref>$TOC|参照]]) ==== $USERINFO ==== グローバルに利用可能な連想配列で、**認証された**ユーザの情報をいくつか保持します。 * pass - ユーザのパスワードのハッシュ * name - ユーザのフルネーム * mail - ユーザのメールアドレス * grps - ユーザが所属するグループの配列 ([[xref>$USERINFO|参照]]) ===== 定数 ===== 以下は最も重要な定数のリストです。 ==== AUTH_<*> ==== ''AUTH_<*>'' 形式の定数は DokuWiki の ACL システムで使用されるパーミッションのレベルを整数値として表します。これらを用いると、与えられた[[ja:page|ページ]]や[[ja:namespace|名前空間]]の ACL チェックを若干読みやすく表現することができます。 if (auth_quickaclcheck($ID) >= AUTH_READ) { // 何かを実行 } === AUTH_NONE === * **型:** Integer * **値:** 0 * [[xref>AUTH_NONE|参照]] === AUTH_READ === * **型:** Integer * **値:** 1 * [[xref>AUTH_READ|参照]] === AUTH_EDIT === * **型:** Integer * **値:** 2 * [[xref>AUTH_EDIT|参照]] === AUTH_CREATE === * **型:** Integer * **値:** 4 * [[xref>AUTH_CREATE|参照]] === AUTH_UPLOAD === * **型:** Integer * **値:** 8 * [[xref>AUTH_UPLOAD|参照]] === AUTH_DELETE === * **型:** Integer * **値:** 16 * [[xref>AUTH_DELETE|参照]] === AUTH_ADMIN === * **型:** Integer * **値:** 255 * [[xref>AUTH_ADMIN|参照]] ==== DOKU_<*> ==== ''DOKU_<*>'' 形式の定数は、DokuWiki の内部で使用する種々の//システム//情報を保持します。 === DOKU_BASE === インストールされた DokuWiki の URL ベース。([[xref>DOKU_BASE|参照]]) /dokuwiki/ === DOKU_CONF === インストールされた DokuWiki のサーバ上での設定パス。([[xref>DOKU_CONF|参照]]) /var/www/dokuwiki/conf/ === DOKU_INC === インストールされた DokuWiki のサーバ上でのインクルードパス。([[xref>DOKU_INC|参照]]) /var/www/dokuwiki/ === DOKU_TPL === 現在使用されているテンプレートの URL ベースパス。([[xref>DOKU_TPL|参照]]) /dokuwiki/lib/tpl/