-###############################################################################\r
-#\r
-# ¥×¥é¥°¥¤¥ó¤ÎÀßÄê¤ò¹Ô¤¦¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é\r
-#\r
-###############################################################################\r
-package plugin::admin::AdminPluginHandler;\r
-use strict;\r
-#==============================================================================\r
-# ¥³¥ó¥¹¥È¥é¥¯¥¿\r
-#==============================================================================\r
-sub new {\r
- my $class = shift;\r
- my $self = {};\r
- return bless $self,$class;\r
-}\r
-\r
-#==============================================================================\r
-# ¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é¥á¥½¥Ã¥É\r
-#==============================================================================\r
-sub do_action {\r
- my $self = shift;\r
- my $wiki = shift;\r
- my $cgi = $wiki->get_CGI;\r
- \r
- $wiki->set_title("¥×¥é¥°¥¤¥óÀßÄê");\r
- \r
- if($cgi->param("SAVE") ne ""){\r
- return $self->save_plugin_config($wiki);\r
- } else {\r
- return $self->plugin_config_form($wiki);\r
- }\r
-}\r
-\r
-sub plugin_config_form {\r
- my $self = shift;\r
- my $wiki = shift;\r
- my $cgi = $wiki->get_CGI;\r
- \r
- my @plugins = split(/\n/,&Util::load_config_text($wiki,$wiki->config('plugin_file')));\r
- \r
- my $buf = "<h2>¥×¥é¥°¥¤¥ó¤ÎÀßÄê</h2>\n".\r
- "<form action=\"".$wiki->create_url()."\" method=\"POST\">\n".\r
- "<table>\n".\r
- "<tr><th><br></th><th>¥×¥é¥°¥¤¥ó</th><th>ÀâÌÀ</th></tr>\n";\r
- \r
- foreach(sort($self->list_plugins($wiki))){\r
- $buf .= "<tr>";\r
- $buf .= "<td><input type=\"checkbox\" name=\"plugin\" value=\"".Util::escapeHTML($_)."\"";\r
- foreach my $plugin (@plugins){\r
- if($_ eq $plugin){ $buf .= " checked"; }\r
- }\r
- $buf .= "></td>";\r
- \r
- $buf .= "<td>".Util::escapeHTML($_)."</td>";\r
- $buf .= "<td>".$self->get_decription($wiki,$_)."</td>";\r
- $buf .= "</tr>";\r
- }\r
- \r
- $buf .= "</table>\n".\r
- "<input type=\"submit\" name=\"SAVE\" value=\" ÊÝ Â¸ \">\n".\r
- "<input type=\"reset\" value=\"¥ê¥»¥Ã¥È\">\n".\r
- "<input type=\"hidden\" name=\"action\" value=\"ADMINPLUGIN\">\n".\r
- "</form>\n";\r
- \r
- return $buf;\r
-}\r
-\r
-#==============================================================================\r
-# ÀßÄê¤òÊݸ\r
-#==============================================================================\r
-sub save_plugin_config {\r
- my $self = shift;\r
- my $wiki = shift;\r
- my $cgi = $wiki->get_CGI;\r
- \r
- my @plugins = $cgi->param("plugin");\r
- \r
- &Util::save_config_text($wiki,$wiki->config('plugin_file'),join("\n",@plugins));\r
-\r
- return $wiki->redirectURL( $wiki->create_url({action=>"ADMINPLUGIN"}) );\r
- #return "ÀßÄê¤òÊݸ¤·¤Þ¤·¤¿¡£";\r
-}\r
-\r
-#==============================================================================\r
-# ¥×¥é¥°¥¤¥ó¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë´Ø¿ô\r
-#==============================================================================\r
-sub list_plugins {\r
- my $self = shift;\r
- my $wiki = shift;\r
- my @list;\r
- opendir(DIR,$wiki->config('plugin_dir')."/plugin") or die $!;\r
- while(my $entry = readdir(DIR)){\r
- my $path = $wiki->config('plugin_dir')."/plugin/$entry";\r
- if(-d $path && $entry ne "." && $entry ne ".."){\r
- if(-e "$path/Install.pm"){\r
- push(@list,$entry);\r
- }\r
- }\r
- }\r
- closedir(DIR);\r
- \r
- @list = sort(@list);\r
- return @list;\r
-}\r
-\r
-#==============================================================================\r
-# Install.pm¤Î¥³¥á¥ó¥È¤ò¼èÆÀ\r
-#==============================================================================\r
-sub get_decription {\r
- my $self = shift;\r
- my $wiki = shift;\r
- my $plugin = shift;\r
- open(DATA,$wiki->config('plugin_dir')."/plugin/$plugin/Install.pm") or return "<br>";\r
- my $flag = 0;\r
- my $comment = "";\r
- while(<DATA>){\r
- if(!/^#/ || /^##/){\r
- if($flag==0){ next; } else { last; }\r
- }\r
- $flag = 1;\r
- s/\#+//;\r
- s/\={2,}//;\r
- s/^\s+//; s/\s+$//;\r
- if($_ ne ""){\r
- $comment .= $_."\n";\r
- }\r
- }\r
- close(DATA);\r
- return $comment;\r
-}\r
-\r
-1;\r
+###############################################################################
+#
+# ¥×¥é¥°¥¤¥ó¤ÎÀßÄê¤ò¹Ô¤¦¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é
+#
+###############################################################################
+package plugin::admin::AdminPluginHandler;
+use strict;
+#==============================================================================
+# ¥³¥ó¥¹¥È¥é¥¯¥¿
+#==============================================================================
+sub new {
+ my $class = shift;
+ my $self = {};
+ return bless $self,$class;
+}
+
+#==============================================================================
+# ¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é¥á¥½¥Ã¥É
+#==============================================================================
+sub do_action {
+ my $self = shift;
+ my $wiki = shift;
+ my $cgi = $wiki->get_CGI;
+
+ $wiki->set_title("¥×¥é¥°¥¤¥óÀßÄê");
+
+ if($cgi->param("SAVE") ne ""){
+ return $self->save_plugin_config($wiki);
+ } else {
+ return $self->plugin_config_form($wiki);
+ }
+}
+
+sub plugin_config_form {
+ my $self = shift;
+ my $wiki = shift;
+ my $cgi = $wiki->get_CGI;
+
+ my @plugins = split(/\n/,&Util::load_config_text($wiki,$wiki->config('plugin_file')));
+
+ my $buf = "<h2>¥×¥é¥°¥¤¥ó¤ÎÀßÄê</h2>\n".
+ "<form action=\"".$wiki->create_url()."\" method=\"POST\">\n".
+ "<table>\n".
+ "<tr><th><br></th><th>¥×¥é¥°¥¤¥ó</th><th>ÀâÌÀ</th></tr>\n";
+
+ foreach(sort($self->list_plugins($wiki))){
+ $buf .= "<tr>";
+ $buf .= "<td><input type=\"checkbox\" name=\"plugin\" value=\"".Util::escapeHTML($_)."\"";
+ foreach my $plugin (@plugins){
+ if($_ eq $plugin){ $buf .= " checked"; }
+ }
+ $buf .= "></td>";
+
+ $buf .= "<td>".Util::escapeHTML($_)."</td>";
+ $buf .= "<td>".$self->get_decription($wiki,$_)."</td>";
+ $buf .= "</tr>";
+ }
+
+ $buf .= "</table>\n".
+ "<input type=\"submit\" name=\"SAVE\" value=\" ÊÝ Â¸ \">\n".
+ "<input type=\"reset\" value=\"¥ê¥»¥Ã¥È\">\n".
+ "<input type=\"hidden\" name=\"action\" value=\"ADMINPLUGIN\">\n".
+ "</form>\n";
+
+ return $buf;
+}
+
+#==============================================================================
+# ÀßÄê¤òÊݸ
+#==============================================================================
+sub save_plugin_config {
+ my $self = shift;
+ my $wiki = shift;
+ my $cgi = $wiki->get_CGI;
+
+ my @plugins = $cgi->param("plugin");
+
+ &Util::save_config_text($wiki,$wiki->config('plugin_file'),join("\n",@plugins));
+
+ return $wiki->redirectURL( $wiki->create_url({action=>"ADMINPLUGIN"}) );
+ #return "ÀßÄê¤òÊݸ¤·¤Þ¤·¤¿¡£";
+}
+
+#==============================================================================
+# ¥×¥é¥°¥¤¥ó¤Î°ìÍ÷¤ò¼èÆÀ¤¹¤ë´Ø¿ô
+#==============================================================================
+sub list_plugins {
+ my $self = shift;
+ my $wiki = shift;
+ my @list;
+ opendir(DIR,$wiki->config('plugin_dir')."/plugin") or die $!;
+ while(my $entry = readdir(DIR)){
+ my $path = $wiki->config('plugin_dir')."/plugin/$entry";
+ if(-d $path && $entry ne "." && $entry ne ".."){
+ if(-e "$path/Install.pm"){
+ push(@list,$entry);
+ }
+ }
+ }
+ closedir(DIR);
+
+ @list = sort(@list);
+ return @list;
+}
+
+#==============================================================================
+# Install.pm¤Î¥³¥á¥ó¥È¤ò¼èÆÀ
+#==============================================================================
+sub get_decription {
+ my $self = shift;
+ my $wiki = shift;
+ my $plugin = shift;
+ open(DATA,$wiki->config('plugin_dir')."/plugin/$plugin/Install.pm") or return "<br>";
+ my $flag = 0;
+ my $comment = "";
+ while(<DATA>){
+ if(!/^#/ || /^##/){
+ if($flag==0){ next; } else { last; }
+ }
+ $flag = 1;
+ s/\#+//;
+ s/\={2,}//;
+ s/^\s+//; s/\s+$//;
+ if($_ ne ""){
+ $comment .= $_."\n";
+ }
+ }
+ close(DATA);
+ return $comment;
+}
+
+1;