Explorar o código

Add a default group check.

markjcrane %!s(int64=9) %!d(string=hai) anos
pai
achega
8b4b117dba
Modificáronse 2 ficheiros con 7 adicións e 99 borrados
  1. 3 99
      core/users/app_defaults.php
  2. 4 0
      resources/classes/menu.php

+ 3 - 99
core/users/app_defaults.php

@@ -25,106 +25,10 @@
 */
 
 if ($domains_processed == 1) {
-	//if the are no groups add the default groups
-		$sql = "SELECT * FROM v_groups ";
-		$sql .= "WHERE domain_uuid is null ";
-		$sub_result = $db->query($sql)->fetch();
-		$prep_statement = $db->prepare(check_sql($sql));
-		if ($prep_statement) {
-			$prep_statement->execute();
-			$sub_result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
-			if (count($sub_result) == 0) {
-				$x = 0;
-				$tmp[$x]['group_name'] = 'superadmin';
-				$tmp[$x]['group_description'] = 'Super Administrator Group';
-				$tmp[$x]['group_protected'] = 'false';
-				$x++;
-				$tmp[$x]['group_name'] = 'admin';
-				$tmp[$x]['group_description'] = 'Administrator Group';
-				$tmp[$x]['group_protected'] = 'false';
-				$x++;
-				$tmp[$x]['group_name'] = 'user';
-				$tmp[$x]['group_description'] = 'User Group';
-				$tmp[$x]['group_protected'] = 'false';
-				$x++;
-				$tmp[$x]['group_name'] = 'public';
-				$tmp[$x]['group_description'] = 'Public Group';
-				$tmp[$x]['group_protected'] = 'false';
-				$x++;
-				$tmp[$x]['group_name'] = 'agent';
-				$tmp[$x]['group_description'] = 'Call Center Agent Group';
-				$tmp[$x]['group_protected'] = 'false';
-				$db->beginTransaction();
-				foreach($tmp as $row) {
-					if (strlen($row['group_name']) > 0) {
-						$sql = "insert into v_groups ";
-						$sql .= "(";
-						$sql .= "domain_uuid, ";
-						$sql .= "group_uuid, ";
-						$sql .= "group_name, ";
-						$sql .= "group_description, ";
-						$sql .= "group_protected ";
-						$sql .= ")";
-						$sql .= "values ";
-						$sql .= "(";
-						$sql .= "null, ";
-						$sql .= "'".uuid()."', ";
-						$sql .= "'".$row['group_name']."', ";
-						$sql .= "'".$row['group_description']."', ";
-						$sql .= "'".$row['group_protected']."' ";
-						$sql .= ")";
-						$db->exec(check_sql($sql));
-						unset($sql);
-					}
-				}
-				$db->commit();
-			}
-			unset($prep_statement, $sub_result);
-		}
 
-	//if there are no permissions listed in v_group_permissions then set the default permissions
-		$sql = "select count(*) as count from v_group_permissions ";
-		$sql .= "where domain_uuid is null ";
-		$prep_statement = $db->prepare($sql);
-		$prep_statement->execute();
-		$sub_result = $prep_statement->fetch(PDO::FETCH_ASSOC);
-		unset ($prep_statement);
-		if ($sub_result['count'] > 0) {
-			if ($display_type == "text") {
-				echo "	Group Permissions:	no change\n";
-			}
-		}
-		else {
-			if ($display_type == "text") {
-				echo "	Group Permissions:	added\n";
-			}
-			//no permissions found add the defaults
-			$db->beginTransaction();
-			foreach($apps as $app) {
-				foreach ($app['permissions'] as $sub_row) {
-					foreach ($sub_row['groups'] as $group) {
-						//add the record
-						$sql = "insert into v_group_permissions ";
-						$sql .= "(";
-						$sql .= "group_permission_uuid, ";
-						$sql .= "domain_uuid, ";
-						$sql .= "permission_name, ";
-						$sql .= "group_name ";
-						$sql .= ")";
-						$sql .= "values ";
-						$sql .= "(";
-						$sql .= "'".uuid()."', ";
-						$sql .= "null, ";
-						$sql .= "'".$sub_row['name']."', ";
-						$sql .= "'".$group."' ";
-						$sql .= ")";
-						$db->exec($sql);
-						unset($sql);
-					}
-				}
-			}
-			$db->commit();
-		}
+	//if the default groups do not exist add them
+		$group = new groups;
+		$group->defaults();
 
 	//find rows that have a null group_uuid and set the correct group_uuid
 		$sql = "select * from v_group_users ";

+ 4 - 0
resources/classes/menu.php

@@ -177,6 +177,10 @@
 						}
 					}
 
+				//make sure the default user groups exist
+					$group = new groups;
+					$group->defaults();
+
 				//get default global group_uuids
 					$sql = "select group_uuid, group_name from v_groups ";
 					$sql .= "where domain_uuid is null ";