Skip to content
Snippets Groups Projects
Commit a315650f authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

14H05 - Base des perms de groupes terminée

parent 777c8642
No related branches found
No related tags found
No related merge requests found
...@@ -224,6 +224,33 @@ if (isset($_GET["getNotifications"])) { ...@@ -224,6 +224,33 @@ if (isset($_GET["getNotifications"])) {
} }
echo json_encode($permissions); echo json_encode($permissions);
} elseif (isset($_GET["editPermissions"])&&!empty($_GET["editPermissions"]) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'editPermissions')) {
if(isJson(urldecode($_GET["editPermissions"]))){
$requestDetails = json_decode($_GET["editPermissions"], true);
if($requestDetails['type'] == 'group' && $requestDetails['id']!=1){ // Le groupe n°1 étant celui des superadmins, ils auront tj tous les droits
$query = $bdd->prepare('DELETE FROM `vbcms-groupsPerms` WHERE groupId=?'); // On vide les perms du groupe
$query->execute([$requestDetails['id']]);
foreach($_POST as $permissionJson => $checked) { // Puis on les recréées
$permissionDetail = json_decode(urldecode($permissionJson), true);
$query = $bdd->prepare('INSERT INTO `vbcms-groupsPerms` (`groupId`, `extensionName`, `permission`) VALUES (?,?,?)');
$query->execute([$requestDetails['id'], $permissionDetail['extension'], $permissionDetail['permission']]);
}
}elseif($requestDetails['type'] == 'user'){
$query = $bdd->prepare('DELETE FROM `vbcms-usersPerms` WHERE userId=?'); // On vide les perms du groupe
$query->execute([$requestDetails['id']]);
foreach($_POST as $permissionJson => $checked) { // Puis on les recréées
$permissionDetail = json_decode(urldecode($permissionJson), true);
$query = $bdd->prepare('INSERT INTO `vbcms-usersPerms` (`userId`, `extensionName`, `permission`) VALUES (?,?,?)');
$query->execute([$requestDetails['id'], $permissionDetail['extension'], $permissionDetail['permission']]);
}
}else{
echo 'Paramètre non reconnu.';
}
} else {
echo translate('error').': '.translate('thisIsNotJSON');
}
} elseif (isset($_GET["setNetIdLocalAccount"])&&!empty($_GET["setNetIdLocalAccount"]) && (isset($_POST)&&!empty($_POST)) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')) { } elseif (isset($_GET["setNetIdLocalAccount"])&&!empty($_GET["setNetIdLocalAccount"]) && (isset($_POST)&&!empty($_POST)) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')) {
$localAccountExist = $bdd->prepare("SELECT * FROM `vbcms-localAccounts` WHERE netIdAssoc = ?"); $localAccountExist = $bdd->prepare("SELECT * FROM `vbcms-localAccounts` WHERE netIdAssoc = ?");
$localAccountExist->execute([$_GET["setNetIdLocalAccount"]]); $localAccountExist->execute([$_GET["setNetIdLocalAccount"]]);
......
...@@ -166,7 +166,7 @@ function selectGroup(id){ ...@@ -166,7 +166,7 @@ function selectGroup(id){
permission: permission.name permission: permission.name
}; };
$("#permsForm").append('<div class="form-check">\ $("#permsForm").append('<div class="form-check">\
<input class="form-check-input" type="checkbox" name="'+encodeURIComponent(JSON.stringify(inputName))+'" '+hasPerm+'>\ <input class="form-check-input" type="checkbox" name="'+encodeURIComponent(JSON.stringify(inputName))+'" onclick="editPermissions('+id+')" '+hasPerm+'>\
<label class="form-check-label">'+permission.name+'</label>\ <label class="form-check-label">'+permission.name+'</label>\
</div>'); </div>');
}); });
...@@ -175,4 +175,27 @@ function selectGroup(id){ ...@@ -175,4 +175,27 @@ function selectGroup(id){
} }
}); });
} }
function editPermissions(id){
var array = {
type: "group",
id: id
};
$.post( "<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/backTasks?editPermissions="+encodeURIComponent(JSON.stringify(array)), $( "#permsForm" ).serialize() )
.done(function( data ) {
if(data!=""){
SnackBar({
message: data,
status: "danger",
timeout: false
});
} else {
SnackBar({
message: '<?=translate("success-saving")?>',
status: "success"
});
}
});
}
</script> </script>
\ No newline at end of file
...@@ -62,7 +62,7 @@ function getSettingsHTML($params){ ...@@ -62,7 +62,7 @@ function getSettingsHTML($params){
include "settings/general.php"; include "settings/general.php";
}elseif($params=="users" && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')){ }elseif($params=="users" && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')){
include "settings/users.php"; include "settings/users.php";
}elseif($params=="userGroups" && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageuserGroupsSettings')){ }elseif($params=="userGroups" && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUserGroupsSettings')){
include "settings/groups.php"; include "settings/groups.php";
} ?> } ?>
</div> </div>
......
<?php <?php
$permissions = [ $permissions = [
'manageUsersSettings', 'accessAdmin',
'viewPermissions', 'viewPermissions',
'editPermissions',
'access-generalSettings', 'access-generalSettings',
'manageUsersSettings', 'manageUsersSettings',
'manageuserGroupsSettings', 'manageUserGroupsSettings',
'permissionsSettings', 'permissionsSettings',
'extAndWsSettings' 'extAndWsSettings'
]; ];
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment