."this.elements['msghtml'].value='';"
."this.submit();"
.'">'."\n";
- print '<p align="center">'."\n";
+ print '<p align="right">'."\n";
print '<input name="msgscript" type="hidden" />'."\n";
print '<input name="msghtml" type="text" size="32" alt="Message" />'."\n";
print '<input name="submit" type="submit" value="Quick Note" />'."\n";
# As 'Apache::ForwardedFor' takes the first of $ENV{"HTTP_X_FORWARDED_FOR"}
# while the contents is '127.0.0.1, 213.220.195.171' if client has its own proxy.
# We must take the last item ourselves.
- my $r=$ENV{"HTTP_X_FORWARDED_FOR"} || $W->{"r"}->remote_host();
+ my $r=$ENV{"HTTP_X_FORWARDED_FOR"} || $W->{"r"}->get_remote_host();
$r=~s/^.*,\s*//;
return $r;
}
);
my $img_variants_re='[.](?:'.join('|',map(($_->{"id"}),@img_variants)).')$';
+sub img_src ($)
+{
+my($file_base)=@_;
+
+ return $file_base if !url_is_local($file_base)
+ # Known image extension?
+ || $file_base=~m#$img_variants_re#o;
+
+ my @nego_variants;
+ for my $var (@img_variants) {
+ my $file=$file_base.".".$var->{"id"};
+ # TODO: Somehow quickly check dependencies?
+ system 'make >&2 -s --no-print-directory'
+ .' -C '."'".File::Basename::dirname($file)."' '".File::Basename::basename($file)."'";
+# if !-f $file;
+ push @nego_variants,negotiate_variant(
+ %$var,
+ "size"=>(stat $file)[7],
+ );
+ }
+ # Do not: ,$W->{"r"});
+ # but should we provide somehow either 'HTTP::Headers' or 'HTTP::Request' ?
+ my $ext=HTTP::Negotiate::choose(\@nego_variants);
+ $ext||=$img_variants[0]->{"id"}; # &HTTP::Negotiate::choose failed?
+ return $file_base.".".$ext;
+}
+
sub img ($$;$)
{
my($file_base,$alt,$attrs)=@_;
- my $file;
- if (url_is_local($file_base)
- # No known image extension?
- && $file_base!~m#$img_variants_re#o) {
- my @nego_variants;
- for my $var (@img_variants) {
- $file=$file_base.".".$var->{"id"};
- # TODO: Somehow quickly check dependencies?
- system 'make >&2 -s --no-print-directory'
- .' -C '."'".File::Basename::dirname($file)."' '".File::Basename::basename($file)."'";
-# if !-f $file;
- push @nego_variants,negotiate_variant(
- %$var,
- "size"=>(stat $file)[7],
- );
- }
- # Do not: ,$W->{"r"});
- # but should we provide somehow either 'HTTP::Headers' or 'HTTP::Request' ?
- my $ext=HTTP::Negotiate::choose(\@nego_variants);
- $ext||=$img_variants[0]->{"id"}; # &HTTP::Negotiate::choose failed?
- $file=$file_base.".".$ext;
- }
- else
- { $file=$file_base; }
+ my $file=img_src $file_base;
my($width,$height)=Image::Size::imgsize($file);
$alt=CGI::escapeHTML($alt);
return "<img src=\"$file\" alt=\"$alt\" title=\"$alt\" ".img_size($width,$height)