KAME-Board Programmer's Manual

変数たち

$PARAM

$PARAM->{'_CMD'} pathinfo_parse で PATH_INFO から解析されたあと、CGI入力で上書きされることがある。
$PARAM->{'_FILE'} pathinfo_parse で PATH_INFO から解析される。
$PARAM->{'_ARTICLE_ID'} pathinfo_parse で PATH_INFO から解析される。article_id があるときのみ。
$PARAM->{'_SCHEME'} pathinfo_parse で PATH_INFO から解析される。$SCHEME->{'_SCHEME'}->{'scheme'}にコピーされるので、通常はそれを使う。
$PARAM->{*} CGI 入力のフォーム名に対応した値が入る。文字フィールドは EUC に漢字コード変換される。
ファイルアップロードフィールドは、フォーム名 XXX に対して、ファイルのデータが XXX に、ファイル名が XXX__file に、Content-type: が XXX__ct に入る。

$SCHEME

$SCHEME->{'_USER'}->{'user_name'} 認証されているとき、ユーザ名が入る。
$SCHEME->{'_SCHEME'}->{'scheme'} 現在の主 scheme 名が入る。
$SCHEME->{'_SCHEME'}->{'scheme_dir'} 現在の主 scheme に対応するディレクトリ名が入る。
$SCHEME->{'_CONFIG'}->{*} 現在の scheme での定数のセットに使う。
$SCHEME->{'_CONFIG'}->{'admin_mail'} 管理者のメールアドレス。通常 kame-dat/config/config.db1 でセットする。
$SCHEME->{'_CONFIG'}->{'sendmail_path'} sendmail 実行ファイルへのパス。現在は使っていない。通常 kame-dat/config/config.db1 でセットする。
$SCHEME->{'_CONFIG'}->{'size_limit'} CGI 入力の最大値(byte 単位)。デフォルトは無制限。セットする場合は、通常 kame-dat/config/config.db1 でセットする。
$SCHEME->{'_MIME_TYPE'}->{*} 拡張子 → Content-type: の辞書。
mime.types の書式は、apache などと同じ。
<Content-type><空白><拡張子(.を含まない)>[<空白><拡張子>]

kame-dat/config/mime.types でセットしてあるのは次のとおり。
$SCHEME->{'_MIME_TYPE'}->{gif} image/gif
$SCHEME->{'_MIME_TYPE'}->{png} image/png
$SCHEME->{'_MIME_TYPE'}->{jpg} image/jpg
$SCHEME->{'_MIME_TYPE'}->{txt} text/plain
$SCHEME->{'_MIME_TYPE'}->{html} text/html

$SKEL

$SKEL->{*} $PARAM->{*}からコピーされる。
ただし、ログイン時の $PARAM->{'password'}はコピーされない。
重要なものは次に。
$SKEL->{_CMD}
$SKEL->{_SCHEME}
$SKEL->{'_PATH_INFO'} $ENV{'PATH_INFO'};
$SKEL->{'_USER_HANDLE'} ハンドル
$SKEL->{'_USER_NAME'} ユーザ名
http://ser.ver/dire/ctory/kameboard.cgi/sch/eme/file.html?param の時、呼び出し URLに応じて次の変数が入る。
$SKEL->{'_KAME_CGI_SCHEME'} dire/ctory/kameboard.cgi/sch/eme/ <form >の action 引数は <skel _KAME_CGI_SCHEME>を使うこと。
$SKEL->{'_THIS_PATH_INFO'} /sch/eme/file.html?param 名前とは違って、?param も入ることに注意。
$SKEL->{'_SCHEME'} sch/eme 前後の '/' は入らない。
$SKEL->{'_SCRIPT_URL'} /dire/ctory/kameboard.cgi =$ENV{'SCRIPT_NAME'}
$SKEL->{'_KAME_TOP'} /dire/ctory/kameboard.cgi ファイル書出し時は違う。
$SKEL->{'_KAME_URL'} http://ser.ver/dire/ctory/kameboard.cgi/
$SKEL->{'_REFERER_PATH_INFO'} 適時、呼び出し元の _THIS_PATH_INFO をセットして使う