Index: /trunk/include/oninstall.php
===================================================================
--- /trunk/include/oninstall.php	(revision 151)
+++ /trunk/include/oninstall.php	(revision 152)
@@ -153,5 +153,5 @@
   		name varchar(50)  NOT NULL default '' ,
   		description text  NOT NULL default '',
-  		group_type varchar(10)  NOT NULL default '' ,
+  		group_type varchar(50)  NOT NULL default '' ,
 		role varchar(20)  NOT NULL default '' ,
 		login_all smallint(5) unsigned NOT NULL default '0' ,
Index: /trunk/include/onupdate.php
===================================================================
--- /trunk/include/onupdate.php	(revision 151)
+++ /trunk/include/onupdate.php	(revision 152)
@@ -126,5 +126,5 @@
 	  		name varchar(50)  NOT NULL default '' ,
 	  		description text  NOT NULL default '',
-	  		group_type varchar(10)  NOT NULL default '' ,
+	  		group_type varchar(50)  NOT NULL default '' ,
 			role varchar(20)  NOT NULL default '' ,
 			login_all smallint(5) unsigned NOT NULL default '0' ,
Index: /trunk/wp-content/plugins/xpressme/xpressme_class.php
===================================================================
--- /trunk/wp-content/plugins/xpressme/xpressme_class.php	(revision 151)
+++ /trunk/wp-content/plugins/xpressme/xpressme_class.php	(revision 152)
@@ -139,4 +139,8 @@
 		$table = get_wp_prefix() . 'group_role';
 		$xoops_group = get_xoops_prefix() . 'groups';
+		$xoops_group_permission = get_xoops_prefix() . 'group_permission';
+		
+		$module_id = get_xpress_modid();
+		
 		$sql=  "SELECT * FROM $table";
 		$before_groupes = $xoops_db->get_results($sql);
@@ -145,27 +149,40 @@
 		$xoops_db->query($sql);
 		
-		
-		$sql=  "SELECT * FROM $xoops_group WHERE group_type <> 'Anonymous'";
+		$sql =  "SELECT *  FROM $xoops_group_permission WHERE gperm_itemid = $module_id";
+		$gperms = $xoops_db->get_results($sql);
+		
+		$sql =  "SELECT * FROM $xoops_group WHERE group_type <> 'Anonymous'";
 		$groupes = $xoops_db->get_results($sql);
 		$insert_sql = '';
 		foreach ($groupes as $groupe) {
-			$role = '';
-			foreach ($before_groupes as $before_groupe) {
-				if ($groupe->groupid == $before_groupe->groupid) {
-					$role = $before_groupe->role;
-					$login_all = $before_groupe->login_all;
+			$parmsql =  "SELECT *  FROM $xoops_group_permission WHERE gperm_itemid = $module_id AND gperm_groupid = $groupe->groupid";
+			$gperms = $xoops_db->get_results($parmsql);
+			$parmission = '';
+			foreach ($gperms as $gperm) {
+				$parmission = $gperm->gperm_name;
+				if ($parmission == 'module_admin') break;
+			}
+			
+			if (!empty($parmission)){
+				$role = ''; 
+				foreach ($before_groupes as $before_groupe) {
+					if ($groupe->groupid == $before_groupe->groupid) {
+						$role = $before_groupe->role;
+						$login_all = $before_groupe->login_all;
+					}
 				}
-			}
-			
-			$insert_sql  = "INSERT INTO  $table ";
-			$insert_sql .= "(groupid , name , description , group_type , role , login_all) ";
-			$insert_sql .= "VALUES (";
-			$insert_sql .= $groupe->groupid . ', ';
-			$insert_sql .= "'" . $groupe->name . "' , ";
-			$insert_sql .= "'" . $groupe->description . "' , ";
-			$insert_sql .= "'" . $groupe->group_type . "' , ";
-			$insert_sql .= "'" . $role . "' , '";
-			$insert_sql .= $login_all . "')";
-			$xoops_db->query($insert_sql);
+				if ($parmission == 'module_admin') $role = 'administrator';
+				
+				$insert_sql  = "INSERT INTO  $table ";
+				$insert_sql .= "(groupid , name , description , group_type , role , login_all) ";
+				$insert_sql .= "VALUES (";
+				$insert_sql .= $groupe->groupid . ', ';
+				$insert_sql .= "'" . $groupe->name . "' , ";
+				$insert_sql .= "'" . $groupe->description . "' , ";
+				$insert_sql .= "'" . $parmission . "' , ";
+				$insert_sql .= "'" . $role . "' , '";
+				$insert_sql .= $login_all . "')";
+				$xoops_db->query($insert_sql);
+			}
 		}
 		
@@ -406,9 +423,9 @@
 					$selected = '';
 				}
-				if ($groupe->group_type != 'Admin' || $groupe->groupid > 3 || !empty($selected)) {
+				if ($groupe->group_type != 'module_admin'|| !empty($selected)) {
 					$role_list .= "<option value=\"{$role}\"{$selected}>{$name}</option>\n";
 				}
 			}
-			if ($groupe->group_type != 'Admin' || $groupe->groupid > 3) {
+			if ($groupe->group_type != 'module_admin') {
 				if ( $group_has_role ) {
 					$role_list .= '<option value="default">' . __('Default Role of WordPress', 'xpressme') . "</option>\n";
Index: /trunk/xoops_version.php
===================================================================
--- /trunk/xoops_version.php	(revision 151)
+++ /trunk/xoops_version.php	(revision 152)
@@ -31,5 +31,5 @@
 $modversion['name'] = ucfirst($mydirname) . ' ' . constant('_MI_XPRESS_NAME') ;
 $modversion['description'] = constant( '_MI_XPRESS_DESC');
-$modversion['version'] = "0.22";
+$modversion['version'] = "0.23";
 $modversion['credits'] = "Wordpress DEV (http://wordpress.org/) XPressME DEV Toemon) (http://www.toemon.com) ;";
 $modversion['author'] = "toemon (http://www.toemon.com)";
@@ -40,5 +40,5 @@
 
 // status
-$modversion['codename'] = "r150";
+$modversion['codename'] = "r152";
 
 // onInstall, onUpdate, onUninstall
