<?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");
<?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(); } } }