OSDN Git Service

レビュー用に追加、削除を示すためのプラグインを追加。
[fswiki/sandbox.git] / takezoe / plugin / book / Memolist.pm
1 ################################################################################
2 #
3 # <p>memo¥×¥é¥°¥¤¥ó¤Çµ­½Ò¤·¤¿¥á¥â¤Î°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£</p>
4 # <pre>
5 # {{memolist}}
6 # </pre>
7 #
8 ################################################################################
9 package plugin::book::Memolist;
10 #==============================================================================
11 # ¥³¥ó¥¹¥È¥é¥¯¥¿
12 #==============================================================================
13 sub new {
14         my $class = shift;
15         my $self = {};
16         return bless $self,$class;
17 }
18
19 #==============================================================================
20 # ¥Ñ¥é¥°¥é¥Õ¥á¥½¥Ã¥É
21 #==============================================================================
22 sub paragraph {
23         my $self   = shift;
24         my $wiki   = shift;
25         my $plugin = $wiki->get_plugin_instance('plugin::book::Memo');
26         
27         my $buf = '';
28         my $count = 1;
29         
30         my @paths = split(/\//, $wiki->get_CGI()->path_info());
31         my $path_prefix = '';
32         for(my $i = 0; $i < $#paths; $i++){
33                 $path_prefix .= '../';
34         }
35         
36         foreach my $memo (@{$plugin->{'memolist'}}){
37                 $buf .= '<li><a href="#todo-'.$count.'">';
38                 $icon = '';
39                 if($memo =~ /^\[comment\]/){
40                         $icon = 'comment.png';
41                 } elsif($memo =~ /^\[add\]/){
42                         $icon = 'add.png';
43                 } elsif($memo =~ /^\[delete\]/){
44                         $icon = 'delete.png';
45                 }
46                 if($icon ne ''){
47                         $buf .= '<img src="'.$path_prefix.'plugin/book/icons/'.$icon.'" style="border: 0px; position: relative; top: 4px; padding-right: 2px;">';
48                         $memo =~ s/^\[.+?\]//;
49                 }
50                 $buf .= Util::escapeHTML($memo).'</a></li>';
51                 $count++;
52         }
53         
54         if($buf eq ''){
55                 return '<p>¥á¥â¤Ï¤¢¤ê¤Þ¤»¤ó</p>';
56         } else {
57                 return '<ol>'.$buf.'</ol>';
58         }
59 }
60
61 1;