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

添付ファイルへのアンカを表示します。

#
# {{ref ファイル名}}
# 
#

別のページに添付されたファイルを参照することもできます。

#
# {{ref ファイル名,ページ名}}
# 
#

# 通常はアンカとしてファイル名が表示されますが、 # 別名として任意の文字列を表示することもできます。 #

#
# {{ref ファイル名,ページ名,別名}}
# 
# ############################################################ package plugin::attach::Ref; use strict; use plugin::attach::AttachHandler; #=========================================================== # コンストラクタ #=========================================================== sub new { my $class = shift; my $self = {}; return bless $self,$class; } #=========================================================== # インライン関数 #=========================================================== sub inline { my $self = shift; my $wiki = shift; my $file = shift; my $page = shift; my $alias = shift; if($file eq ""){ return &Util::inline_error("ファイルが指定されていません。"); } if($page eq ""){ $page = $wiki->get_CGI()->param("page"); } unless($wiki->can_show($page)){ return &Util::paragraph_error("ページの参照権限がありません。","WIKI"); } if($alias eq ""){ $alias = $file; } my $filename = $wiki->config('attach_dir')."/".&Util::url_encode($page).".".&Util::url_encode($file); if(-e $filename){ my $buf = "config('script_name')."?action=ATTACH&page=". &Util::url_encode($page)."&file=".&Util::url_encode($file)."\">".&Util::escapeHTML($alias).""; # ダウンロード回数を取得 my $count = Util::load_config_hash(undef,$wiki->config('log_dir')."/".$wiki->config('download_count_file')); if(defined($count->{$page."::".$file})){ $buf .= "(".$count->{$page."::".$file}.")"; } else { $buf .= "(0)"; } return $buf; } else { return &Util::inline_error("ファイルが存在しません。"); } } 1;