svn commit: r956 - trunk/mapbender/http/php/mod_layerMetadata.php

christoph at osgeo.org christoph at osgeo.org
Thu Nov 23 10:03:04 EST 2006


Author: christoph
Date: 2006-11-23 15:03:04+0000
New Revision: 956

Added:
   trunk/mapbender/http/php/mod_layerMetadata.php

Log:
new version from Geoportal-RLP

Added: trunk/mapbender/http/php/mod_layerMetadata.php
Url: https://mapbender.osgeo.org/source/browse/mapbender/trunk/mapbender/http/php/mod_layerMetadata.php?view=auto&rev=956
==============================================================================
--- (empty file)
+++ trunk/mapbender/http/php/mod_layerMetadata.php	2006-11-23 15:03:04+0000
@@ -0,0 +1,196 @@
+<?php
+# $Id: mod_layerMetadata.php 235 2006-05-11 08:34:48Z uli $
+# http://www.mapbender.org/index.php/Administration
+# Copyright (C) 2002 CCGIS 
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+require_once("../../conf/mapbender.conf");
+$con = db_connect(DBSERVER,OWNER,PW);
+db_select_db(DB,$con);
+
+function display_text($string) {
+    $string = eregi_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\" target=_blank>\\0</a>", $string);   
+    $string = eregi_replace("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*\.)+[a-z]{2}([zmuvtg]|fo|me)?$", "<a href=\"mailto:\\0\" target=_blank>\\0</a>", $string);   
+    $string = eregi_replace("\n", "<br>", $string);
+    return $string;
+}  
+
+function getEpsgByLayerId ($layer_id) { // from merge_layer.php
+	$epsg_list = "";
+	$sql = "SELECT DISTINCT epsg FROM layer_epsg WHERE fkey_layer_id = $1";
+	$v = array($layer_id);
+	$t = array('i');
+	$res = db_prep_query($sql, $v, $t);
+	while($row = db_fetch_array($res)){
+		$epsg_list .= $row['epsg'] . " ";
+	}
+	return trim($epsg_list);
+}
+?>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
+	<head>
+		<title>GeoPortal Rheinland-Pfalz - Metadaten</title>
+		<meta name="description" content="Metadaten" xml:lang="de" />
+		<meta name="keywords" content="Metadaten" xml:lang="de" />		
+		<meta http-equiv="cache-control" content="no-cache">
+		<meta http-equiv="pragma" content="no-cache">
+		<meta http-equiv="expires" content="0">
+		<meta http-equiv="content-language" content="de" />
+		<meta http-equiv="content-style-type" content="text/css" />		
+<?php
+	echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';	
+?>
+		<link rel="stylesheet" type="text/css" href="../../../portal/fileadmin/design/css/screen.css" media="screen" />
+		<link rel="stylesheet" type="text/css" href="../../../portal/fileadmin/design/css/print.css" media="print" />
+	</head>
+	<body id="top" class="popup">
+
+	
+	<div id="header_gray">
+	<a href="javascript:window.print()">Drucken <img src="../../../portal/fileadmin/design/images/icon_print.gif" width="14" height="14" alt="" /></a>
+	<a href="javascript:window.close()">Fenster schlie&szlig;en <img src="../../../portal/fileadmin/design/images/icon_close.gif" width="14" height="14" alt="" /></a>
+	</div>
+	<div id="header_redbottom"></div>
+	<div id="header_red"></div>
+	
+	<div class="content">
+<?php
+	$layer_id = $_GET['id'];
+	$wms_getmap = urldecode($_GET['wms']); 
+	$layer_name = urldecode($_GET['name']); 
+	
+	if ($layer_id) {
+		$sql = "SELECT ";
+		$sql .= "layer.layer_id, layer.layer_title, layer.layer_abstract, layer.layer_pos, layer.layer_parent, layer.layer_minscale, layer.layer_maxscale, ";
+		$sql .= "wms.wms_title, wms.wms_abstract, wms.wms_id, wms.fees, wms.accessconstraints, wms.contactperson, ";
+		$sql .= "wms.contactposition, wms.contactorganization, wms.address, wms.city, wms_timestamp, wms_owner, ";
+		$sql .= "wms.stateorprovince, wms.postcode, wms.contactvoicetelephone, wms.contactfacsimiletelephone, ";
+		$sql .= "wms.contactelectronicmailaddress, wms.country ";
+		$sql .= "FROM layer, wms WHERE layer.layer_id = $1 AND layer.fkey_wms_id = wms.wms_id LIMIT 1";
+		$v = array($layer_id);
+		$t = array('i');
+	}
+	else if ($wms_getmap && $layer_name) {
+		$sql = "SELECT ";
+		$sql .= "layer.layer_id, layer.layer_title, layer.layer_abstract, layer.layer_pos, layer.layer_parent, layer.layer_minscale, layer.layer_maxscale, ";
+		$sql .= "wms.wms_title, wms.wms_abstract, wms.wms_id, wms.fees, wms.accessconstraints, wms.contactperson, ";
+		$sql .= "wms.contactposition, wms.contactorganization, wms.address, wms.city, wms_timestamp, wms_owner, ";
+		$sql .= "wms.stateorprovince, wms.postcode, wms.contactvoicetelephone, wms.contactfacsimiletelephone, ";
+		$sql .= "wms.contactelectronicmailaddress, wms.country ";
+		$sql .= "FROM layer, wms WHERE layer.layer_pos <> 0 AND layer.layer_name = $1 AND layer.fkey_wms_id = wms.wms_id AND wms.wms_getmap LIKE $2 LIMIT 1";
+		$v = array($layer_name, $wms_getmap."%");
+		$t = array('s', 's');
+	}
+	else die();
+	$res = db_prep_query($sql,$v,$t);
+	echo db_error();
+	$layer = array();
+	$row = db_fetch_array($res);
+	$layer_id = $row['layer_id'];
+
+	$sql_p = "SELECT * FROM layer_preview WHERE fkey_layer_id = $1 LIMIT 1";
+	$v_p = array($layer_id);
+	$t_p = array('i');
+	$res_p = db_prep_query($sql_p, $v_p, $t_p);
+	$row_p = db_fetch_array($res_p);
+	if ($row_p['layer_map_preview'] != "") {
+		$layer['Voransicht'] = "<img src = 'mod_displayImage.php?id=".$layer_id."&col=layer_map_preview'>";
+		if ($row_p['layer_legend_preview'] != "") $layer['Voransicht'] .= "<img src = 'mod_displayImage.php?id=".$layer_id."&col=layer_legend_preview'>";
+	}
+	
+	$sql_dep = "SELECT mb_user_department FROM mb_user WHERE mb_user_id = $1 LIMIT 1";
+	$v_dep = array($row['wms_owner']);
+	$t_dep = array('i');
+	$res_dep = db_prep_query($sql_dep, $v_dep, $t_dep);
+	$row_dep = db_fetch_array($res_dep);
+	
+
+	//$layer['ID'] = $row['layer_id'];
+	$layer['Titel'] = $row['layer_title'];
+	$layer['Zusammenfassung'] = $row['layer_abstract'];
+	if ($row['layer_pos'] || $row['layer_parent']) {
+		$layer['Minscale'] = $row['layer_minscale'];
+		$layer['Maxscale'] = $row['layer_maxscale'];
+	}
+	$layer['Projektionssysteme'] = str_replace(" ", ", ", getEpsgByLayerId($row['layer_id']));
+	$layer['Capabilities-Dokument'] = "<a href = '../x_geoportal/getCapabilities_document.php?wms_request=".$row['wms_id']."&layer_request=".$row['layer_pos']."' target=_blank>Capabilities-Dokument</a>";
+	if ($row['wms_timestamp']) {
+		$layer['Datum der Registrierung'] = date("d.m.Y",$row['wms_timestamp']); 
+	}
+	else {
+		$layer['Datum der Registrierung'] = "Keine Angabe"; 
+	}
+	$layer['Registrierende Stelle'] = $row_dep['mb_user_department'];
+	$layer['WMS Titel'] = $row['wms_title'];
+	$layer['WMS Zusammenfassung'] = $row['wms_abstract'];
+	$layer['Gebühren'] = $row['fees'];
+	$layer['Zugriffsbeschränkung'] = $row['accessconstraints'];
+	$layer['Ansprechpartner'] = $row['contactperson'];
+	$layer['Organisation'] = $row['contactorganization'];
+	$layer['Adresse'] = $row['address'];
+	$layer['Stadt'] = $row['city'];
+	$layer['Bundesland'] = $row['stateorprovince'];
+	$layer['PLZ'] = $row['postcode'];
+	$layer['Telefon'] = $row['contactvoicetelephone'];
+	$layer['Fax'] = $row['contactfacsimiletelephone'];
+	$layer['E-Mail'] = $row['contactelectronicmailaddress'];
+	$layer['Land'] = $row['country'];
+
+	$sql_p = "SELECT layer_extent_preview FROM layer_preview WHERE fkey_layer_id = $1 LIMIT 1";
+	$v_p = array($layer_id);
+	$t_p = array('i');
+	$res_p = db_prep_query($sql_p, $v_p, $t_p);
+	$row_p = db_fetch_array($res_p);
+	if ($row_p['layer_extent_preview'] != "") $layer['Ausdehnung'] = "<img src = 'mod_displayImage.php?id=".$layer_id."&col=layer_extent_preview'>";
+		
+
+
+	echo "<table class='contenttable-0-wide'>\n";
+	$t_a = "\t<tr>\n\t\t<th>\n\t\t\t";
+	$t_b = "\n\t\t</th>\n\t\t<td>\n\t\t\t";
+	$t_c = "\n\t\t</td>\n\t</tr>\n";
+
+	$keys = array_keys($layer);
+	for ($j=0; $j<count($layer); $j++) {
+		echo $t_a . utf8_encode($keys[$j]) . $t_b . display_text($layer[$keys[$j]]) . $t_c;
+	}
+
+	if (!$row['layer_pos'] && !$row['layer_parent']) {
+		$wms_id = $row['wms_id'];
+		$sql = "SELECT layer.layer_title, layer.layer_id FROM layer WHERE fkey_wms_id = $1 AND layer_pos <> 0";
+		$v = array($wms_id);
+		$t = array('i');
+		$res = db_prep_query($sql,$v,$t);
+		$i=0;
+		$layer = array();
+		while ($row = db_fetch_array($res)) {
+			$layer[$i] = array();
+			$layer[$i]['Titel'] = $row['layer_title'];
+			$layer[$i]['id'] = $row['layer_id'];
+			$i++;
+		}
+		echo "<tr><th>Ebenen</th><td>";
+		for ($i=0; $i<count($layer); $i++) {
+			if ($i >0) echo ", ";
+			echo "<a href='mod_layerMetadata.php?id=".$layer[$i]['id']."'>" . $layer[$i]['Titel'] . "</a>";
+		}
+	}	
+	echo "</td></tr></table>\n";
+?>
+	</div>
+	<div id="footer_red"></div>
+	</body>
+</html>




More information about the Mapbender_commits mailing list