mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Change menu class method restore2 to restore_all. Remove group permissions from restore (Restore Default) and leave in restore_all (Restore All)
This commit is contained in:
@@ -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 "<meta http-equiv=\"refresh\" content=\"2;url=/core/menu/menu_edit.php?id=$menu_uuid\">\n";
|
||||
echo "<meta http-equiv=\"refresh\" content=\"1;url=/core/menu/menu_edit.php?id=$menu_uuid\">\n";
|
||||
echo "<div align='center'>\n";
|
||||
echo "Restore Complete\n";
|
||||
echo "</div>\n";
|
||||
|
||||
@@ -61,7 +61,7 @@ else {
|
||||
|
||||
//show a message to the user
|
||||
require_once "resources/header.php";
|
||||
echo "<meta http-equiv=\"refresh\" content=\"2;url=".PROJECT_PATH."/core/menu/menu_edit.php?id=$menu_uuid\">\n";
|
||||
echo "<meta http-equiv=\"refresh\" content=\"1;url=".PROJECT_PATH."/core/menu/menu_edit.php?id=$menu_uuid\">\n";
|
||||
echo "<div align='center'>\n";
|
||||
echo $text['message-restore']."\n";
|
||||
echo "</div>\n";
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user