#!/usr/bin/perl
################################################################################
#
# FSWiki Lite
#
################################################################################
require "./lib/common.pl";
#===============================================================================
# 処理の振り分け
#===============================================================================
&ReadParse();
if($in{"p"} eq ""){
$in{"p"} = "FrontPage";
}
if($in{"a"} eq "list"){
&list_page();
} elsif($in{"a"} eq "search"){
&search_page();
} else {
&show_page();
}
#-------------------------------------------------------------------------------
# ページの一覧
#-------------------------------------------------------------------------------
sub list_page {
my @pages = &Wiki::get_page_list();
&print_header("一覧");
print "
\n";
&print_footer();
}
#-------------------------------------------------------------------------------
# ページを表示
#-------------------------------------------------------------------------------
sub show_page {
unless(&Wiki::exists_page($in{"p"})){
undef %in;
$in{"a"} = "edit";
require $EDIT_SCRIPT;
return;
}
my $source = &Wiki::get_page($in{"p"});
my $html = &Wiki::process_wiki($source,1);
&print_header($in{"p"},1);
if(&Wiki::exists_page("Header")){
print "\n";
}
print "\n";
print $html;
print "
\n";
if(&Wiki::exists_page("Footer")){
print "\n";
}
&print_footer();
}
#-------------------------------------------------------------------------------
# ページの検索
#-------------------------------------------------------------------------------
sub search_page {
&print_header("検索");
print "\n";
if($in{'w'} ne ""){
my @pages = &Wiki::get_page_list();
my $find = 0;
print "\n";
foreach my $page (@pages){
my $source = $page->{NAME}."\n".&Wiki::get_page($page->{NAME});
if(index($source,$in{'w'})!=-1){
print " - {NAME})."\">".&Util::escapeHTML($page->{NAME})."
\n";
$find = 1;
}
}
if($find==0){
print "- 該当するページは存在しません。
\n";
}
print "
\n";
}
&print_footer();
}