-
Notifications
You must be signed in to change notification settings - Fork 0
/
rdf.php
76 lines (75 loc) · 2.61 KB
/
rdf.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
require_once('/home/opendatamap/mysql.inc.php');
$params[] = mysql_real_escape_string($_GET['u']);
$params[] = mysql_real_escape_string($_GET['m']);
$q = 'SELECT name, username as corrections, base FROM maps WHERE username = \''.$params[0].'\' AND mapid = \''.$params[1].'\'';
$res = mysql_query($q);
if($row = mysql_fetch_assoc($res))
{
$name = $row['name'];
$corrections = $row['corrections'];
$base = $row['base'];
if($base == '')
$base = "http://opendatamap.ecs.soton.ac.uk/mymap/".$_GET['u']."/".$_GET['m']."#";
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
}
else
{
header('HTTP/1.0 404 Not Found');
die('Map not found.');
}
function addBase($base, $uri)
{
if(preg_match('|://|', $uri))
{
return $uri;
}
else
{
return $base.$uri;
}
}
?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:oo="http://purl.org/openorg/"
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
xmlns:dct="http://purl.org/dc/terms/"
xmlns:cc="http://creativecommons.org/ns"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdf:Description rdf:about="http://opendatamap.ecs.soton.ac.uk/mymap/<?php echo $_GET['u'] ?>/<?php echo $_GET['m'] ?>">
<dct:title><?php echo $name ?></dct:title>
<oo:corrections><?php echo $corrections ?></oo:corrections>
<dct:license rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
<cc:attributionName>Ordnance Survey</cc:attributionName>
<cc:attributionURL rdf:resource="http://www.ordnancesurvey.co.uk/opendata/licence" />
<?php /*
<dct:modified>2010-01-12</dct:modified>
*/ ?>
</rdf:Description>
<?php
$q = 'SELECT uri, name, icon, lat, lon FROM mappoints WHERE username = \''.$params[0].'\' AND map = \''.$params[1].'\' order by `name`';
$res = mysql_query($q);
while($row = mysql_fetch_assoc($res))
{
?>
<rdf:Description rdf:about="<?php echo addBase($base, $row['uri']) ?>">
<rdfs:label><?php echo htmlentities($row['name']) ?></rdfs:label>
<oo:mapIcon rdf:resource="<?php echo $row['icon'] ?>" />
<geo:lat rdf:datatype="http://www.w3.org/2001/XMLSchema#float"><?php echo $row['lat'] ?></geo:lat>
<geo:long rdf:datatype="http://www.w3.org/2001/XMLSchema#float"><?php echo $row['lon'] ?></geo:long>
</rdf:Description>
<?php
}
$q = 'SELECT uri, wkt FROM mappolygons WHERE username = \''.$params[0].'\' AND map = \''.$params[1].'\' order by `uri`';
$res = mysql_query($q);
while($row = mysql_fetch_assoc($res))
{
?>
<rdf:Description rdf:about="<?php echo addBase($base, $row['uri']) ?>">
<dct:spatial><?php echo htmlentities($row['wkt']) ?></dct:spatial>
</rdf:Description>
<?php
}
?>
</rdf:RDF>