DirectPHP
初出:2007年03/31 更新:2007年04/18
DirectPHPはMODx用のスニペットで、ドキュメント内のスニペット呼び出しタグ([[や[!)の中にPHPコードを記述したり、ファイル名を指定することで実行(evalもしくはinclude)させます。
ダウンロード
新着順
更新履歴
- 20060708 v1.0.1 ?,&,=,`が置換されてしまうバグに対応
- 20060707 v1.0.0 公開
使い方
許可するドキュメントのユーザ指定(必須)
マルチユーザ環境での最大の穴対策として、このスニペットはドキュメントの作成者(createdby)、更新者(editedby)、公開許可者(publishedby)のいずれかが、指定されたリストの中に存在する時のみ働きます。 そのリストはソースコードの
$permittedCreator = ''; $permittedEditor = ''; $permittedPublisher = '';
にカンマ区切りで指定します。直接PHPコードを書いてevalする場合
例えば
[!DirectPHP?code=`for($i%3D0;$i<3;$i++)echo "#$i";`!]
とすると、#1#2#3
が出力されます。(MODxがパラメータ中の?, =, &, `, %を処理してしまうため、コード中ではそれぞれurlencodeされた%3F, %3D, %26. %60, %25とする必要があります)パスを指定してincludeする場合
[!DirectPHP?file=`/assets/site/test.php`!]
とすると、/(MODxをインストールしたパス)/assets/site/test.phpがincludeされます。 ここで、文字列の出力には?>と<?を用いてはならないことに注意してください。 またGDなどでテンプレートに影響されずに何か書き出す場合は、最後にexit;します。
