mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-06 11:43:50 +00:00
new changes to group_permissions/menu logic
This commit is contained in:
@@ -26,6 +26,13 @@
|
||||
require_once "root.php";
|
||||
require_once "resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
require_once "resources/classes/logging.php";
|
||||
// Logging class initialization
|
||||
$log = new Logging();
|
||||
|
||||
// set path and name of log file (optional)
|
||||
$log->lfile('/tmp/mylog.txt');
|
||||
|
||||
if (permission_exists('group_permissions') || if_group("superadmin")) {
|
||||
//access granted
|
||||
}
|
||||
@@ -106,6 +113,7 @@ require_once "resources/paging.php";
|
||||
$permission_name = $row["permission_name"];
|
||||
$permissions_db[$permission_name] = "true";
|
||||
}
|
||||
|
||||
//show the db checklist
|
||||
//echo "<pre>";
|
||||
//print_r($permissions_db);
|
||||
@@ -121,7 +129,8 @@ require_once "resources/paging.php";
|
||||
$permissions_db_checklist[$row['name']] = "false";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//show the db checklist
|
||||
//echo "<pre>";
|
||||
//print_r($permissions_db_checklist);
|
||||
@@ -167,6 +176,58 @@ require_once "resources/paging.php";
|
||||
$sql .= "and permission_name = '$permission' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
foreach($apps as $app) {
|
||||
foreach ($app['permissions'] as $row) {
|
||||
if ($row['name'] == $permission) {
|
||||
|
||||
$log->lwrite("2");
|
||||
$log->lwrite($row['menu']['uuid']);
|
||||
|
||||
$sql = "delete from v_menu_item_groups ";
|
||||
$sql .= "where menu_item_uuid = '".$row['menu']['uuid']."' ";
|
||||
$sql .= "and group_name = '$group_name' ";
|
||||
$sql .= "and menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$sql = "";
|
||||
$sql .= " select menu_item_parent_uuid from v_menu_items ";
|
||||
$sql .= "where menu_item_uuid = '".$row['menu']['uuid']."' ";
|
||||
$sql .= "and menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$menu_item_parent_uuid = $row["menu_item_parent_uuid"];
|
||||
}
|
||||
unset ($prep_statement);
|
||||
|
||||
$sql = "";
|
||||
$sql .= " select * from v_menu_items as i, v_menu_item_groups as g ";
|
||||
$sql .= "where i.menu_item_uuid = g.menu_item_uuid ";
|
||||
$sql .= "and i.menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286' ";
|
||||
$sql .= "and i.menu_item_parent_uuid = '$menu_item_parent_uuid' ";
|
||||
$sql .= "and g.group_name = '$group_name' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$result_count = count($result);
|
||||
if ($result_count == 0) {
|
||||
$sql = "delete from v_menu_item_groups ";
|
||||
$sql .= "where menu_item_uuid = '$menu_item_parent_uuid' ";
|
||||
$sql .= "and group_name = '$group_name' ";
|
||||
$sql .= "and menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
unset ($prep_statement);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//set the permission to false in the permissions_db_checklist
|
||||
$permissions_db_checklist[$permission] = "false";
|
||||
}
|
||||
@@ -188,6 +249,71 @@ require_once "resources/paging.php";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
foreach($apps as $app) {
|
||||
foreach ($app['permissions'] as $row) {
|
||||
if ($row['name'] == $permission) {
|
||||
|
||||
$log->lwrite("1");
|
||||
$log->lwrite($row['menu']['uuid']);
|
||||
$log->lwrite($row['menu']['parent_uuid']);
|
||||
|
||||
$sql = "insert into v_menu_item_groups ";
|
||||
$sql .= "(";
|
||||
$sql .= "menu_uuid, ";
|
||||
$sql .= "menu_item_uuid, ";
|
||||
$sql .= "group_name ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'b4750c3f-2a86-b00d-b7d0-345c14eca286', ";
|
||||
$sql .= "'".$row['menu']['uuid']."', ";
|
||||
$sql .= "'$group_name' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$sql = "";
|
||||
$sql .= " select menu_item_parent_uuid from v_menu_items ";
|
||||
$sql .= "where menu_item_uuid = '".$row['menu']['uuid']."' ";
|
||||
$sql .= "and menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$menu_item_parent_uuid = $row["menu_item_parent_uuid"];
|
||||
}
|
||||
unset ($prep_statement);
|
||||
|
||||
$sql = "";
|
||||
$sql .= " select * from v_menu_item_groups ";
|
||||
$sql .= "where menu_item_uuid = '$menu_item_parent_uuid' ";
|
||||
$sql .= "and group_name = '$group_name' ";
|
||||
$sql .= "and menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$result_count = count($result);
|
||||
if ($result_count == 0) {
|
||||
$sql = "insert into v_menu_item_groups ";
|
||||
$sql .= "(";
|
||||
$sql .= "menu_uuid, ";
|
||||
$sql .= "menu_item_uuid, ";
|
||||
$sql .= "group_name ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'b4750c3f-2a86-b00d-b7d0-345c14eca286', ";
|
||||
$sql .= "'$menu_item_parent_uuid', ";
|
||||
$sql .= "'$group_name' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
unset ($prep_statement);
|
||||
}
|
||||
}
|
||||
}
|
||||
//set the permission to true in the permissions_db_checklist
|
||||
$permissions_db_checklist[$permission] = "true";
|
||||
}
|
||||
@@ -233,8 +359,19 @@ require_once "resources/paging.php";
|
||||
$app_name = $app['name'];
|
||||
$description = $app['description']['en-us'];
|
||||
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td valign='top' style='width:80%' nowrap='nowrap'>\n";
|
||||
echo "<strong>".$app_name."</strong><br />\n";
|
||||
echo " </td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td valign='top'>\n";
|
||||
echo "".$description."<br /><br />";
|
||||
echo " </td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>";
|
||||
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<th>".$text['label-permission_permissions']."</th>\n";
|
||||
|
||||
Reference in New Issue
Block a user