plugin => {
safe => 1,
rebuild => undef,
+ section => "widget",
},
}
my ($x, $y, $color, $diameter, $text, $location)=
split(/\s*,\s*/, $value);
if (! defined $diameter || $diameter < 0) {
- error gettext("bad featurepoint diameter");
+ error gettext("invalid featurepoint diameter");
}
$x=int($x);
$y=int($y);
if (defined $location) {
$location=$locmap{$location};
if (! defined $location) {
- error gettext("bad featurepoint location");
+ error gettext("invalid featurepoint location");
}
}
$php.=qq{\$sparkline->SetFeaturePoint($x, $y, '$color', $diameter};
my $height=int($params{height} || 20);
if ($height < 2 || $height > 100) {
- error gettext("bad height value");
+ error gettext("invalid height value");
}
if ($style eq "Bar") {
$php.=qq{\$sparkline->Render($height);\n};
}
my $width=int($params{width});
if ($width < 2 || $width > 1024) {
- error gettext("bad width value");
+ error gettext("invalid width value");
}
$php.=qq{\$sparkline->RenderResampled($width, $height);\n};
}
# Use the sha1 of the php code that generates the sparkline as
# the base for its filename.
- eval q{use Digest::SHA1};
+ eval q{use Digest::SHA};
error($@) if $@;
my $fn=$params{page}."/sparkline-".
- IkiWiki::possibly_foolish_untaint(Digest::SHA1::sha1_hex($php)).
+ IkiWiki::possibly_foolish_untaint(Digest::SHA::sha1_hex($php)).
".png";
will_render($params{page}, $fn);
waitpid $pid, 0;
$SIG{PIPE}="DEFAULT";
- if ($sigpipe) {
+ if ($sigpipe || ! defined $png) {
error gettext("failed to run php");
}
writefile($fn, $config{destdir}, $png, 1);
}
else {
- # can't write the file, so embed it in a data uri
+ # in preview mode, embed the image in a data uri
+ # to avoid temp file clutter
eval q{use MIME::Base64};
error($@) if $@;
return "<img src=\"data:image/png;base64,".