diff options
author | bbaetz%student.usyd.edu.au <> | 2002-05-07 18:14:35 +0200 |
---|---|---|
committer | bbaetz%student.usyd.edu.au <> | 2002-05-07 18:14:35 +0200 |
commit | b8465474ad9cc187ba020b16609ff6a1933d4e17 (patch) | |
tree | 5facd566b8459ee1da3cdf13ebb5959dd2e8353d /showdependencygraph.cgi | |
parent | 04fd648fa95c624466fd1ba626fa4ef02c089a72 (diff) | |
download | bugzilla-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-x | showdependencygraph.cgi | 24 |
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. |