foreach ($_POST as $pid => $value) { if ($value === 'on') { $granted_permissions[] = $pid; } } $updated_permission_set = array(); foreach ($permissions as $permission) { $granted = (int) in_array($permission['pid'], $granted_permissions); if ($granted != $permission['granted']) { $updated_permission_set[$permission['permission'] . '_' . $rid] = array('pid' => $permission['pid'], 'granted' => $granted); } } foreach ($updated_permission_set as $row) { DB::table(PREFIX . 'codo_permissions')->where('pid', $row['pid'])->update(array('granted' => $row['granted'])); } $catPerm = new CODOF\Permission\Category(); $level1Cats = $catPerm->getSubCategoryIds(0); $catPerm->updatePermissionsOf($level1Cats, $updated_permission_set); foreach ($level1Cats as $cid) { $catPerm->updateChildPermissions($cid, $updated_permission_set); } $permissions = RoleEdit::getPermissions($rid); //refetch updated permissions $smarty->assign('msg', 'Permissions successfully saved'); } //RESET if (isset($_POST['reset']) && CODOF\Access\CSRF::valid($_POST['CSRF_token'])) { } $smarty->assign('role', RoleEdit::getRoleInfo($rid)); $smarty->assign('permissions', RoleEdit::getPermissionsByGroup($permissions)); $smarty->assign('A_RURI', A_RURI);
<?php if (!isset($_GET['cat_id'])) { header('Location: index.php?page=categories'); exit; } $cid = (int) $_GET['cat_id']; if (!isset($_GET['rid'])) { $rid = ROLE_GUEST; } else { $rid = $_GET['rid']; } $smarty->assign('msg', ''); $info = DB::table(PREFIX . 'codo_categories')->select('cat_id', 'cat_pid', 'cat_name')->where('cat_id', '=', $cid)->first(); $catPerm = new CODOF\Permission\Category(); $permissions = $catPerm->getPermissions($cid, $rid); $roles = DB::table(PREFIX . 'codo_roles')->get(); foreach ($roles as $role) { if ($role['rid'] == $rid) { $curr_role = $role; } } //save permissions if (isset($_POST['save']) && CODOF\Access\CSRF::valid($_POST['CSRF_token'])) { $granted_permissions = array(); foreach ($_POST as $pid => $value) { if ($value === 'on') { $granted_permissions[] = $pid; } } $updated_permission_set = $catPerm->updateCategoryPermissions($permissions, $granted_permissions);