+ my ($fileurl, $imgurl);
+ if (! $params{preview}) {
+ $fileurl=urlto($file, $params{destpage});
+ $imgurl=urlto($imglink, $params{destpage});
+ }
+ else {
+ $fileurl="$config{url}/$file";
+ $imgurl="$config{url}/$imglink";
+ }
+
+ my $imgtag='<img src="'.$imgurl.
+ '" width="'.$dwidth.
+ '" height="'.$dheight.'"'.
+ (exists $params{alt} ? ' alt="'.$params{alt}.'"' : '').
+ (exists $params{title} ? ' title="'.$params{title}.'"' : '').
+ (exists $params{class} ? ' class="'.$params{class}.'"' : '').
+ (exists $params{id} ? ' id="'.$params{id}.'"' : '').
+ ' />';
+
+ if (! defined $params{link} || lc($params{link}) eq 'yes') {
+ if (exists $params{caption} || !exists $params{align}) {
+ $imgtag='<a href="'.$fileurl.'">'.$imgtag.'</a>';
+ }
+ else {
+ $imgtag='<a href="'.$fileurl.'" class="align-'.$params{align}.'">'.$imgtag.'</a>';
+ }
+ }
+ elsif ($params{link} =~ /^\w+:\/\//) {
+ if (exists $params{caption} || !exists $params{align}) {
+ $imgtag='<a href="'.$params{link}.'">'.$imgtag.'</a>';
+ }
+ else {
+ $imgtag='<a href="'.$params{link}.'" class="align-'.$params{align}.'">'.$imgtag.'</a>';
+ }
+ }
+ else {
+ my $b = bestlink($params{page}, $params{link});
+
+ if (length $b) {
+ add_depends($params{page}, $b, deptype("presence"));
+ $imgtag=htmllink($params{page}, $params{destpage},
+ $params{link}, linktext => $imgtag,
+ noimageinline => 1,
+ (exists $params{caption} || !exists $params{align}) ?
+ () : (class => 'align-'.$params{align}));
+ }
+ }