OSDN Git Service

(no commit message)
[fswiki/fswiki.git] / plugin / google / Google.pm
1 ######################################################################\r
2 #\r
3 # <p>Google¤Î¸¡º÷¥Ü¥Ã¥¯¥¹¤òɽ¼¨¤·¤Þ¤¹¡£</p>\r
4 # <pre>\r
5 # {{google}}\r
6 # </pre>\r
7 # <p>¥µ¥¤¥È¸¡º÷µ¡Ç½¤ò»ý¤¿¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</p>\r
8 # <pre>\r
9 # {{google ¥µ¡¼¥Ð̾}}\r
10 # </pre>\r
11 # <p>ÆüËܸì¤Î¥Ú¡¼¥¸¤«¤é¸¡º÷¤µ¤»¤ë¤¿¤á¤ÎÁªÂò¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</p>\r
12 # <pre>\r
13 # {{google l}}\r
14 # </pre>\r
15 # <p>Menu¸þ¤±¤ËGoogle¥í¥´¤È¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤È¥Ü¥¿¥ó¤ò½Ä¤ËÇÛÃ֤Ǥ­¤Þ¤¹¡£</p>\r
16 # <pre>\r
17 # {{google v}}\r
18 # </pre>\r
19 # <p>¸¡º÷·ë²Ì¤ò¿·¤·¤¤Áë¤Ç³«¤¯¤è¤¦¤Ë½ÐÍè¤Þ¤¹¡£</p>\r
20 # <pre>\r
21 # {{google t}}\r
22 # </pre>\r
23 # <p>Google¥í¥´¤Î¥µ¥¤¥º¤ÈÇØ·Ê¿§¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£</p>\r
24 # <pre>\r
25 # {{google (25|40|50|60)(wht|gry|blk)}}\r
26 # </pre>\r
27 # <p>\r
28 #   Á°¤Î¿ô»ú¤¬¥µ¥¤¥º(ËÜÍè¤Î¥í¥´¤È¤ÎÈæΨ)¡¢¸å¤í¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤¬\r
29 #   =ÇØ·Ê¿§(wht=Çò¡¢gry=³¥¿§¡¢blk=¹õ)¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£\r
30 #   ¼ÂºÝ¤Î¥í¥´¤Î°ìÍ÷¤Ï¡¢\r
31 #   =<a href='http://www.google.co.jp/intl/ja/logos.html'>Google ¥í¥´»ÈÍÑ</a>\r
32 #   ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£\r
33 # </p>\r
34 # <p>¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤ÎÉý¤¬»ØÄê¤Ç¤­¤Þ¤¹¡£</p>\r
35 # <pre>\r
36 # {{google sÉý}}\r
37 # </pre>\r
38 # <p>Éý¤Ï1¡Á255¤Î´Ö¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</p>\r
39 # <p>ɽ¼¨°ÌÃ֤λØÄ꤬½ÐÍè¤Þ¤¹¡£</p>\r
40 # <pre>\r
41 # {{google (center|right|left)}}\r
42 # </pre>\r
43 # <p>\r
44 #   ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÏÊ»ÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£\r
45 #   ¥«¥ó¥Þ¤Ç¶èÀڤäƵ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£½ç½ø¤ÏǤ°Õ¤Ç¤¹¡£\r
46 # </p>\r
47 # <pre>\r
48 # {{google ¥µ¡¼¥Ð̾,l,v,t,25wht,sÉý,center}}\r
49 # </pre>\r
50 #\r
51 ######################################################################\r
52 package plugin::google::Google;\r
53 use strict;\r
54 \r
55 #=====================================================================\r
56 # ¥³¥ó¥¹¥È¥é¥¯¥¿\r
57 #=====================================================================\r
58 sub new {\r
59         my $class = shift;\r
60         my $self = {};\r
61         return bless $self,$class;\r
62 }\r
63 \r
64 #=====================================================================\r
65 # ¥Ñ¥é¥°¥é¥Õ¥á¥½¥Ã¥É\r
66 #=====================================================================\r
67 sub paragraph {\r
68         my $self = shift;\r
69         my $wiki = shift;\r
70         my @args = @_;\r
71 \r
72         my $error = undef;\r
73         my $logo = '40wht';\r
74         my $domain = undef;\r
75         my $lang = undef;\r
76         my $size = 31;\r
77         my $align = "center";\r
78         my $target = '';\r
79         my $vertical_br = '';\r
80         my $logolist = '|25wht|40wht|50wht|60wht|25gry|40gry|50gry|60gry|25blk|40blk|50blk|60blk|';\r
81 \r
82         foreach my $arg (@args) {\r
83                 $arg = Util::trim($arg);\r
84                 if (index($logolist, '|' . lc($arg) . '|') >= 0) {\r
85                         $logo = lc($arg);\r
86                 } elsif (lc($arg) eq 'v') {\r
87                         $vertical_br = '<br>';\r
88                 } elsif (lc($arg) eq 'l') {\r
89                         $lang = 1;\r
90                 } elsif (lc($arg) eq 't') {\r
91                         $target = 'target=blank';\r
92                 } elsif ($arg =~ /^s([0-9]+)/) {\r
93                         $size = $1;\r
94                         if (($size < 1) || ($size > 255)) {\r
95                                 $error = '¥µ¥¤¥º¤Ï1¡Á255¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£';\r
96                         }\r
97                 } elsif ($arg =~ /(center|right|left)/) {\r
98                         $align = $1;\r
99                 } else {\r
100                         if (defined($domain)) {\r
101                                 $error = '¥É¥á¥¤¥ó¤¬Ê£¿ô»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£';\r
102                         } elsif (($arg eq '') || ($arg =~ /[^-0-9A-Za-z.]/)) {\r
103                                 $error = '¥É¥á¥¤¥ó̾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬¤¢¤ê¤Þ¤¹¡£';\r
104                         } else {\r
105                                 $domain = $arg;\r
106                         }\r
107                 }\r
108         }\r
109         return &Util::paragraph_error($error) if defined($error);\r
110 \r
111         if ($vertical_br ne '') {\r
112                 my $siteoption = '';\r
113 \r
114                 $siteoption .= <<"EOD" if defined($domain);\r
115 <input type=hidden name=domains value="${domain}"><br><input type=radio name=sitesearch value="">WWW <input type=radio name=sitesearch value="${domain}" checked>${domain}\r
116 EOD\r
117 \r
118                 $siteoption .= <<"EOD" if defined($lang);\r
119 <br><input type=radio name=lr value="" checked>¥¦¥§¥ÖÁ´ÂΠ<input type=radio name=lr value=lang_ja >ÆüËܸì\r
120 EOD\r
121 \r
122                 $siteoption = "<font size=-1>${siteoption}</font>" if $siteoption ne '';\r
123 \r
124                 return <<"EOD";\r
125 <!-- Google  -->\r
126 <div class="plugin_google" align="$align">\r
127 <form method=GET action="http://www.google.co.jp/search" $target>\r
128 <a href="http://www.google.co.jp/"><IMG SRC="http://www.google.com/logos/Logo_${logo}.gif" border="0" ALT="Google" align="absmiddle"></a> <INPUT type=submit name=btnG VALUE="¸¡º÷"><input type=hidden name=hl value="ja"><input type=hidden name=ie value="EUC-JP"><br>\r
129 <INPUT TYPE=text name=q size=${size} maxlength=255 value="">${siteoption}\r
130 </form>\r
131 </div>\r
132 <!-- Google -->\r
133 EOD\r
134         } else {\r
135                 my $siteoption = '';\r
136 \r
137                 $siteoption .= <<"EOD" if defined($domain);\r
138 <input type=hidden name=domains value="${domain}"><br><input type=radio name=sitesearch value=""> WWW ¤ò¸¡º÷ <input type=radio name=sitesearch value="${domain}" checked> ${domain} ¤ò¸¡º÷\r
139 EOD\r
140 \r
141                 $siteoption .= <<"EOD" if defined($lang);\r
142 <br><input type=radio name=lr value="" checked>¥¦¥§¥ÖÁ´ÂΤ«¤é¸¡º÷ <input type=radio name=lr value=lang_ja >ÆüËܸì¤Î¥Ú¡¼¥¸¤ò¸¡º÷\r
143 EOD\r
144 \r
145                 $siteoption = "<font size=-1>${siteoption}</font>" if $siteoption ne '';\r
146 \r
147                 return <<"EOD";\r
148 <!-- Google  -->\r
149 <div class="plugin_google" align="$align">\r
150 <FORM method=GET action="http://www.google.co.jp/search" $target>\r
151 <TABLE style="border: none"><tr><td  style="border: none" align=center>\r
152 <A HREF="http://www.google.co.jp/">\r
153 <IMG SRC="http://www.google.com/logos/Logo_${logo}.gif" \r
154 border="0" ALT="Google" align="absmiddle"></A>\r
155 </td>\r
156 <td  style="border: none" align=center>\r
157 <INPUT TYPE=text name=q size=${size} maxlength=255 value="">\r
158 <input type=hidden name=hl value="ja">\r
159 <input type=hidden name=ie value="EUC-JP">\r
160 <INPUT type=submit name=btnG VALUE="Google¸¡º÷">${siteoption}\r
161 </td></tr></TABLE>\r
162 </FORM>\r
163 </div>\r
164 <!-- Google -->\r
165 EOD\r
166         }\r
167 }\r
168 \r
169 1;\r