[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mapbender-commits
Subject:    [Mapbender-commits] r7715 - in trunk/mapbender/http: geoportal php
From:       svn_mapbender () osgeo ! org
Date:       2011-03-22 7:52:28
Message-ID: 20110322075228.C17E939060B () trac ! osgeo ! org
[Download RAW message or body]

Author: armin11
Date: 2011-03-22 00:52:28 -0700 (Tue, 22 Mar 2011)
New Revision: 7715

Modified:
   trunk/mapbender/http/geoportal/gaz_geom.php
   trunk/mapbender/http/php/mod_layerISOMetadata.php
   trunk/mapbender/http/plugins/mb_metadata_layerPreview.php
Log:
Bugfixes: 1. Don't store the name of the preview for a wms layer any longer in the \
database. File system storing is enough. The name is defined by with the id.  2. Show \
right metadata for point of contact and the right preview in the inspire metadata xml

Modified: trunk/mapbender/http/geoportal/gaz_geom.php
===================================================================
--- trunk/mapbender/http/geoportal/gaz_geom.php	2011-03-21 15:38:07 UTC (rev 7714)
+++ trunk/mapbender/http/geoportal/gaz_geom.php	2011-03-22 07:52:28 UTC (rev 7715)
@@ -293,7 +293,8 @@
 				if($row["zusatz"] != 'null'){
 				#	$show .= $row["zusatz"];
 				
-$show = $row["name"]." ".$row["hausnummer"].$row["zusatz"];
+$show = utf8_decode($row["name"])." ".$row["hausnummer"].$row["zusatz"];
+//$show = $row["name"]." ".$row["hausnummer"].$row["zusatz"]; TODO: exchange this, \
when the hauskoordinaten table is delivered in a homogenous encoding!   }
 	else
 {$show = $row["name"]." ".$row["hausnummer"];}	
@@ -340,7 +341,8 @@
 		$res = db_prep_query($sql,$v,$t);
 		while($row = db_fetch_array($res)){
 			
-			$show = $row["name"]." ".$row["hausnummer"];
+			$show = utf8_encode($row["name"])." ".$row["hausnummer"];
+			//$show = $row["name"]." ".$row["hausnummer"]; TODO: see above
 			if($row["zusatz"] != null){
 				$show .= $row["zusatz"];	
 			}

Modified: trunk/mapbender/http/php/mod_layerISOMetadata.php
===================================================================
--- trunk/mapbender/http/php/mod_layerISOMetadata.php	2011-03-21 15:38:07 UTC (rev \
                7714)
+++ trunk/mapbender/http/php/mod_layerISOMetadata.php	2011-03-22 07:52:28 UTC (rev \
7715) @@ -18,7 +18,6 @@
 # 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(dirname(__FILE__) . "/../../core/globalSettings.php");
 require_once(dirname(__FILE__) . "/../classes/class_connector.php");
 require_once(dirname(__FILE__) . "/../classes/class_administration.php");
@@ -28,12 +27,11 @@
 
 $admin = new administration();
 
-//define the view or table to use as input for metadata generation
+//define the view or table to use as input for metadata generation if this is \
wished. If not the data will be directly read from the database tables  $wmsView = \
"wms_search_table";  $wmsView = '';
 //parse request parameter
 //make all parameters available as upper case
-
 foreach($_REQUEST as $key => $val) {
 	$_REQUEST[strtoupper($key)] = $val;
 }
@@ -66,7 +64,6 @@
 	die();
 }
 //some needfull functions to pull metadata out of the database!
-
 function fillISO19139($iso19139, $recordId) {
         global $wmsView;
 	global $admin;
@@ -82,7 +79,7 @@
 		$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, wms.wms_owsproxy,";
-		$sql .= "wms.contactelectronicmailaddress, wms.country , ";
+		$sql .= "wms.contactelectronicmailaddress, wms.country, wms.fkey_mb_group_id, ";
 		$sql .= "layer_epsg.minx || ',' || layer_epsg.miny || ',' || layer_epsg.maxx || \
',' || layer_epsg.maxy  as bbox ";  $sql .= "FROM wms, layer, layer_epsg WHERE \
layer_id = $1 and layer.fkey_wms_id = wms.wms_id";  $sql .= " and \
layer_epsg.fkey_layer_id=layer.layer_id and layer_epsg.epsg='EPSG:4326'"; @@ -91,21 \
+88,34 @@  $t = array('i');
 	$res = db_prep_query($sql,$v,$t);
 	$mapbenderMetadata = db_fetch_array($res);
-	//Get other needed information out of mapbender database:
+	
+	//Get other needed information out of mapbender database (if not already defined in \
the view):  //service data
-	$sql = "SELECT contactorganization, contactelectronicmailaddress ";
-	$sql .= "FROM wms WHERE wms_id = $1";
-	$v = array((integer)$mapbenderMetadata['wms_id']);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$serviceMetadata = db_fetch_array($res);
-	//infos about the registrating department 
-	$sql = "SELECT mb_group_name ";
-	$sql .= "FROM mb_group WHERE mb_group_id = $1";
-	$v = array((integer)$mapbenderMetadata['department']);
-	$t = array('i');
-	$res = db_prep_query($sql,$v,$t);
-	$departmentMetadata = db_fetch_array($res);
+	if ($wmsView != '') {
+		$sql = "SELECT contactorganization, contactelectronicmailaddress ";
+		$sql .= "FROM wms WHERE wms_id = $1";
+		$v = array((integer)$mapbenderMetadata['wms_id']);
+		$t = array('i');
+		$res = db_prep_query($sql,$v,$t);
+		$serviceMetadata = db_fetch_array($res);
+	}
+	//infos about the registrating department, check first if a special metadata point \
of contact is defined in the service table - function from mod_showMetadata - TODO: \
should be defined in admin class +	if (!isset($mapbenderMetadata['fkey_mb_group_id']) \
or is_null($mapbenderMetadata['fkey_mb_group_id']) or \
$mapbenderMetadata['fkey_mb_group_id'] == 0){ +		$e = new \
mb_exception("mod_layerISOMetadata.php: fkey_mb_group_id not found!"); +		//Get \
information about owning user of the relation mb_user_mb_group - alternatively the \
defined fkey_mb_group_id from the service must be used! +		$sqlDep = "SELECT \
mb_group_name, mb_group_title, mb_group_id, mb_group_logo_path, mb_group_address, \
mb_group_email, mb_group_postcode, mb_group_city, mb_group_voicetelephone, \
mb_group_facsimiletelephone FROM mb_group AS a, mb_user AS b, mb_user_mb_group AS c \
WHERE b.mb_user_id = $1  AND b.mb_user_id = c.fkey_mb_user_id AND c.fkey_mb_group_id \
= a.mb_group_id AND c.mb_user_mb_group_type=2 LIMIT 1"; +		$vDep = \
array($mapbenderMetadata['wms_owner']); +		$tDep = array('i');
+		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
+		$departmentMetadata = db_fetch_array($resDep);
+	} else {
+		$e = new mb_exception("mod_layerISOMetadata.php: fkey_mb_group_id found!");
+		$sqlDep = "SELECT mb_group_name , mb_group_title, mb_group_id, mb_group_logo_path \
, mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, \
mb_group_voicetelephone, mb_group_facsimiletelephone FROM mb_group WHERE mb_group_id \
= $1 LIMIT 1"; +		$vDep = array($mapbenderMetadata['fkey_mb_group_id']);
+		$tDep = array('i');
+		$resDep = db_prep_query($sqlDep, $vDep, $tDep);
+		$departmentMetadata = db_fetch_array($resDep);
+	}
 	//infos about the owner of the service - he is the man who administrate the \
metadata - register the service  $sql = "SELECT mb_user_email ";
 	$sql .= "FROM mb_user WHERE mb_user_id = $1";
@@ -361,7 +371,7 @@
 	$abstract_cs->appendChild($abstractText);
 	$abstract->appendChild($abstract_cs);
 	$SV_ServiceIdentification->appendChild($abstract);
-	#Create part for point of contact
+	#Create part for point of contact for service identification
 	#Define relevant objects
 	$pointOfContact=$iso19139->createElement("gmd:pointOfContact");
 	$CI_ResponsibleParty=$iso19139->createElement("gmd:CI_ResponsibleParty");
@@ -377,14 +387,14 @@
 	$CI_RoleCode=$iso19139->createElement("gmd:CI_RoleCode");
 	$CI_RoleCode->setAttribute("codeList", \
"http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/Codelist/ML_gmxCodelists.xml#CI_RoleCode");
  $CI_RoleCode->setAttribute("codeListValue", "publisher");
-	if (isset($serviceMetadata['contactorganization'])) {
-		$resOrgaText = $iso19139->createTextNode($serviceMetadata['contactorganization']);
+	if (isset($mapbenderMetadata['contactorganization'])) {
+		$resOrgaText = $iso19139->createTextNode($mapbenderMetadata['contactorganization']);
  }
 	else {
 		$resOrgaText= $iso19139->createTextNode("not yet defined");
 	}
-	if (isset($serviceMetadata['contactelectronicmailaddress'])) {
-		$resMailText = $iso19139->createTextNode($serviceMetadata['contactelectronicmailaddress']);
 +	if (isset($mapbenderMetadata['contactelectronicmailaddress'])) {
+		$resMailText = $iso19139->createTextNode($mapbenderMetadata['contactelectronicmailaddress']);
  }
 	else {
 		$resMailText = $iso19139->createTextNode("kontakt@geoportal.rlp.de");
@@ -426,12 +436,12 @@
 	}
 */	
 	#version of bavaria
-	if (isset($row['layer_map_preview_filename']) & $row['layer_map_preview_filename'] \
!= '') { +	if (file_exists(PREVIEW_DIR."/".$mapbenderMetadata['layer_id']."_layer_map_preview.jpg")) \
{	//TODO  $graphicOverview=$iso19139->createElement("gmd:graphicOverview");
 		$MD_BrowseGraphic=$iso19139->createElement("gmd:MD_BrowseGraphic");
 		$fileName=$iso19139->createElement("gmd:fileName");
 		$fileName_cs=$iso19139->createElement("gco:CharacterString");
-		$previewFilenameText = \
$iso19139->createTextNode("http://www.gdi-rp-dienste3.rlp.de/mapbender/geoportal/preview/".$row['layer_map_preview_filename']);
 +		$previewFilenameText = \
$iso19139->createTextNode("http://www.geoportal.rlp.de/mapbender/geoportal/preview/".$mapbenderMetadata['layer_id']."_layer_map_preview.jpg");
  $fileName_cs->appendChild($previewFilenameText);
 		$fileName->appendChild($fileName_cs);
 
@@ -445,7 +455,7 @@
 
 		$fileType=$iso19139->createElement("gmd:fileType");
 		$fileType_cs=$iso19139->createElement("gco:CharacterString");
-		$fileType_text=$iso19139->createTextNode("PNG");
+		$fileType_text=$iso19139->createTextNode("JPEG");
 
 		$fileType_cs->appendChild($fileType_text);
 		$fileType->appendChild($fileType_cs);
@@ -586,7 +596,7 @@
 		#$language->appendChild($LanguageCode);
 		#$SV_ServiceIdentification->appendChild($language);
 	#}
-	#Topic Category B 2.1
+	#Topic Category B 2.1 - not needed for services
 	#if(isset($detail_array['t011_obj_geo_topic_cat.topic_category'])){
 		#$topicCategory=$iso19139->createElement("gmd:topicCategory");
 		#$MD_TopicCategoryCode=$iso19139->createElement("gmd:MD_TopicCategoryCode");

Modified: trunk/mapbender/http/plugins/mb_metadata_layerPreview.php
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_layerPreview.php	2011-03-21 15:38:07 UTC \
                (rev 7714)
+++ trunk/mapbender/http/plugins/mb_metadata_layerPreview.php	2011-03-22 07:52:28 UTC \
(rev 7715) @@ -52,20 +52,14 @@
 			$ajaxResponse->setMessage('Map preview could not be created');
 			$ajaxResponse->send();
 		} 
-		else {
-			$ajaxResponse->setSuccess(true);
-			$ajaxResponse->setMessage('Preview saved as '.$layerPreviewMapFileName);
-			$ajaxResponse->send();
-		}
-		
 		if ($legendUrl) {
 			$legendImg = new weldMaps2JPEG($legendUrl, $layerPreviewLegendFileName);
-			/*if(!$legendImg) {
+			if(!$legendImg) {
 				$ajaxResponse->setSuccess(false);
 				$ajaxResponse->setMessage('Legend preview could not be created');
 				$ajaxResponse->send();
 			} 
-			else {
+			/*else {
 				$ajaxResponse->setSuccess(true);
 				$ajaxResponse->setMessage('Preview saved');
 				$ajaxResponse->send();
@@ -74,10 +68,10 @@
 		else {
 			$legendUrl = null;
 		}
-
-		
-		break;
-
+		$ajaxResponse->setSuccess(true);
+		$ajaxResponse->setMessage('Preview saved');
+		$ajaxResponse->send();
+/*
 		$updateSQL = <<<SQL
 
 UPDATE layer_preview SET 
@@ -118,7 +112,7 @@
 			new mb_exception("could not insert/update layerPreview into db");
 			$ajaxResponse->setSuccess(false);
 			$ajaxResponse->setMessage("could not insert/Update layerPreview into db: ". \
                pg_last_error());
-		}
+		}*/
 		break;
 
 	default:

_______________________________________________
Mapbender_commits mailing list
Mapbender_commits@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapbender_commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic