summaryrefslogtreecommitdiffstats
path: root/showdependencygraph.cgi
diff options
context:
space:
mode:
authorbbaetz%student.usyd.edu.au <>2002-05-07 18:14:35 +0200
committerbbaetz%student.usyd.edu.au <>2002-05-07 18:14:35 +0200
commitb8465474ad9cc187ba020b16609ff6a1933d4e17 (patch)
tree5facd566b8459ee1da3cdf13ebb5959dd2e8353d /showdependencygraph.cgi
parent04fd648fa95c624466fd1ba626fa4ef02c089a72 (diff)
downloadbugzilla-b8465474ad9cc187ba020b16609ff6a1933d4e17.tar.gz
bugzilla-b8465474ad9cc187ba020b16609ff6a1933d4e17.tar.xz
Bug 134571 - client-side image maps in showdependencygraph.cgi
Patch by zeroJ@null.net (John Vandenberg), r=bbaetz, justdave
Diffstat (limited to 'showdependencygraph.cgi')
-rwxr-xr-xshowdependencygraph.cgi24
1 files changed, 22 insertions, 2 deletions
diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi
index dbde0edc8..4df71ac49 100755
--- a/showdependencygraph.cgi
+++ b/showdependencygraph.cgi
@@ -37,6 +37,26 @@ use vars qw($template $vars $userid $usergroupset);
my %seen;
my %edgesdone;
+sub CreateImagemap {
+ my $mapfilename = shift;
+ my $map = "<map name=\"imagemap\">\n";
+ my $default;
+
+ open MAP, "<$mapfilename";
+ while(my $line = <MAP>) {
+ if($line =~ /^default ([^ ]*)(.*)$/) {
+ $default = qq{<area shape="default" href="$1">\n};
+ }
+ if ($line =~ /^rectangle \((.*),(.*)\) \((.*),(.*)\) (http[^ ]*)(.*)?$/) {
+ $map .= qq{<area name="bug$6" shape="rect" href="$5" coords="$1,$4,$3,$2">\n};
+ }
+ }
+ close MAP;
+
+ $map .= "$default</map>";
+ return $map;
+}
+
sub AddLink {
my ($blocked, $dependson) = (@_);
my $key = "$blocked,$dependson";
@@ -162,9 +182,9 @@ if ($webdotbase =~ /^https?:/) {
my $pngfilename = "data/webdot/$$.png";
my $mapfilename = "data/webdot/$$.map";
system("$webdotbase","-Tpng","-o","$pngfilename","$filename");
- system("$webdotbase","-Timap","-o","$mapfilename","$filename");
$vars->{'image_url'} = $pngfilename;
- $vars->{'map_url'} = $mapfilename;
+ system("$webdotbase","-Tismap","-o","$mapfilename","$filename");
+ $vars->{'image_map'} = CreateImagemap($mapfilename);
}
# Cleanup any old .dot files created from previous runs.