OSDN Git Service

改行コードをLFに統一。
[fswiki/fswiki.git] / plugin / info / PluginHelpHandler.pm
1 ##############################################################
2 #
3 # PluginHelp¤Î¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é¡£
4 #
5 ##############################################################
6 package plugin::info::PluginHelpHandler;
7 use strict;
8 #=============================================================
9 # ¥³¥ó¥¹¥È¥é¥¯¥¿
10 #=============================================================
11 sub new {
12     my $class = shift;
13     my $self = {};
14     return bless $self,$class;
15 }
16
17 #=============================================================
18 # ¥¢¥¯¥·¥ç¥ó¥Ï¥ó¥É¥é¥á¥½¥Ã¥É
19 #=============================================================
20 sub do_action {
21         my $self = shift;
22         my $wiki = shift;
23         my $cgi  = $wiki->get_CGI;
24         my $name   = $cgi->param("name");
25         my $plugin = $cgi->param("plugin");
26         my $comment = &get_comment($wiki,$plugin);
27         
28         $wiki->set_title(&Util::escapeHTML($name)."¥×¥é¥°¥¤¥ó");
29         return $comment;
30 }
31
32 #=============================================================
33 # ¥³¥á¥ó¥È¤ò¼èÆÀ¤¹¤ë¥á¥½¥Ã¥É
34 #=============================================================
35 sub get_comment {
36         my $wiki   = shift;
37         my $plugin = shift;
38         my $comment = "";
39         my $fname = $wiki->config("plugin_dir").'/'.&Util::get_module_file($plugin);
40         open(MODULE,$fname) || die "$fname¤Î¥ª¡¼¥×¥ó¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£";
41         my $comment = "";
42         my $flag = 0;
43         while(<MODULE>){
44                 if(!/^#/ || /^##/){
45                         if($flag==0){ next; } else { last; }
46                 }
47                 $flag = 1;
48                 s/\#+//;
49                 s/\={2,}//;
50                 s/^\s+//; s/\s+$//;
51                 if($_ ne ""){
52                         $comment .= $_."\n";
53                 }
54         }
55         close(MODULE);
56         return $comment;
57 }
58
59 1;