OSDN Git Service

(no commit message)
[fswiki/fswiki-lite.git] / wiki.cgi
1 #!/usr/bin/perl\r
2 ################################################################################\r
3 #\r
4 # FSWiki Lite\r
5 #\r
6 ################################################################################\r
7 require "./lib/common.pl";\r
8 #===============================================================================\r
9 # ½èÍý¤Î¿¶¤êʬ¤±\r
10 #===============================================================================\r
11 &ReadParse();\r
12 if($in{"p"} eq ""){\r
13         $in{"p"} = "FrontPage";\r
14 }\r
15 \r
16 if($in{"a"} eq "list"){\r
17         &list_page();\r
18         \r
19 } elsif($in{"a"} eq "search"){\r
20         &search_page();\r
21         \r
22 } else {\r
23         &show_page();\r
24         \r
25 }\r
26 \r
27 #-------------------------------------------------------------------------------\r
28 # ¥Ú¡¼¥¸¤Î°ìÍ÷\r
29 #-------------------------------------------------------------------------------\r
30 sub list_page {\r
31         my @pages = &Wiki::get_page_list();\r
32         \r
33         &print_header("°ìÍ÷");\r
34         print "<ul>\n";\r
35         foreach my $page (@pages){\r
36                 print "<li><a href=\"$MAIN_SCRIPT?p=".&Util::url_encode($page->{NAME})."\">".\r
37                       &Util::escapeHTML($page->{NAME})."</a>".\r
38                       " - ".&Util::format_date($page->{TIME})."</li>\n";\r
39         }\r
40         print "</ul>\n";\r
41         &print_footer();\r
42 }\r
43 \r
44 #-------------------------------------------------------------------------------\r
45 # ¥Ú¡¼¥¸¤òɽ¼¨\r
46 #-------------------------------------------------------------------------------\r
47 sub show_page {\r
48         \r
49         unless(&Wiki::exists_page($in{"p"})){\r
50                 undef %in;\r
51                 $in{"a"} = "edit";\r
52                 require $EDIT_SCRIPT;\r
53                 return;\r
54         }\r
55         \r
56         my $source = &Wiki::get_page($in{"p"});\r
57         my $html   = &Wiki::process_wiki($source,1);\r
58         \r
59         &print_header($in{"p"},1);\r
60         \r
61         if(&Wiki::exists_page("Header")){\r
62                 print "<div class=\"header\">\n";\r
63                 print &Wiki::process_wiki(&Wiki::get_page("Header"));\r
64                 print "</div>\n";\r
65         }\r
66 \r
67         print "<div class=\"day body section\">\n";\r
68         print $html;\r
69         print "</div>\n";\r
70         \r
71         if(&Wiki::exists_page("Footer")){\r
72                 print "<div class=\"comment\">\n";\r
73                 print &Wiki::process_wiki(&Wiki::get_page("Footer"));\r
74                 print "</div>\n";\r
75         }\r
76         \r
77         &print_footer();\r
78 }\r
79 \r
80 #-------------------------------------------------------------------------------\r
81 # ¥Ú¡¼¥¸¤Î¸¡º÷\r
82 #-------------------------------------------------------------------------------\r
83 sub search_page {\r
84         \r
85         &print_header("¸¡º÷");\r
86         print "<form action=\"$MAIN_SCRIPT\" method=\"GET\">\n";\r
87         print "  ¥­¡¼¥ï¡¼¥É <input type=\"text\" name=\"w\" size=\"20\" value=\"".&Util::escapeHTML($in{'w'})."\">\n";\r
88         print "  <input type=\"submit\" value=\" ¸¡ º÷ \">\n";\r
89         print "  <input type=\"hidden\" name=\"a\" value=\"search\">\n";\r
90         print "</form>\n";\r
91         \r
92         if($in{'w'} ne ""){\r
93                 my @pages = &Wiki::get_page_list();\r
94                 my $find  = 0;\r
95                 print "<ul>\n";\r
96                 foreach my $page (@pages){\r
97                         my $source = $page->{NAME}."\n".&Wiki::get_page($page->{NAME});\r
98                         if(index($source,$in{'w'})!=-1){\r
99                                 print "  <li><a href=\"$MAIN_SCRIPT?p=".&Util::url_encode($page->{NAME})."\">".&Util::escapeHTML($page->{NAME})."</a></li>\n";\r
100                                 $find = 1;\r
101                         }\r
102                 }\r
103                 if($find==0){\r
104                         print "<li>³ºÅö¤¹¤ë¥Ú¡¼¥¸¤Ï¸ºß¤·¤Þ¤»¤ó¡£</li>\n";\r
105                 }\r
106                 print "</ul>\n";\r
107         }\r
108         \r
109         &print_footer();\r
110 }\r
111 \r