2 ################################################################################
\r
4 # FSWiki Lite - ¥Ú¡¼¥¸ºîÀ®¡¢ÊÔ½¸ÍÑ¥¹¥¯¥ê¥×¥È
\r
6 ################################################################################
\r
7 require "./lib/common.pl";
\r
8 #===============================================================================
\r
10 #===============================================================================
\r
13 $in{"p"} = "FrontPage";
\r
16 if($in{"p"}=~ /[\|:\[\]]/){
\r
17 &Util::error("¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
\r
20 if($in{"a"} eq "edit"){
\r
23 } elsif($in{"a"} eq "new"){
\r
26 } elsif($in{"a"} eq "save"){
\r
29 } elsif($in{"a"} eq "attach"){
\r
32 } elsif($in{"a"} eq "delconf"){
\r
33 &attach_delete_confirm();
\r
35 } elsif($in{"a"} eq "delete"){
\r
39 redirect("FrontPage");
\r
42 #-------------------------------------------------------------------------------
\r
44 #-------------------------------------------------------------------------------
\r
47 my $page = $in{"p"};
\r
49 my $time = $in{"t"};
\r
53 } elsif(&Wiki::exists_page($page)){
\r
54 $source = &Wiki::get_page($page);
\r
55 $time = &Wiki::get_last_modified($page);
\r
58 &print_header($in{"p"}."¤ÎÊÔ½¸");
\r
61 print &Wiki::process_wiki($source);
\r
64 print "<form action=\"$EDIT_SCRIPT\" method=\"POST\">\n";
\r
65 print " <textarea name=\"source\" rows=\"20\" cols=\"80\">".&Util::escapeHTML($source)."</textarea><br>\n";
\r
66 print " <input type=\"submit\" name=\"do_save\" value=\" ÊÝ Â¸ \">\n";
\r
67 print " <input type=\"submit\" name=\"preview\" value=\"¥×¥ì¥Ó¥å¡¼\">\n";
\r
68 print " <input type=\"hidden\" name=\"a\" value=\"save\">\n";
\r
69 print " <input type=\"hidden\" name=\"p\" value=\"".&Util::escapeHTML($page)."\">\n";
\r
70 print " <input type=\"hidden\" name=\"t\" value=\"".&Util::escapeHTML($time)."\">\n";
\r
73 opendir(DIR, $main::ATTACH_DIR);
\r
74 my ($attachentry, @attachfiles);
\r
75 while($attachentry = readdir(DIR)){
\r
76 my $type = rindex($attachentry,&Util::url_encode($page).".");
\r
78 push(@attachfiles, "$main::ATTACH_DIR/$attachentry");
\r
82 foreach my $attach (@attachfiles){
\r
83 $attach =~ /^\Q$main::ATTACH_DIR\E\/(.+)\.(.+)$/;
\r
86 print &Wiki::Plugin::ref(&Util::url_decode($filename));
\r
87 printf ("[<a href=\"$EDIT_SCRIPT?a=delconf&p=%s&f=%s\">ºï½ü</a>]\n",$pagename,$filename);
\r
90 print "<form action=\"$EDIT_SCRIPT\" method=\"post\" enctype=\"multipart/form-data\">\n";
\r
91 print " <input type=\"file\" name=\"f\">\n";
\r
92 print " <input type=\"submit\" name=\"do_attach\" value=\" ź ÉÕ \">\n";
\r
93 print " <input type=\"hidden\" name=\"a\" value=\"attach\">\n";
\r
94 print " <input type=\"hidden\" name=\"p\" value=\"".&Util::escapeHTML($page)."\">\n";
\r
100 #-------------------------------------------------------------------------------
\r
102 #-------------------------------------------------------------------------------
\r
104 &print_header("¥Ú¡¼¥¸¤ÎºîÀ®");
\r
105 print "<form action=\"$SCRIPT_NAME\" method=\"POST\">\n";
\r
106 print " <input type=\"text\" name=\"p\" size=\"40\">\n";
\r
107 print " <input type=\"submit\" name=\"do_save\" value=\" ºî À® \">\n";
\r
108 print " <input type=\"hidden\" name=\"a\" value=\"edit\">\n";
\r
113 #-------------------------------------------------------------------------------
\r
115 #-------------------------------------------------------------------------------
\r
117 my $page = $in{"p"};
\r
118 my $source = $in{"source"};
\r
120 if($in{"preview"} ne ""){
\r
121 &edit_page($source);
\r
126 # ¹¹¿·¤Î½ÅÊ£¥Á¥§¥Ã¥¯
\r
127 if(&Wiki::exists_page($page)){
\r
128 if($in{"t"} != &Wiki::get_last_modified($page)){
\r
129 &Util::error("¤³¤Î¥Ú¡¼¥¸¤Ï´û¤Ë¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£");
\r
131 &Wiki::remove_page($page);
\r
134 &redirect("FrontPage");
\r
136 # ¥Ú¡¼¥¸¤ÎºîÀ®¤Þ¤¿¤Ï¹¹¿·
\r
138 # ¹¹¿·¤Î½ÅÊ£¥Á¥§¥Ã¥¯
\r
139 if(&Wiki::exists_page($page)){
\r
140 if($in{"t"} != &Wiki::get_last_modified($page)){
\r
141 &Util::error("¤³¤Î¥Ú¡¼¥¸¤Ï´û¤Ë¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£");
\r
144 &Wiki::save_page($page,$source);
\r
150 #-------------------------------------------------------------------------------
\r
152 #-------------------------------------------------------------------------------
\r
154 my $page = $in{"p"};
\r
155 my $file = $in{"f"}; # ¥Õ¥¡¥¤¥ëÆâÍƤò¼èÆÀ
\r
156 my $name = $incfn{"f"}; # ¥Õ¥¡¥¤¥ë̾¤ò¼èÆÀ
\r
159 &Util::error("¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
\r
166 $name =~ s/\\/\//g; # ¥Ñ¥¹¶èÀÚ¤êʸ»ú¤ò/¤ËÊÑ´¹
\r
167 $name = substr($name,rindex($name,"/")+1); # ¥Õ¥¡¥¤¥ë̾¤Î¤ß¤ò¼èÆÀ
\r
169 my $filename = sprintf("%s/%s.%s",$main::ATTACH_DIR,&Util::url_encode($page),&Util::url_encode($name));
\r
170 open(DATA,">$filename");
\r
175 &redirectURL("$EDIT_SCRIPT?a=edit&p=".&Util::url_encode($page));
\r
178 #-------------------------------------------------------------------------------
\r
179 # źÉÕ¥Õ¥¡¥¤¥ë¤Îºï½ü³Îǧ
\r
180 #-------------------------------------------------------------------------------
\r
181 sub attach_delete_confirm {
\r
182 my $page = $in{"p"};
\r
183 my $file = $in{"f"};
\r
186 &Util::error("¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
\r
189 &print_header("źÉÕ¥Õ¥¡¥¤¥ë¤Îºï½ü");
\r
190 printf ("<p><a href=\"$MAIN_SCRIPT?p=%s\">%s</a>¤«¤é".
\r
191 "<a href=\"$DOWNLOAD_SCRIPT?p=%s&f=%s\">%s</a>¤òºï½ü¤·¤Æ¤è¤í¤·¤¤¤Ç¤¹¤«¡©</p>\n",
\r
192 &Util::url_encode($page),&Util::escapeHTML($page),
\r
193 &Util::url_encode($page),&Util::url_encode($file),&Util::escapeHTML($file));
\r
195 print "<form action=\"$EDIT_SCRIPT\" method=\"POST\">\n";
\r
196 print " <input type=\"submit\" name=\"do_delete\" value=\" ºï ½ü \">\n";
\r
197 print " <input type=\"hidden\" name=\"p\" value=\"".&Util::escapeHTML($page)."\">\n";
\r
198 print " <input type=\"hidden\" name=\"f\" value=\"".&Util::escapeHTML($file)."\">\n";
\r
199 print " <input type=\"hidden\" name=\"a\" value=\"delete\">\n";
\r
204 #-------------------------------------------------------------------------------
\r
205 # źÉÕ¥Õ¥¡¥¤¥ë¤Îºï½ü
\r
206 #-------------------------------------------------------------------------------
\r
207 sub attach_delete {
\r
208 my $page = $in{"p"};
\r
209 my $file = $in{"f"};
\r
212 &Util::error("¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
\r
215 my $filename = sprintf("$ATTACH_DIR/%s.%s",&Util::url_encode($page),&Util::url_encode($file));
\r
218 &redirectURL("$EDIT_SCRIPT?a=edit&p=".&Util::url_encode($page));
\r