oPage->setTitle(_kt('Manage Permissions')); $this->aBreadcrumbs[] = array('url' => $_SERVER['PHP_SELF'], 'name' => _kt('Manage Permissions')); $add_fields = array(); $add_fields[] = new KTStringWidget(_kt('System Name'), _kt('The internal name used for the permission. This should never be changed.'), 'name', null, $this->oPage, true); $add_fields[] = new KTStringWidget(_kt('Display Name'), _kt('A short name that is shown to users whenever permissions must be assigned.'), 'human_name', null, $this->oPage, true); $oTemplating =& KTTemplating::getSingleton(); $aPermissions =& KTPermission::getList(); $oTemplate = $oTemplating->loadTemplate("ktcore/manage_permissions"); $aTemplateData = array( 'context' => $this, "permissions" => $aPermissions, 'add_fields' => $add_fields, ); return $oTemplate->render($aTemplateData); } function do_newPermission() { $name = KTUtil::arrayGet($_REQUEST, 'name'); $human_name = KTUtil::arrayGet($_REQUEST, 'human_name'); if (empty($name) || empty($human_name)) { return $this->errorRedirectToMain(_kt("Both names not given")); } $oPerm = KTPermission::createFromArray(array( 'name' => $name, 'humanname' => $human_name, )); if (PEAR::isError($oPerm)) { return $this->errorRedirectToMain(_kt("Error creating permission")); } return $this->successRedirectToMain(_kt("Permission created")); } function do_deletePermission() { $id = KTUtil::arrayGet($_REQUEST, 'id'); if (empty($id)) { return $this->errorRedirectToMain(_kt("Both names not given")); } $oPerm = KTPermission::get($id); if (PEAR::isError($oPerm)) { return $this->errorRedirectToMain(_kt("Error finding permission")); } if ($oPerm->getBuiltIn() === true) { return $this->errorRedirectToMain(_kt("Can't delete built-in permission")); } $res = $oPerm->delete(); if (PEAR::isError($res)) { return $this->errorRedirectToMain(_kt("Error deleting permission")); } return $this->successRedirectToMain(_kt("Permission deleted")); } } ?>