OSDN Git Service

(no commit message)
[fswiki/fswiki-lite.git] / wiki.cgi
diff --git a/wiki.cgi b/wiki.cgi
new file mode 100644 (file)
index 0000000..be8dae8
--- /dev/null
+++ b/wiki.cgi
@@ -0,0 +1,111 @@
+#!/usr/bin/perl\r
+################################################################################\r
+#\r
+# FSWiki Lite\r
+#\r
+################################################################################\r
+require "./lib/common.pl";\r
+#===============================================================================\r
+# ½èÍý¤Î¿¶¤êʬ¤±\r
+#===============================================================================\r
+&ReadParse();\r
+if($in{"p"} eq ""){\r
+       $in{"p"} = "FrontPage";\r
+}\r
+\r
+if($in{"a"} eq "list"){\r
+       &list_page();\r
+       \r
+} elsif($in{"a"} eq "search"){\r
+       &search_page();\r
+       \r
+} else {\r
+       &show_page();\r
+       \r
+}\r
+\r
+#-------------------------------------------------------------------------------\r
+# ¥Ú¡¼¥¸¤Î°ìÍ÷\r
+#-------------------------------------------------------------------------------\r
+sub list_page {\r
+       my @pages = &Wiki::get_page_list();\r
+       \r
+       &print_header("°ìÍ÷");\r
+       print "<ul>\n";\r
+       foreach my $page (@pages){\r
+               print "<li><a href=\"$MAIN_SCRIPT?p=".&Util::url_encode($page->{NAME})."\">".\r
+                     &Util::escapeHTML($page->{NAME})."</a>".\r
+                     " - ".&Util::format_date($page->{TIME})."</li>\n";\r
+       }\r
+       print "</ul>\n";\r
+       &print_footer();\r
+}\r
+\r
+#-------------------------------------------------------------------------------\r
+# ¥Ú¡¼¥¸¤òɽ¼¨\r
+#-------------------------------------------------------------------------------\r
+sub show_page {\r
+       \r
+       unless(&Wiki::exists_page($in{"p"})){\r
+               undef %in;\r
+               $in{"a"} = "edit";\r
+               require $EDIT_SCRIPT;\r
+               return;\r
+       }\r
+       \r
+       my $source = &Wiki::get_page($in{"p"});\r
+       my $html   = &Wiki::process_wiki($source,1);\r
+       \r
+       &print_header($in{"p"},1);\r
+       \r
+       if(&Wiki::exists_page("Header")){\r
+               print "<div class=\"header\">\n";\r
+               print &Wiki::process_wiki(&Wiki::get_page("Header"));\r
+               print "</div>\n";\r
+       }\r
+\r
+       print "<div class=\"day body section\">\n";\r
+       print $html;\r
+       print "</div>\n";\r
+       \r
+       if(&Wiki::exists_page("Footer")){\r
+               print "<div class=\"comment\">\n";\r
+               print &Wiki::process_wiki(&Wiki::get_page("Footer"));\r
+               print "</div>\n";\r
+       }\r
+       \r
+       &print_footer();\r
+}\r
+\r
+#-------------------------------------------------------------------------------\r
+# ¥Ú¡¼¥¸¤Î¸¡º÷\r
+#-------------------------------------------------------------------------------\r
+sub search_page {\r
+       \r
+       &print_header("¸¡º÷");\r
+       print "<form action=\"$MAIN_SCRIPT\" method=\"GET\">\n";\r
+       print "  ¥­¡¼¥ï¡¼¥É <input type=\"text\" name=\"w\" size=\"20\" value=\"".&Util::escapeHTML($in{'w'})."\">\n";\r
+       print "  <input type=\"submit\" value=\" ¸¡ º÷ \">\n";\r
+       print "  <input type=\"hidden\" name=\"a\" value=\"search\">\n";\r
+       print "</form>\n";\r
+       \r
+       if($in{'w'} ne ""){\r
+               my @pages = &Wiki::get_page_list();\r
+               my $find  = 0;\r
+               print "<ul>\n";\r
+               foreach my $page (@pages){\r
+                       my $source = $page->{NAME}."\n".&Wiki::get_page($page->{NAME});\r
+                       if(index($source,$in{'w'})!=-1){\r
+                               print "  <li><a href=\"$MAIN_SCRIPT?p=".&Util::url_encode($page->{NAME})."\">".&Util::escapeHTML($page->{NAME})."</a></li>\n";\r
+                               $find = 1;\r
+                       }\r
+               }\r
+               if($find==0){\r
+                       print "<li>³ºÅö¤¹¤ë¥Ú¡¼¥¸¤Ï¸ºß¤·¤Þ¤»¤ó¡£</li>\n";\r
+               }\r
+               print "</ul>\n";\r
+       }\r
+       \r
+       &print_footer();\r
+}\r
+\r