子階層のページをまとめてインクルードするプラグイン

バージョン1.4.2
投稿者reimy
状態完了
投稿日2004-01-11 (SUN) 16:45:13

メッセージ

子階層のページをまとめてインクルードするプラグイン。

include.inc.phpのワイルドカード版という感じ。ありそうでまだない。

孫階層までは必要ない(オプションで孫階層以下も含めてインクルードできてもいいけど)。

インクルードする順番は、ls2プラグイン同様、正方向と逆方向(reverse)が選択できると便利。

コメント

  • ARAI? 2004-01-12 (MON) 00:51:34

    欲しいプラグイン/74に更に少し手を加えてみました。

    --- include.inc.php.orig    11 Jan 2004 13:10:37 -0000
    +++ include.inc.php    11 Jan 2004 14:26:00 -0000
    @@ -43,17 +43,27 @@
         
         $include_list[$vars['page']] = TRUE;
         
    -    list($page) = func_get_args();
    +    list($page,$rev) = func_get_args();
         $page = strip_bracket($page);
     
         if ( strstr($page, './')) {
             $cwd = dirname($vars['page']);
             $page = expand_relpath( $cwd ? $cwd."/".$page: $page);
         }
    -    
    -    if (!is_page($page) or isset($include_list[$page]))
    -    {
    -        return '';
    +
    +    $pages = array_values(get_existpages());
    +    for ( $i=0; $i<count($pages); $i++ ){
    +        if (!ereg( $page, $pages[$i])) {
    +            array_splice( $pages, $i--, 1);
    +        }
    +    }
    +
    +    if ( $rev == "reverse" ) {
    +        $pages = array_reverse( $pages);
    +    }
    +    foreach ( $pages as $page ) {
    +    if (!is_page($page) or isset($include_list[$page])) {
    +        continue;
         }
         $include_list[$page] = TRUE;
         
    @@ -83,7 +93,9 @@
         {
             $body = "<h1>$link</h1>\n$body\n";
         }
    +    $body_all .= $body;
    +    }
         
    -    return $body;
    +    return $body_all;
     }
     ?>
  • ARAI? 2004-01-12 (MON) 07:42:07

    にぶんのにさんのご指摘を受けて、相対指定の解決にget_fullnameを使うように修正したものを書いておきます。1.4.2との差分です

    --- include.inc.php.orig    25 Nov 2003 01:24:41 -0000
    +++ include.inc.php    11 Jan 2004 22:24:05 -0000
    @@ -23,12 +23,24 @@
         
         $include_list[$vars['page']] = TRUE;
         
    -    list($page) = func_get_args();
    -    $page = strip_bracket($page);
    +    list($page,$rev) = func_get_args();
    +    $page = get_fullname(strip_bracket($page), $vars['page']);
         
    -    if (!is_page($page) or isset($include_list[$page]))
    -    {
    -        return '';
    +    $pages = array_values(get_existpages());
    +    for ( $i=0; $i<count($pages); $i++ ){
    +        if (!ereg( $page, $pages[$i])) {
    +            array_splice( $pages, $i--, 1);
    +        }
    +    }
    +
    +    if ( $rev == "reverse" ) {
    +        rsort( $pages);
    +    } else {
    +        sort( $pages);
    +    }
    +    foreach ( $pages as $page ) {
    +    if (!is_page($page) or isset($include_list[$page])) {
    +        continue;
         }
         $include_list[$page] = TRUE;
         
    @@ -58,7 +70,9 @@
         {
             $body = "<h1>$link</h1>\n$body\n";
         }
    +    $body_all .= $body;
    +    }
         
    -    return $body;
    +    return $body_all;
     }
     ?>
  • reimy 2004-01-12 (MON) 18:54:28

    いただきましたm(__)m。

  • 子階層のうち,並び替えて一番上に来る1件(上からn件)だけ表示できるようになりませんか? -- MC? 2004-12-16 (木) 20:20:12
  • 取り敢えず fileinclude_max_mode.diff.bz2 -- ARAI? 2004-12-16 (木) 23:42:32
  • ありがとうございます.blogプラグインで作成した日記の最新のものを,トップページに表示するということをしてみました. -- MC? 2004-12-17 (金) 13:25:12


添付ファイル: fileinclude_max_mode.diff.bz2 1422件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-03-09 (水) 17:28:24
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u8. HTML convert time: 0.229 sec.

OSDN