);
sub import { #{{{
+ hook(type => "getsetup", id => "sparkline", call => \&getsetup);
hook(type => "preprocess", id => "sparkline", call => \&preprocess);
} # }}}
+sub getsetup () { #{{{
+ return
+ plugin => {
+ safe => 1,
+ rebuild => undef,
+ },
+} #}}}
+
sub preprocess (@) { #{{{
my %params=@_;
}
}
elsif (! length $value) {
- return "[[sparkline ".gettext("parse error")." \"$key\"]]";
+ error gettext("parse error")." \"$key\"";
}
elsif ($key eq 'featurepoint') {
my ($x, $y, $color, $diameter, $text, $location)=
split(/\s*,\s*/, $value);
if (! defined $diameter || $diameter < 0) {
- return "[[sparkline ".gettext("bad featurepoint diameter")."]]";
+ error gettext("bad featurepoint diameter");
}
$x=int($x);
$y=int($y);
if (defined $location) {
$location=$locmap{$location};
if (! defined $location) {
- return "[[sparkline ".gettext("bad featurepoint location")."]]";
+ error gettext("bad featurepoint location");
}
}
$php.=qq{\$sparkline->SetFeaturePoint($x, $y, '$color', $diameter};
}
if ($c eq 0) {
- return "[[sparkline ".gettext("missing values")."]]";
+ error gettext("missing values");
}
my $height=int($params{height} || 20);
if ($height < 2 || $height > 100) {
- return "[[sparkline ".gettext("bad height value")."]]";
+ error gettext("bad height value");
}
if ($style eq "Bar") {
$php.=qq{\$sparkline->Render($height);\n};
}
else {
if (! exists $params{width}) {
- return "[[sparkline ".gettext("missing width parameter")."]]";
+ error gettext("missing width parameter");
}
my $width=int($params{width});
if ($width < 2 || $width > 1024) {
- return "[[sparkline ".gettext("bad width value")."]]";
+ error gettext("bad width value");
}
$php.=qq{\$sparkline->RenderResampled($width, $height);\n};
}
waitpid $pid, 0;
$SIG{PIPE}="DEFAULT";
if ($sigpipe) {
- return "[[sparkline ".gettext("failed to run php")."]]";
+ error gettext("failed to run php");
}
if (! $params{preview}) {