欲しいプラグイン/74
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
**相対指定可能なincludeプラグイン [#g92bf921]
|RIGHT:70|LEFT:410|c
|~バージョン|1.4.2|
|~投稿者|[[reimy]]|
|~状態|完了|
|~投稿日|&new{2004-01-11 (SUN) 16:53:48};|
***メッセージ [#r299476c]
現在のincludeプラグインは
#include(./sample)
というように相対指定でページを指定できない。
このため、階層の深いページでインクルードする場合、
#include(&fpage;/sample)
と書かないといけない(&fpage;はページ保存時にカレント...
ページ移動やBracketNameで相対指定ができるのだから、includ...
***コメント [#oa707e8f]
-[[ARAI]] &new{2004-01-11 (SUN) 21:00:09};
~試しに改造してみました。こんなのでいいでしょうか?
--- include.inc.php.oig 25 Nov 2003 01:38:42 -0000
+++ include.inc.php 11 Jan 2004 11:44:29 -0000
@@ -10,6 +10,26 @@
ページをインクルードする
*/
+function expand_relpath( $rpath)
+{
+ $path = explode('/', $rpath);
+
+ for ( $i=0; $i<count($path); $i++ ) {
+ switch ( $path[$i]) {
+ case "..":
+ array_splice($path,$i-1,2);
+ $i-=2;
+ break;
+ case ".":
+ array_splice($path,$i,1);
+ $i--;
+ break;
+ }
+ }
+
+ return implode('/', $path);
+}
+
function plugin_include_convert()
{
global $script,$vars,$get,$post,$hr,$WikiName,$Brac...
@@ -25,6 +45,11 @@
list($page) = func_get_args();
$page = strip_bracket($page);
+
+ if ( strstr($page, './')) {
+ $cwd = dirname($vars['page']);
+ $page = expand_relpath( $cwd ? $cwd."/".$page: ...
+ }
if (!is_page($page) or isset($include_list[$page]))
{
-[[にぶんのに]] &new{2004-01-12 (MON) 04:39:56};
~make_link.php の get_fullnameを使うと良いのでは?
-[[ARAI]] &new{2004-01-12 (MON) 07:37:12};
~ああ、こんなものがあったんですね。私の「相対指定」の理解...
-[[reimy]] &new{2004-01-12 (MON) 18:55:30};
~いただきましたm(__)m。相対指定可能のinclude.inc.phpをcvs...
--includeプラグインが相対参照に対応しました [[cvs:plugin/...
#comment
終了行:
**相対指定可能なincludeプラグイン [#g92bf921]
|RIGHT:70|LEFT:410|c
|~バージョン|1.4.2|
|~投稿者|[[reimy]]|
|~状態|完了|
|~投稿日|&new{2004-01-11 (SUN) 16:53:48};|
***メッセージ [#r299476c]
現在のincludeプラグインは
#include(./sample)
というように相対指定でページを指定できない。
このため、階層の深いページでインクルードする場合、
#include(&fpage;/sample)
と書かないといけない(&fpage;はページ保存時にカレント...
ページ移動やBracketNameで相対指定ができるのだから、includ...
***コメント [#oa707e8f]
-[[ARAI]] &new{2004-01-11 (SUN) 21:00:09};
~試しに改造してみました。こんなのでいいでしょうか?
--- include.inc.php.oig 25 Nov 2003 01:38:42 -0000
+++ include.inc.php 11 Jan 2004 11:44:29 -0000
@@ -10,6 +10,26 @@
ページをインクルードする
*/
+function expand_relpath( $rpath)
+{
+ $path = explode('/', $rpath);
+
+ for ( $i=0; $i<count($path); $i++ ) {
+ switch ( $path[$i]) {
+ case "..":
+ array_splice($path,$i-1,2);
+ $i-=2;
+ break;
+ case ".":
+ array_splice($path,$i,1);
+ $i--;
+ break;
+ }
+ }
+
+ return implode('/', $path);
+}
+
function plugin_include_convert()
{
global $script,$vars,$get,$post,$hr,$WikiName,$Brac...
@@ -25,6 +45,11 @@
list($page) = func_get_args();
$page = strip_bracket($page);
+
+ if ( strstr($page, './')) {
+ $cwd = dirname($vars['page']);
+ $page = expand_relpath( $cwd ? $cwd."/".$page: ...
+ }
if (!is_page($page) or isset($include_list[$page]))
{
-[[にぶんのに]] &new{2004-01-12 (MON) 04:39:56};
~make_link.php の get_fullnameを使うと良いのでは?
-[[ARAI]] &new{2004-01-12 (MON) 07:37:12};
~ああ、こんなものがあったんですね。私の「相対指定」の理解...
-[[reimy]] &new{2004-01-12 (MON) 18:55:30};
~いただきましたm(__)m。相対指定可能のinclude.inc.phpをcvs...
--includeプラグインが相対参照に対応しました [[cvs:plugin/...
#comment
ページ名: