From 7c3300faf6ae91436a775c1dfa457d694be4b1e0 Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Sun, 24 Nov 2013 01:35:37 +0000 Subject: [PATCH] Change menu class method restore2 to restore_all. Remove group permissions from restore (Restore Default) and leave in restore_all (Restore All) --- core/menu/menu_restore_all_default.php | 4 +- core/menu/menu_restore_default.php | 2 +- resources/classes/menu.php | 105 +++++-------------------- 3 files changed, 22 insertions(+), 89 deletions(-) diff --git a/core/menu/menu_restore_all_default.php b/core/menu/menu_restore_all_default.php index 2dd43b2b0a..55378682b5 100644 --- a/core/menu/menu_restore_all_default.php +++ b/core/menu/menu_restore_all_default.php @@ -45,7 +45,7 @@ else { $menu->menu_uuid = $menu_uuid; $menu->menu_language = $menu_language; $menu->delete(); - $menu->restore2(); + $menu->restore_all(); //unset the menu session variable $_SESSION["menu"] = ""; @@ -55,7 +55,7 @@ else { //show a message to the user require_once "resources/header.php"; - echo "\n"; + echo "\n"; echo "
\n"; echo "Restore Complete\n"; echo "
\n"; diff --git a/core/menu/menu_restore_default.php b/core/menu/menu_restore_default.php index fbf9fea45d..944da9ccd1 100644 --- a/core/menu/menu_restore_default.php +++ b/core/menu/menu_restore_default.php @@ -61,7 +61,7 @@ else { //show a message to the user require_once "resources/header.php"; - echo "\n"; + echo "\n"; echo "
\n"; echo $text['message-restore']."\n"; echo "
\n"; diff --git a/resources/classes/menu.php b/resources/classes/menu.php index 1e7b719d82..7c32a9e66e 100644 --- a/resources/classes/menu.php +++ b/resources/classes/menu.php @@ -153,59 +153,6 @@ } } - //set default group permissions - $sql = "DELETE FROM v_group_permissions "; - $db->query($sql); - unset($sql); - - $sql2 = "SELECT domain_uuid FROM v_domains "; - $prep_statement2 = $db->prepare(check_sql($sql2)); - $prep_statement2->execute(); - $result2 = $prep_statement2->fetchAll(PDO::FETCH_ASSOC); - foreach($result2 as $row2) { - unset ($prep_statement2, $sql2); - foreach($apps as $row) { - foreach ($row['permissions'] as $menu) { - //set the variables - if ($menu['groups']) { - foreach ($menu['groups'] as $group) { - //assign the groups to the permissions - $sql = "SELECT * FROM v_group_permissions "; - $sql .= "WHERE permission_name = '".$menu['name']."' "; - $sql .= "AND domain_uuid = '".$row2['domain_uuid']."' "; - $sql .= "AND group_name = '$group' "; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - unset ($prep_statement); - if (count($result) == 0) { - //insert the default menu into the database - $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 .= "'".$row2["domain_uuid"]."', "; - $sql .= "'".$menu['name']."', "; - $sql .= "'".$group."' "; - $sql .= ");"; - $db->exec(check_sql($sql)); - unset($sql); - } - } - } - } - } - } - } - unset($sql2, $result2); - //if there are no groups listed in v_menu_item_groups under menu_item_uuid then add the default groups foreach($apps as $app) { foreach ($app['menu'] as $sub_row) { @@ -242,8 +189,8 @@ $db->commit(); } //end function - //restore the menu - function restore2() { + //restore the menu and group permissions + function restore_all() { //set the variables $db = $this->db; @@ -364,39 +311,25 @@ unset ($prep_statement2, $sql2); foreach($apps as $row) { foreach ($row['permissions'] as $menu) { - //set the variables if ($menu['groups']) { foreach ($menu['groups'] as $group) { - //if the item uuid is not currently in the db then add it - $sql = "select * from v_group_permissions "; - $sql .= "where permission_name = '".$menu['name']."' "; - $sql .= "and domain_uuid = '".$row2['domain_uuid']."' "; - $sql .= "and group_name = '$group' "; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - unset ($prep_statement); - if (count($result) == 0) { - //insert the default menu into the database - $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 .= "'".$row2["domain_uuid"]."', "; - $sql .= "'".$menu['name']."', "; - $sql .= "'".$group."' "; - $sql .= ");"; - $db->exec(check_sql($sql)); - unset($sql); - } - } + //assign the groups to the permissions + $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 .= "'".$row2["domain_uuid"]."', "; + $sql .= "'".$menu['name']."', "; + $sql .= "'".$group."' "; + $sql .= ");"; + $db->exec(check_sql($sql)); + unset($sql); } } }