diff options
-rwxr-xr-x | showdependencygraph.cgi | 24 | ||||
-rw-r--r-- | template/en/default/bug/dependency-graph.html.tmpl | 16 |
2 files changed, 34 insertions, 6 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. diff --git a/template/en/default/bug/dependency-graph.html.tmpl b/template/en/default/bug/dependency-graph.html.tmpl index 93c515bd8..3266f5fd7 100644 --- a/template/en/default/bug/dependency-graph.html.tmpl +++ b/template/en/default/bug/dependency-graph.html.tmpl @@ -27,7 +27,9 @@ # rankdir: string. "TB" if we are ranking top-to-bottom, "LR" if left-to-right. # image_url: string. The URL of the graphic showing the dependencies. - # map_url: string. The URL of the map file for the image. + # map_url: string. The URL of the map file for the image. (Optional) + # image_map: string. The image map for the graphic showing the + dependencies. (Optional) #%] [% title = "Dependency Graph" @@ -42,13 +44,19 @@ [% PROCESS global/header.html.tmpl %] +[% image_map %] + <p> Green circles represent open bugs. </p> -<a href="[% map_url %]"> - <img src="[% image_url %]" ismap> -</a> +[% IF image_map %] + <img src="[% image_url %]" usemap="#imagemap"> +[% ELSE %] + <a href="[% map_url %]"> + <img src="[% image_url %]" ismap> + </a> +[% END %] <hr> |