Пример #1
0
    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);
Пример #2
0
<?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);