]> matita.cs.unibo.it Git - helm.git/blob - helm/graphs/tools/mk_html.pl
Code improvement, same functionalities.
[helm.git] / helm / graphs / tools / mk_html.pl
1 #!/usr/bin/perl
2
3 use URI::Escape;
4
5 print <<EOT;
6 <html>
7  <head>
8   <title>Graph</title>
9
10
11 <script>
12 function setParam(url,name,value)
13 {
14   var urla = url.split("?");
15   var search = urla[1];
16   var args = search.split("&");
17
18   for (var i = 0 ; i < args.length ; i++) {
19      var couple = args[i].split("=");
20      if (couple[0] == name) args[i] = name + "=" + value;
21   }
22
23
24   return (urla[0] + "?" + args.join("&"));
25 }
26
27 function getParam0(search,name)
28 {
29   var args = search.split("&");
30   var value = "???";
31
32   for (var i = 0 ; i < args.length ; i++) {
33      var couple = args[i].split("=");
34      if (couple[0] == name) value = couple[1];
35   }
36
37   if (value == "???") value = getDefaultParam(name);
38
39   return value;
40 }
41
42 function getParam(name)
43 {
44   return getParam0(location.search.slice(1),name);
45 }
46
47 function getParam3(from,name)
48 {
49   //var url = unescape(getParam('xmluri'));
50   //var tmp = url.split("?");
51   var tmp = from.split("?");
52
53   if (tmp.length > 1)
54      return getParam0(tmp[1],name);
55   else
56      return getDefaultParam(name);
57 }
58 </script>
59
60 <script>
61 function mkDepURL(uri)
62 {
63    var iurl = unescape(getParam("url"));
64    var getterURL = getParam3(iurl,"param.getterURL");
65    var interfaceURL = unescape(getParam3(iurl,"param.interfaceURL"));
66    var url = setParam(iurl,"keys","MDG");
67    url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3D" + uri);
68    url = setParam(url,"param.CICURI",uri);
69    url = setParam(url,"param.RDFURI","helm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
70    var draw_graph_url =
71     location.protocol + '//' + location.host + location.pathname;
72    url = draw_graph_url + "?url=" + escape(url);
73    return url;
74 }
75
76 function mkCICURL(uri)
77 {
78    var iurl = unescape(getParam("url"));
79    var getterURL = getParam3(iurl,"param.getterURL");
80    var interfaceURL = unescape(getParam3(iurl,"param.interfaceURL"));
81    var url = setParam(iurl,"keys",getParam3(iurl,"param.keys"));
82    url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3D" + uri);
83    url = setParam(url,"param.CICURI",uri);
84    url = setParam(url,"param.RDFURI","helm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
85    url = interfaceURL + "?url=" + escape(url);
86    return url;
87 }
88
89 function mkMetaURL(uri)
90 {
91    var iurl = unescape(getParam("url"));
92    var getterURL = getParam3(iurl,"param.getterURL");
93    var interfaceURL = unescape(getParam3(iurl,"param.interfaceURL"));
94    var url = setParam(iurl,"keys","MMG");
95    url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3Dhelm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
96    url = setParam(url,"param.CICURI",uri);
97    url = setParam(url,"param.RDFURI","helm:rdf:www.cs.unibo.it/helm/rdf/rdfprova//" + uri);
98    var draw_graph_url =
99     location.protocol + '//' + location.host + location.pathname;
100    url = draw_graph_url + "?url=" + escape(url);
101    return url;
102 }
103 </script>
104
105
106  </head>
107  <body bgcolor="white" onLoad="window.focus()">
108   <script>
109    var draw_graph_url =
110     location.protocol + '//' + location.host;
111    document.write('<img border="false" src="' + draw_graph_url + '/get_gif?pid=$ARGV[0]" usemap="#graphe">');
112   </script>
113   <map name="graphe">
114 EOT
115
116 while (<STDIN>) {
117  my (undef,$point1,$point2,$uri) = split;
118  my ($point1x,$point1y) = split /,/,$point1;
119  my ($point2x,$point2y) = split /,/,$point2;
120  $point1y = substr($point1y,0,-1);
121  $point2y = substr($point2y,0,-1);
122  $point1x = substr($point1x,1);
123  $point2x = substr($point2x,1);
124
125 # Linea corretta se c'e' il menu
126 # print <<EOT;
127 #   <area shape="rect" href="$url" coords="$point1x,$point2y,$point2x,$point1y">
128 #EOT
129
130 # In assenza di menu
131  my $point_1_5_x = $point1x +   ($point2x - $point1x)/5;
132  my $point_2_5_x = $point1x + 2*($point2x - $point1x)/5;
133  my $point_3_5_x = $point1x + 3*($point2x - $point1x)/5;
134  my $point_4_5_x = $point1x + 4*($point2x - $point1x)/5;
135  print <<EOT;
136   <script>
137    document.write('<area shape="rect" href="' + mkDepURL('$uri') + '" coords="$point1x,$point2y,$point_1_5_x,$point1y">');
138   </script>
139 EOT
140  print <<EOT;
141   <script>
142    document.write('<area shape="rect" href="' + mkCICURL('$uri') + '" coords="$point_2_5_x,$point2y,$point_3_5_x,$point1y" target="cic">');
143   </script>
144 EOT
145  print <<EOT;
146   <script>
147    document.write('<area shape="rect" href="' + mkMetaURL('$uri') + '" coords="$point_4_5_x,$point2y,$point2x,$point1y">');
148   </script>
149 EOT
150 }
151
152 print <<EOT;
153    </map>
154   </img>
155  </body>
156 </html>
157 EOT