[Mapbender-commits] r7708 - in trunk/mapbender: http/classes http/javascripts http/php resources/db resources/db/pgsql/UTF-8/update

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Wed Mar 16 07:09:21 EDT 2011


Author: armin11
Date: 2011-03-16 04:09:21 -0700 (Wed, 16 Mar 2011)
New Revision: 7708

Modified:
   trunk/mapbender/http/classes/class_rss.php
   trunk/mapbender/http/javascripts/mod_savewmc.js
   trunk/mapbender/http/php/mod_showMetadata.php
   trunk/mapbender/resources/db/new_role_concept.sql
   trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7rc1_to_2.7rc2_pgsql_UTF-8.sql
Log:
Bugfixes and insert new role concept into db.

Modified: trunk/mapbender/http/classes/class_rss.php
===================================================================
--- trunk/mapbender/http/classes/class_rss.php	2011-03-15 14:19:14 UTC (rev 7707)
+++ trunk/mapbender/http/classes/class_rss.php	2011-03-16 11:09:21 UTC (rev 7708)
@@ -23,10 +23,14 @@
     var $channel_creator;
     var $channel_subject;   
     var $image_url;
+    //var $maxEntries;
+
+    //$this->maxEntries = 10;
+
     protected $items = array();
     protected $nritems;
 	
-	const MAX_ENTRIES = 10;
+	//const MAX_ENTRIES = 10;
 	
 	protected function createItem () {
 		return new RssItem();
@@ -41,6 +45,7 @@
 		};
 		$this->items[]= $item;
 		$this->nritems++;
+		$this->deleteLast(15+3);//offset of 3 for channel: title/link/description
 		return $item;
 	}
 	//function to append item at the top of the item list - maybe most recent !
@@ -53,8 +58,21 @@
 		}
 		array_unshift($this->items, $item);
 		$this->nritems++;
+		$this->deleteLast(15+3);
 		return $item;
 	}
+
+	public function deleteLast ($maxEntries) {
+		for ($k=$maxEntries-1; $k<$this->nritems; $k++){
+			$this->items[$k] = null;
+			$e = new mb_notice("delete georss items: items[".$k."]=null");
+		}
+		if ($this->nritems > ($maxEntries-3)){
+			//reduce to maxEntries-3
+			$this->nritems = $maxEntries-3;
+		}
+		return true;
+	}
 	
 	public function saveAsFile() {
 		if (func_num_args() === 1) {
@@ -70,6 +88,8 @@
 				return false;
 			}
 		}
+		//delete all entries which are more than MAX_ENTRIES from RSS!
+		
 		return administration::saveFile($pathAndFilename, $this->__toString());
 	}	
 	

Modified: trunk/mapbender/http/javascripts/mod_savewmc.js
===================================================================
--- trunk/mapbender/http/javascripts/mod_savewmc.js	2011-03-15 14:19:14 UTC (rev 7707)
+++ trunk/mapbender/http/javascripts/mod_savewmc.js	2011-03-16 11:09:21 UTC (rev 7708)
@@ -86,7 +86,7 @@
 	browserCompatibilityMode = 1;
 }
 //for all save by afterMapRequest
-//browserCompatibilityMode = 1;
+browserCompatibilityMode = 1;
 
 
 function pausecomp(millis) { //http://www.sean.co.uk/a/webdesign/javascriptdelay.shtm

Modified: trunk/mapbender/http/php/mod_showMetadata.php
===================================================================
--- trunk/mapbender/http/php/mod_showMetadata.php	2011-03-15 14:19:14 UTC (rev 7707)
+++ trunk/mapbender/http/php/mod_showMetadata.php	2011-03-16 11:09:21 UTC (rev 7708)
@@ -457,7 +457,7 @@
 if (!isset($resourceMetadata['fkey_mb_group_id']) or isnull($resourceMetadata['fkey_mb_group_id'])){
 	$e = new mb_notice("mod_showMetadata: 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 as metadatapointofcontactorgname, mb_group_title as metadatapointofcontactorgtitle, mb_group_id, mb_group_logo_path  as metadatapointofcontactorglogo, mb_group_address as metadatapointofcontactorgaddress, mb_group_email as metadatapointofcontactorgemail, mb_group_postcode as metadatapointofcontactorgpostcode, mb_group_city as metadatapointofcontactorgcity, mb_group_voicetelephone as metadatapointofcontactorgtelephone, mb_group_facsimiletelephone as metadatapointofcontactorgfax 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=1 LIMIT 1";
+	$sqlDep = "SELECT mb_group_name as metadatapointofcontactorgname, mb_group_title as metadatapointofcontactorgtitle, mb_group_id, mb_group_logo_path  as metadatapointofcontactorglogo, mb_group_address as metadatapointofcontactorgaddress, mb_group_email as metadatapointofcontactorgemail, mb_group_postcode as metadatapointofcontactorgpostcode, mb_group_city as metadatapointofcontactorgcity, mb_group_voicetelephone as metadatapointofcontactorgtelephone, mb_group_facsimiletelephone as metadatapointofcontactorgfax 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($resourceMetadata['owner']);
 	$tDep = array('i');
 	$resDep = db_prep_query($sqlDep, $vDep, $tDep);

Modified: trunk/mapbender/resources/db/new_role_concept.sql
===================================================================
--- trunk/mapbender/resources/db/new_role_concept.sql	2011-03-15 14:19:14 UTC (rev 7707)
+++ trunk/mapbender/resources/db/new_role_concept.sql	2011-03-16 11:09:21 UTC (rev 7708)
@@ -1,4 +1,5 @@
-
+--UPDATE mb_user_mb_group set mb_user_mb_group_type = 2 where mb_user_mb_group_type = 1 ;
+UPDATE mb_user_mb_group set mb_user_mb_group_type = 1 where mb_user_mb_group_type IS NULL;
 --***** new role system - should not influence the normal behaviour 
 -- Table: mb_role
 
@@ -57,7 +58,13 @@
 INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) VALUES('admin1','Group_User_Role',2,1,'allocate groups to user and roles','','a','','href = "../php/mod_group_user_role.php?sessionID&e_id_css=Group_User_Role" target = "AdminFrame" ',10,1234,200,20,NULL ,'font-family: Arial, Helvetica, sans-serif; font-size : 12px; text-decoration : none;color: #808080;','GROUP -> USER -> ROLE','a','','','','AdminFrame','http://www.mapbender.org/index.php/user');
 INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, var_value, context, var_type) VALUES('admin1', 'Group_User_Role', 'file css', '../css/administration_alloc.css', 'file css' ,'file/css');
 
-
+--update the group for the decentral registrating institutions
+-- View: registrating_groups
+CREATE OR REPLACE VIEW registrating_groups AS 
+ SELECT f.fkey_mb_group_id, f.fkey_mb_user_id
+   FROM mb_user_mb_group f, mb_user_mb_group s
+  WHERE f.mb_user_mb_group_type = 2 AND s.fkey_mb_group_id = 36 AND f.fkey_mb_user_id = s.fkey_mb_user_id
+  ORDER BY f.fkey_mb_group_id, f.fkey_mb_user_id;
 --*****end of role concept****
 
 

Modified: trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7rc1_to_2.7rc2_pgsql_UTF-8.sql
===================================================================
--- trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7rc1_to_2.7rc2_pgsql_UTF-8.sql	2011-03-15 14:19:14 UTC (rev 7707)
+++ trunk/mapbender/resources/db/pgsql/UTF-8/update/update_2.7rc1_to_2.7rc2_pgsql_UTF-8.sql	2011-03-16 11:09:21 UTC (rev 7708)
@@ -1704,3 +1704,77 @@
 
 INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) VALUES('Administration','deleteCategory_icon',2,1,'icon','','img','../img/gnome/deleteCategories.png','',0,0,NULL ,NULL ,2,'','','','','','','','');
 
+--***** new role system - should not influence the normal behaviour 
+--UPDATE mb_user_mb_group set mb_user_mb_group_type = 2 where mb_user_mb_group_type = 1 ;
+UPDATE mb_user_mb_group set mb_user_mb_group_type = 1 where mb_user_mb_group_type IS NULL;
+
+-- Table: mb_role
+
+-- DROP TABLE mb_role;
+
+CREATE TABLE mb_role
+(
+  role_id serial NOT NULL,
+  role_name character varying(50),
+  role_description character varying(255),
+  role_exclude_auth integer NOT NULL DEFAULT 0,
+  CONSTRAINT role_id PRIMARY KEY (role_id)
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE mb_role OWNER TO postgres;
+
+
+--things to be done for mb_user_mb_group table:
+--drop old constraint
+--Allow to be member in a group with different roles
+ALTER TABLE mb_user_mb_group DROP CONSTRAINT pk_fkey_mb_user_mb_group_id;
+
+UPDATE mb_user_mb_group SET mb_user_mb_group_type = 1 WHERE mb_user_mb_group_type IS NULL OR mb_user_mb_group_type = 0;
+
+--default to standard role
+ALTER TABLE mb_user_mb_group ALTER COLUMN mb_user_mb_group_type SET DEFAULT 1;
+
+-- Constraint: pk_fkey_mb_user_mb_group_id
+
+-- ALTER TABLE mb_user_mb_group DROP CONSTRAINT pk_fkey_mb_user_mb_group_id;
+--create new constraint
+ALTER TABLE mb_user_mb_group
+  ADD CONSTRAINT pk_fkey_mb_user_mb_group_id PRIMARY KEY(fkey_mb_user_id, fkey_mb_group_id, mb_user_mb_group_type);
+
+
+
+--things for the role table
+--standard roles:
+INSERT INTO mb_role (role_name,role_description,role_exclude_auth) VALUES ('standard role','No special role - old behaviour.',0);
+
+INSERT INTO mb_role (role_name,role_description,role_exclude_auth) VALUES ('primary','Primary group for a mapbender user.',0);
+
+INSERT INTO mb_role (role_name,role_description,role_exclude_auth) VALUES ('metadata editor','Group for which the user can edit and publish metadata.',1);
+
+--constraint for new role system
+-- ALTER TABLE mb_user_mb_group DROP CONSTRAINT fkey_mb_user_mb_group_role_id;
+
+ALTER TABLE mb_user_mb_group
+  ADD CONSTRAINT fkey_mb_user_mb_group_role_id FOREIGN KEY (mb_user_mb_group_type)
+      REFERENCES mb_role (role_id) MATCH SIMPLE
+      ON UPDATE CASCADE ON DELETE CASCADE;
+
+--link for admin1
+INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, e_title, e_element, e_src, e_attributes, e_left, e_top, e_width, e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) VALUES('admin1','Group_User_Role',2,1,'allocate groups to user and roles','','a','','href = "../php/mod_group_user_role.php?sessionID&e_id_css=Group_User_Role" target = "AdminFrame" ',10,1234,200,20,NULL ,'font-family: Arial, Helvetica, sans-serif; font-size : 12px; text-decoration : none;color: #808080;','GROUP -> USER -> ROLE','a','','','','AdminFrame','http://www.mapbender.org/index.php/user');
+INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, var_value, context, var_type) VALUES('admin1', 'Group_User_Role', 'file css', '../css/administration_alloc.css', 'file css' ,'file/css');
+
+--update the group for the decentral registrating institutions
+-- View: registrating_groups
+CREATE OR REPLACE VIEW registrating_groups AS 
+ SELECT f.fkey_mb_group_id, f.fkey_mb_user_id
+   FROM mb_user_mb_group f, mb_user_mb_group s
+  WHERE f.mb_user_mb_group_type = 2 AND s.fkey_mb_group_id = 36 AND f.fkey_mb_user_id = s.fkey_mb_user_id
+  ORDER BY f.fkey_mb_group_id, f.fkey_mb_user_id;
+--*****end of role concept****
+
+
+
+
+



More information about the Mapbender_commits mailing list