Commit 2f228fea0fe0506200681e98a0b2d28ec29339e0

Authored by Neil Blakey-Milner
1 parent 7410bf01

Permissions manager - view permissions, add and delete custom

permissions.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3503 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/administration/permissions/managePermissions.php 0 → 100644
  1 +<?php
  2 +require_once("../../../../../config/dmsDefaults.php");
  3 +
  4 +require_once(KT_DIR . "/presentation/Html.inc");
  5 +
  6 +require_once(KT_LIB_DIR . "/templating/templating.inc.php");
  7 +
  8 +require_once(KT_LIB_DIR . "/permissions/permission.inc.php");
  9 +
  10 +require_once(KT_LIB_DIR . "/dispatcher.inc.php");
  11 +$sectionName = "Administration";
  12 +require_once(KT_DIR . "/presentation/webpageTemplate.inc");
  13 +
  14 +class ManagePermissionsDispatcher extends KTAdminDispatcher {
  15 + function do_main() {
  16 + $oTemplating = new KTTemplating;
  17 + $aPermissions =& KTPermission::getList();
  18 + $oTemplate = $oTemplating->loadTemplate("ktcore/manage_permissions");
  19 + $aTemplateData = array(
  20 + "permissions" => $aPermissions,
  21 + );
  22 + return $oTemplate->render($aTemplateData);
  23 + }
  24 +
  25 + function handleOutput($data) {
  26 + global $main;
  27 + $main->bFormDisabled = true;
  28 + $main->setCentralPayload($data);
  29 + $main->render();
  30 + }
  31 +
  32 + function do_newPermission() {
  33 + $name = KTUtil::arrayGet($_REQUEST, 'name');
  34 + $human_name = KTUtil::arrayGet($_REQUEST, 'human_name');
  35 + if (empty($name) || empty($human_name)) {
  36 + return $this->errorRedirectToMain("Both names not given");
  37 + }
  38 + $oPerm = KTPermission::createFromArray(array(
  39 + 'name' => $name,
  40 + 'humanname' => $human_name,
  41 + ));
  42 + if (PEAR::isError($oPerm)) {
  43 + return $this->errorRedirectToMain("Error creating permission");
  44 + }
  45 + return $this->errorRedirectToMain("Permission created");
  46 + }
  47 +
  48 + function do_deletePermission() {
  49 + $id = KTUtil::arrayGet($_REQUEST, 'id');
  50 + if (empty($id)) {
  51 + return $this->errorRedirectToMain("Both names not given");
  52 + }
  53 + $oPerm = KTPermission::get($id);
  54 + if (PEAR::isError($oPerm)) {
  55 + return $this->errorRedirectToMain("Error finding permission");
  56 + }
  57 + if ($oPerm->getBuiltIn() === true) {
  58 + return $this->errorRedirectToMain("Can't delete built-in permission");
  59 + }
  60 + $res = $oPerm->delete();
  61 + if (PEAR::isError($res)) {
  62 + return $this->errorRedirectToMain("Error deleting permission");
  63 + }
  64 + return $this->errorRedirectToMain("Permission deleted");
  65 + }
  66 +}
  67 +
  68 +$oDispatcher = new ManagePermissionsDispatcher();
  69 +$oDispatcher->dispatch();
  70 +
  71 +?>
... ...