###################################################################### # #

Googleの検索ボックスを表示します。

#
# {{google}}
# 
#

サイト検索機能を持たせることもできます。

#
# {{google サーバ名}}
# 
#

日本語のページから検索させるための選択を表示することができます。

#
# {{google l}}
# 
#

Menu向けにGoogleロゴとテキストボックスとボタンを縦に配置できます。

#
# {{google v}}
# 
#

検索結果を新しい窓で開くように出来ます。

#
# {{google t}}
# 
#

Googleロゴのサイズと背景色を指定できます。

#
# {{google (25|40|50|60)(wht|gry|blk)}}
# 
#

# 前の数字がサイズ(本来のロゴとの比率)、後ろのアルファベットが # =背景色(wht=白、gry=灰色、blk=黒)になっています。 # 実際のロゴの一覧は、 # =Google ロゴ使用 # を参照してください。 #

#

テキストボックスの幅が指定できます。

#
# {{google s幅}}
# 
#

幅は1〜255の間で指定してください。

#

表示位置の指定が出来ます。

#
# {{google (center|right|left)}}
# 
#

# これらのオプションは併用することもできます。 # カンマで区切って記述してください。順序は任意です。 #

#
# {{google サーバ名,l,v,t,25wht,s幅,center}}
# 
# ###################################################################### package plugin::google::Google; use strict; #===================================================================== # コンストラクタ #===================================================================== sub new { my $class = shift; my $self = {}; return bless $self,$class; } #===================================================================== # パラグラフメソッド #===================================================================== sub paragraph { my $self = shift; my $wiki = shift; my @args = @_; my $error = undef; my $logo = '40wht'; my $domain = undef; my $lang = undef; my $size = 31; my $align = "center"; my $target = ''; my $vertical_br = ''; my $logolist = '|25wht|40wht|50wht|60wht|25gry|40gry|50gry|60gry|25blk|40blk|50blk|60blk|'; foreach my $arg (@args) { $arg = Util::trim($arg); if (index($logolist, '|' . lc($arg) . '|') >= 0) { $logo = lc($arg); } elsif (lc($arg) eq 'v') { $vertical_br = '
'; } elsif (lc($arg) eq 'l') { $lang = 1; } elsif (lc($arg) eq 't') { $target = 'target=blank'; } elsif ($arg =~ /^s([0-9]+)/) { $size = $1; if (($size < 1) || ($size > 255)) { $error = 'サイズは1〜255で指定してください。'; } } elsif ($arg =~ /(center|right|left)/) { $align = $1; } else { if (defined($domain)) { $error = 'ドメインが複数指定されています。'; } elsif (($arg eq '') || ($arg =~ /[^-0-9A-Za-z.]/)) { $error = 'ドメイン名に使用できない文字があります。'; } else { $domain = $arg; } } } return &Util::paragraph_error($error) if defined($error); if ($vertical_br ne '') { my $siteoption = ''; $siteoption .= <<"EOD" if defined($domain);
WWW ${domain} EOD $siteoption .= <<"EOD" if defined($lang);
ウェブ全体 日本語 EOD $siteoption = "${siteoption}" if $siteoption ne ''; return <<"EOD";
Google
${siteoption}
EOD } else { my $siteoption = ''; $siteoption .= <<"EOD" if defined($domain);
WWW を検索 ${domain} を検索 EOD $siteoption .= <<"EOD" if defined($lang);
ウェブ全体から検索 日本語のページを検索 EOD $siteoption = "${siteoption}" if $siteoption ne ''; return <<"EOD";
Google ${siteoption}
EOD } } 1;