[Mapbender-commits] r8560 - in trunk/mapbender: http/img http/php http/plugins resources/db/pgsql/UTF-8/update

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Thu Feb 14 02:19:14 PST 2013


Author: armin11
Date: 2013-02-14 02:19:14 -0800 (Thu, 14 Feb 2013)
New Revision: 8560

Added:
   trunk/mapbender/http/img/od_80x15_blue.png
Modified:
   trunk/mapbender/http/php/mod_getServiceDisclaimer.php
   trunk/mapbender/http/plugins/mb_metadata_edit.js
   trunk/mapbender/http/plugins/mb_metadata_edit.php
   trunk/mapbender/http/plugins/mb_metadata_server.php
   trunk/mapbender/http/plugins/mb_metadata_wfs_edit.js
   trunk/mapbender/http/plugins/mb_metadata_wfs_edit.php
   trunk/mapbender/http/plugins/mb_metadata_wfs_server.php
   trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7.3_to_2.7.4_pgsql_UTF-8.sql
Log:
New possibility to distinguish between open licences and not open licences. It is needed to export data from the registry to e.g.  a ckan (open data portal) instance.

Added: trunk/mapbender/http/img/od_80x15_blue.png
===================================================================
(Binary files differ)


Property changes on: trunk/mapbender/http/img/od_80x15_blue.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/mapbender/http/php/mod_getServiceDisclaimer.php
===================================================================
--- trunk/mapbender/http/php/mod_getServiceDisclaimer.php	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/http/php/mod_getServiceDisclaimer.php	2013-02-14 10:19:14 UTC (rev 8560)
@@ -173,13 +173,13 @@
 //
 if ($type == "wms") {
 	$sql = "SELECT wms_id, wms.accessconstraints, wms.fees, wms.wms_network_access , wms.wms_pricevolume, wms.wms_proxylog, termsofuse.name,";
-	$sql .= " termsofuse.termsofuse_id, termsofuse.symbollink, termsofuse.description,termsofuse.descriptionlink from wms LEFT OUTER JOIN";
+	$sql .= " termsofuse.termsofuse_id, termsofuse.symbollink, termsofuse.description,termsofuse.descriptionlink, termsofuse.isopen from wms LEFT OUTER JOIN";
 	$sql .= "  wms_termsofuse ON  (wms.wms_id = wms_termsofuse.fkey_wms_id) LEFT OUTER JOIN termsofuse ON";
 	$sql .= " (wms_termsofuse.fkey_termsofuse_id=termsofuse.termsofuse_id) where wms.wms_id = $1";
 }
 if ($type == "wfs") {
 	$sql = "SELECT wfs_id, accessconstraints, fees, wfs_network_access , termsofuse.name,";
-	$sql .= " termsofuse.termsofuse_id ,termsofuse.symbollink, termsofuse.description,termsofuse.descriptionlink from wfs LEFT OUTER JOIN";
+	$sql .= " termsofuse.termsofuse_id ,termsofuse.symbollink, termsofuse.description,termsofuse.descriptionlink, termsofuse.isopen from wfs LEFT OUTER JOIN";
 	$sql .= "  wfs_termsofuse ON  (wfs.wfs_id = wfs_termsofuse.fkey_wfs_id) LEFT OUTER JOIN termsofuse ON";
 	$sql .= " (wfs_termsofuse.fkey_termsofuse_id=termsofuse.termsofuse_id) where wfs.wfs_id = $1";	
 }
@@ -247,6 +247,10 @@
 				$fees = $htmlHeader['licences'];
 				#$fees .= $row['name']."<br>";
 				$fees .= "<a href='".$row['descriptionlink']."' target=_blank><img style='border: none;' src='".$row['symbollink']."' ".$row['name']."></a><br>";
+				if (isset($row['isopen']) && $row['isopen'] == "1") {
+					//show opendata symbol
+					$fees .= "<br><img src='../img/od_80x15_blue.png' /><br>";
+				}
 				$fees .= $row['description']."<br>";
 				$feesPart .= $fees;
 			} else {
@@ -291,6 +295,10 @@
 				$fees = $htmlHeader['licences'];
 				#$fees .= $row['name']."<br>";
 				$fees .= "<a href='".$row['descriptionlink']."' target=_blank><img src='".$row['symbollink']."' ".$row['name']."></a><br>";
+				if (isset($row['isopen']) && $row['isopen'] == "1") {
+					//show opendata symbol
+					$fees .= "<br><img src='../img/od_80x15_blue.png' /><br>";
+				}
 				$fees .= $row['description']."<br>";
 				echo $fees."<br>";
 			} else {

Modified: trunk/mapbender/http/plugins/mb_metadata_edit.js
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_edit.js	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/http/plugins/mb_metadata_edit.js	2013-02-14 10:19:14 UTC (rev 8560)
@@ -77,6 +77,8 @@
 				}
 				$metadataForm.easyform("reset");
 				$metadataForm.easyform("fill", obj);
+				//check if obj.wms_termsofuse not null
+				that.fillLicence(obj.wms_termsofuse);
 				that.valid();
 			}
 		});
@@ -105,6 +107,39 @@
 		});
 		req.send();
 	}	
+	//Show more information about the licences
+	this.fillLicence = function(obj) {
+		// get licence information from server per termsofuse_id
+		var req = new Mapbender.Ajax.Request({
+			url: "../plugins/mb_metadata_server.php",
+			method: "getLicenceInformation",
+			parameters: {
+				"id": obj
+			},
+			callback: function (obj, result, message) {
+				if (!result) {
+					return;
+				}
+				if (obj.termsofuse_id) {
+					//alert(JSON.stringify(obj));
+					$('#licence_symbol').attr('src', obj.symbollink);
+					$('#licence_descriptionlink').text(obj.description);
+					$('#licence_descriptionlink').attr('href', obj.descriptionlink);
+					if (obj.isopen == 1) {
+						$('#open_symbol').attr('src', '../img/od_80x15_blue.png');
+					} else {
+						$('#open_symbol').attr('src', '');
+					}
+				} else {
+					$('#licence_symbol').attr('src', '');
+					$('#licence_descriptionlink').attr('href', '');
+					$('#licence_descriptionlink').text('');
+					$('#open_symbol').attr('src', '');
+				}
+			}
+		});
+		req.send();
+	}	
 
 	this.fill = function (obj) {
 		$metadataForm.easyform("fill", obj);

Modified: trunk/mapbender/http/plugins/mb_metadata_edit.php
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_edit.php	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/http/plugins/mb_metadata_edit.php	2013-02-14 10:19:14 UTC (rev 8560)
@@ -48,17 +48,20 @@
 ?>
 	<p>
 		<label for="wms_termsofuse"><?php echo _mb("WMS Predefined Licence (Registry)");?>:</label>
-    	<select name="wms_termsofuse" id="wms_termsofuse">
-			<option>...</option>
+    	<select name="wms_termsofuse" id="wms_termsofuse" onChange="var chosenoption=this.options[this.selectedIndex];$('#mb_md_edit').mapbender().fillLicence(chosenoption.value);">
+			<option value='0'>...</option>
 <?php
 	foreach ($termsofuse as $key => $value) {
 		echo "<option value='" . $key . "'>" . htmlentities($value, ENT_QUOTES, CHARSET) . "</option>";
 	}
 ?>
 		</select>
-    	<img class="help-dialog" title="<?php echo _mb("Help");?>" help="{text:'<?php echo _mb("Auswahl von vordefinierten Lizenzen hinsichtlich Gebühren und Zugriffsbeschränkungen.");?>'}" src="../img/questionmark.png" alt="" />
+    	<img class="help-dialog" title="<?php echo _mb("Help");?>" help="{text:'<?php echo _mb("Selection of predefined licences.");?>'}" src="../img/questionmark.png" alt="" />
 	</p>
 	<p>
+	<img id="licence_symbol"> <a id='licence_descriptionlink' target='_blank'><a/> <img id="open_symbol">
+	</p>
+	<p>
 		<label for="wms_network_access"><?php echo _mb("Restricted Network Access (Registry)");?>:</label>
       		<input name="wms_network_access" id="wms_network_access" type="checkbox"/>
 	</p>

Modified: trunk/mapbender/http/plugins/mb_metadata_server.php
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_server.php	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/http/plugins/mb_metadata_server.php	2013-02-14 10:19:14 UTC (rev 8560)
@@ -451,7 +451,11 @@
 			"fkey_mb_group_id"
 		);
 		foreach ($columns as $c) {
-			$value = $data->wms->$c;
+			if ($c == 'wms_termsofuse' && $data->wms->$c == "0") {
+				$value = null;
+			} else {
+				$value = $data->wms->$c;
+			}
 			if (!is_null($value)) {
 				$wms->$c = $value;
 			}
@@ -626,6 +630,33 @@
 		$ajaxResponse->setResult($resultObj);
 		$ajaxResponse->setSuccess(true);
 		break;
+
+	case "getLicenceInformation" :
+		$termsofuseId = $ajaxResponse->getParameter("id");
+		$sql = <<<SQL
+	
+SELECT name, symbollink, description, descriptionlink, isopen FROM termsofuse WHERE termsofuse_id = $1
+
+SQL;
+		$v = array($termsofuseId);
+		$t = array('i');
+		$res = db_prep_query($sql,$v,$t);
+		$row = array();
+		if ($res) {
+			$row = db_fetch_assoc($res);
+			$resultObj["termsofuse_id"] = $termsofuseId;
+			$resultObj["name"] = $row["name"];
+			$resultObj["symbollink"] = $row["symbollink"];
+			$resultObj["description"] = $row["description"];
+			$resultObj["descriptionlink"] = $row["descriptionlink"];
+			$resultObj["isopen"] = $row["isopen"];
+			$ajaxResponse->setResult($resultObj);
+			$ajaxResponse->setSuccess(true);
+		} else {
+			$ajaxResponse->setSuccess(false);
+		}
+		break;
+
 	case "getWmsIdByLayerId" :
 		$layerId = $ajaxResponse->getParameter("layerId");
 		$sql = <<<SQL

Modified: trunk/mapbender/http/plugins/mb_metadata_wfs_edit.js
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_wfs_edit.js	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/http/plugins/mb_metadata_wfs_edit.js	2013-02-14 10:19:14 UTC (rev 8560)
@@ -78,6 +78,7 @@
 				}
 				$metadataForm.easyform("reset");
 				$metadataForm.easyform("fill", obj);
+				that.fillLicence(obj.wfs_termsofuse);
 				that.valid();
 			}
 		});
@@ -107,6 +108,40 @@
 		req.send();
 	}	
 
+	//Show more information about the licences
+	this.fillLicence = function(obj) {
+		// get licence information from server per termsofuse_id
+		var req = new Mapbender.Ajax.Request({
+			url: "../plugins/mb_metadata_wfs_server.php",
+			method: "getLicenceInformation",
+			parameters: {
+				"id": obj
+			},
+			callback: function (obj, result, message) {
+				if (!result) {
+					return;
+				}
+				if (obj.termsofuse_id) {
+					//alert(JSON.stringify(obj));
+					$('#licence_symbol').attr('src', obj.symbollink);
+					$('#licence_descriptionlink').text(obj.description);
+					$('#licence_descriptionlink').attr('href', obj.descriptionlink);
+					if (obj.isopen == 1) {
+						$('#open_symbol').attr('src', '../img/od_80x15_blue.png');
+					} else {
+						$('#open_symbol').attr('src', '');
+					}
+				} else {
+					$('#licence_symbol').attr('src', '');
+					$('#licence_descriptionlink').attr('href', '');
+					$('#licence_descriptionlink').text('');
+					$('#open_symbol').attr('src', '');
+				}
+			}
+		});
+		req.send();
+	}	
+
 	this.fill = function (obj) {
 		$metadataForm.easyform("fill", obj);
 	};

Modified: trunk/mapbender/http/plugins/mb_metadata_wfs_edit.php
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_wfs_edit.php	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/http/plugins/mb_metadata_wfs_edit.php	2013-02-14 10:19:14 UTC (rev 8560)
@@ -47,8 +47,8 @@
 ?>
 	<p>
 		<label for="wfs_termsofuse"><?php echo _mb("WFS Predefined Licence (Registry)");?>:</label>
-    	<select name="wfs_termsofuse" id="wfs_termsofuse">
-			<option>...</option>
+    	<select name="wfs_termsofuse" id="wfs_termsofuse" onChange="var chosenoption=this.options[this.selectedIndex];$('#mb_md_wfs_edit').mapbender().fillLicence(chosenoption.value);">
+			<option value="0">...</option>
 <?php
 	foreach ($termsofuse as $key => $value) {
 		echo "<option value='" . $key . "'>" . htmlentities($value, ENT_QUOTES, CHARSET) . "</option>";
@@ -58,6 +58,9 @@
     	<img class="help-dialog" title="<?php echo _mb("Help");?>" help="{text:'<?php echo _mb("Selection of predefined licences.");?>'}" src="../img/questionmark.png" alt="" />
 	</p>
 	<p>
+	<img id="licence_symbol"> <a id='licence_descriptionlink' target='_blank'><a/> <img id="open_symbol">
+	</p>
+	<p>
 	  	<label for="wfs_network_access"><?php echo _mb("Restricted Network Access (Registry)");?>:</label>
       		<input name="wfs_network_access" id="wfs_network_access" type="checkbox"/>
 	</p>

Modified: trunk/mapbender/http/plugins/mb_metadata_wfs_server.php
===================================================================
--- trunk/mapbender/http/plugins/mb_metadata_wfs_server.php	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/http/plugins/mb_metadata_wfs_server.php	2013-02-14 10:19:14 UTC (rev 8560)
@@ -801,7 +801,11 @@
 			"uuid"
 		);
 		foreach ($columns as $c) {
-			$value = $data->wfs->$c;
+			if ($c == 'wfs_termsofuse' && $data->wfs->$c == "0") {
+				$value = null;
+			} else {
+				$value = $data->wfs->$c;
+			}
 			if (!is_null($value)) {
 				$wfs->$c = $value;
 			}
@@ -910,6 +914,60 @@
 		$ajaxResponse->setSuccess(true);		
 		
 		break;
+
+	case "getContactMetadata" :
+		$mbGroupId = $ajaxResponse->getParameter("id");
+		$sql = <<<SQL
+	
+SELECT mb_group_name, mb_group_title, mb_group_address, mb_group_email, mb_group_postcode, mb_group_city, mb_group_logo_path, mb_group_voicetelephone FROM mb_group WHERE mb_group_id = $1
+
+SQL;
+		$v = array($mbGroupId);
+		$t = array('i');
+		$res = db_prep_query($sql,$v,$t);
+		$row = array();
+		if ($res) {
+			$row = db_fetch_assoc($res);
+			$resultObj["fkey_mb_group_id"] = $mbGroupId;
+			$resultObj["mb_group_name"] = $row["mb_group_name"];
+			$resultObj["mb_group_title"] = $row["mb_group_title"];
+			$resultObj["mb_group_address"] = $row["mb_group_address"];
+			$resultObj["mb_group_email"] = $row["mb_group_email"];
+			$resultObj["mb_group_postcode"] = $row["mb_group_postcode"];
+			$resultObj["mb_group_city"] = $row["mb_group_city"];
+			$resultObj["mb_group_logo_path"] = $row["mb_group_logo_path"];
+			$resultObj["mb_group_voicetelephone"] = $row["mb_group_voicetelephone"];	
+		}
+		$ajaxResponse->setResult($resultObj);
+		$ajaxResponse->setSuccess(true);
+		break;
+
+	case "getLicenceInformation" :
+		$termsofuseId = $ajaxResponse->getParameter("id");
+		$sql = <<<SQL
+	
+SELECT name, symbollink, description, descriptionlink, isopen FROM termsofuse WHERE termsofuse_id = $1
+
+SQL;
+		$v = array($termsofuseId);
+		$t = array('i');
+		$res = db_prep_query($sql,$v,$t);
+		$row = array();
+		if ($res) {
+			$row = db_fetch_assoc($res);
+			$resultObj["termsofuse_id"] = $termsofuseId;
+			$resultObj["name"] = $row["name"];
+			$resultObj["symbollink"] = $row["symbollink"];
+			$resultObj["description"] = $row["description"];
+			$resultObj["descriptionlink"] = $row["descriptionlink"];
+			$resultObj["isopen"] = $row["isopen"];
+			$ajaxResponse->setResult($resultObj);
+			$ajaxResponse->setSuccess(true);
+		} else {
+			$ajaxResponse->setSuccess(false);
+		}
+		break;
+
 	default: 
 		$ajaxResponse->setSuccess(false);
 		$ajaxResponse->setMessage(_mb("An unknown error occured."));

Modified: trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7.3_to_2.7.4_pgsql_UTF-8.sql
===================================================================
--- trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7.3_to_2.7.4_pgsql_UTF-8.sql	2013-02-07 14:07:37 UTC (rev 8559)
+++ trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7.3_to_2.7.4_pgsql_UTF-8.sql	2013-02-14 10:19:14 UTC (rev 8560)
@@ -24,8 +24,22 @@
 --update css file of dataTables in body element
 UPDATE gui_element_vars set var_value = '../extensions/dataTables-1.7.5/media/css/demo_table_jui.css' WHERE fkey_e_id = 'body' AND var_name = 'jq_datatables_css';
 
+--extent table termsofuse to allow classification if some licence is open or not!
+ALTER TABLE termsofuse ADD COLUMN isopen INTEGER DEFAULT 0;
 
+CREATE SEQUENCE termsofuse_id_seq;
+SELECT setval('termsofuse_id_seq', (SELECT max(termsofuse_id) FROM termsofuse));
+ALTER TABLE termsofuse ALTER COLUMN termsofuse_id SET DEFAULT
+nextval('termsofuse_id_seq'::regclass); 
 
+--create some example entries for licences
+-- CC-BY
+--INSERT INTO termsofuse (name,symbollink,description,descriptionlink,isopen) VALUES ('cc-by', 'http://i.creativecommons.org/l/by/3.0/de/88x31.png','Creative Commons: Namensnennung 3.0 Deutschland','http://creativecommons.org/licenses/by/3.0/de/',1) ;
+-- CC BY-NC 
+---INSERT INTO termsofuse (name,symbollink,description,descriptionlink,isopen) VALUES ('cc-by-nc', 'http://i.creativecommons.org/l/by-nc/3.0/de/88x31.png','Creative Commons: Namensnennung - Keine kommerzielle Nutzung 3.0 Deutschland','http://creativecommons.org/licenses/by-nc/3.0/de/',0);
+-- Datenlizenz Deutschland – Namensnennung – Version 1.0
+--INSERT INTO termsofuse (name,symbollink,description,descriptionlink,isopen) VALUES ('dl-de-by-1.0', 'http://i.creativecommons.org/l/by/3.0/de/88x31.png','Datenlizenz Deutschland – Namensnennung – Version 1.0','http://www.daten-deutschland.de/bibliothek/Datenlizenz_Deutschland/dl-de-by-1.0',1) ;
+-- Datenlizenz Deutschland – Namensnennung – nicht-kommerziell – Version 1.0
+--INSERT INTO termsofuse (name,symbollink,description,descriptionlink,isopen) VALUES ('dl-de-by-nc-1.0', 'http://i.creativecommons.org/l/by-nc/3.0/de/88x31.png','Datenlizenz Deutschland – Namensnennung – nicht-kommerziell – Version 1.0','http://www.daten-deutschland.de/bibliothek/Datenlizenz_Deutschland/dl-de-by-nc-1.0',0);
+UPDATE termsofuse SET name = 'cc-by-nc-nd' WHERE name = 'CC by-nc-nd';
 
-
-



More information about the Mapbender_commits mailing list