Esempio n. 1
0
<?php

include 'permissions.logic.php';
//Handle current permission mode
$mode = new Lan_permission_modes();
if (isset($_POST["mode"])) {
    if ($mode->get(escape($_POST["mode"]))) {
        $master->Smarty->assign("mode", $mode);
    } else {
        $master->AddError("Unknown permission group passed!");
    }
} else {
    $mode->find();
    if ($mode->fetch()) {
        $master->Smarty->assign("mode", $mode);
    } else {
        $master->AddError("Could not find any groups to display!");
    }
}
//Find groups
$groups = array();
$group = new Lan_permission_groups();
$group->find();
while ($group->fetch()) {
    $groups[] = clone $group;
}
$master->Smarty->assign("grouplist", $groups);
//Find permissions for each mode and group
$permissionlist = array();
$permission = new Lan_permission();
$permission->orderBy("module");
Esempio n. 2
0
<?php

$allowed = true;
if (!CheckPermission("admin", "change permissions")) {
    $master->AddError("You do not have permission to access this page!");
    $allowed = false;
}
if ($allowed && isset($_POST["update"])) {
    $mode = new Lan_permission_modes();
    if ($mode->get(GETSafe("mode"))) {
        //Clear down settings for the current mode
        $settings = new Lan_permission_settings();
        $settings->mode_id = $mode->mode_id;
        $settings->find();
        while ($settings->fetch()) {
            $settings->delete();
        }
        //Add settings for the current mode
        foreach ($_POST as $k => $v) {
            if (!streq("update", $k) || streq("1", $v)) {
                $values = explode("-", $k);
                if (2 == count($values)) {
                    //	echo "perm " . $values[0] . " group " . $values[1];
                    $settings = new Lan_permission_settings();
                    $settings->group_id = $values[1];
                    $settings->mode_id = $mode->mode_id;
                    $settings->permission_id = $values[0];
                    $settings->insert();
                }
            }
        }