ABWiki

編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | エントランス | 検索 | 更新履歴

searchresult.pl - 検索結果表示プラグインのソース

検索結果表示プラグインのソース

use strict;

package searchresult;

sub plugin_block {
    my ($escaped_argument, $context) = @_;
    my $result = "";
    my $counter = 0;
    my $RChanges = "RecentChanges";

    $result .= qq(<div class="SearchResult">\n);
    foreach my $page (sort keys %{$context->{database}}) {
       next if $page =~ /^$RChanges$/ or $page =~ /^$context->{form}->{mypage}$/;
       if ($context->{database}{$page} =~ /\Q$escaped_argument\E/ or $page =~ /\Q$escaped_argument\E/) {
          if ($counter == 0) {
              $result .= qq(<ul class="SearchResult">\n);
          }
          $result .= qq(<li><a href="$context->{url_cgi}?@{[&main::encode($page)]}">@{[&main::escape($page)]}</a>@{[&main::escape(&main::get_subjectline($page))]}</li>\n);
          $counter++;
       }
    }
    if ($counter == 0) {
        $result .= qq(<p>Not found.</p>\n);
    } else {
        $result .= qq(</ul>\n);
    }
    $result .= qq(</div>\n);

    return $result;
}

sub plugin_usage {
    return {
        name => 'searchresult',
        version => '1.0',
        author => 'ABYSS <abwiki@mac.com>',
        syntax => '#searchresult(word)',
        description => 'Show search result.',
        example => '#searchresult(word)',
    };
}

1;