[ Index ]
 

Code source de eGroupWare 1.2.106-2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/mydms/op/ -> op.FolderAccess.php (source)

   1  <?php
   2  include ("../inc/inc.Settings.php");
   3  include ("../inc/inc.AccessUtils.php");
   4  include ("../inc/inc.ClassAccess.php");
   5  include ("../inc/inc.ClassDocument.php");
   6  include ("../inc/inc.ClassFolder.php");
   7  include ("../inc/inc.ClassGroup.php");
   8  include ("../inc/inc.ClassUser.php");
   9  include ("../inc/inc.DBAccess.php");
  10  include ("../inc/inc.FileUtils.php");
  11  include ("../inc/inc.Language.php");
  12  include ("../inc/inc.OutUtils.php");
  13  include ("../inc/inc.Authentication.php");
  14  
  15  $folderid    = isset($_GET['folderid']) ? (int) $_GET['folderid'] : NULL;
  16  
  17  $userid        = isset($_GET['userid']) ? (int) $_GET['userid'] : NULL;
  18  $groupid    = isset($_GET['groupid']) ? (int) $_GET['groupid'] : NULL;
  19  
  20  $action        = $_GET['action'];
  21  $mode        = $_GET['mode'];
  22  
  23  $ownerid    = isset($_GET['ownerid']) ? (int) $_GET['ownerid'] : NULL;
  24  
  25  $folder = getFolder($folderid);
  26  
  27  printHTMLHead( getMLText("folder_title", array("foldername" => $folder->getName()) ) );
  28  printTitleBar($folder);
  29  printCenterStart();
  30  
  31  printStartBox(getMLText("edit_folder_access"));
  32  
  33  print "<div class=\"standardText\">";
  34  
  35  
  36  if ($folder->getAccessMode($user) < M_ALL)
  37  {
  38      printMLText("operation_not_allowed");
  39      printGoBack();
  40  }
  41  else
  42  {
  43      //Ändern des Besitzers ----------------------------------------------------------------------------
  44      if ($action == "setowner")
  45      {
  46          if (!$user->isAdmin())
  47              die("Only an Administrator may set a new owner");
  48          $newOwner = getUser($ownerid);
  49          printMLText("setting_owner");
  50          
  51          $folder->setOwner($newOwner);
  52      }
  53  
  54      //Änderung auf nicht erben ------------------------------------------------------------------------
  55      else if ($action == "notinherit")
  56      {
  57          if ($mode == "copy")
  58              printMLText("folder_set_not_inherit_copy");
  59          else
  60              printMLText("folder_set_not_inherit_empty");
  61          
  62          $defAccess = $folder->getDefaultAccess();
  63          $folder->setInheritAccess(false);
  64          $folder->setDefaultAccess($defAccess);
  65          
  66          if ($mode == "copy")
  67          {
  68              $parent = $folder->getParent();
  69              $accessList = $parent->getAccessList();
  70              
  71              foreach ($accessList["users"] as $userAccess)
  72                  $folder->addAccess($userAccess->getMode(), $userAccess->getUserID(), true);
  73              foreach ($accessList["groups"] as $groupAccess)
  74                  $folder->addAccess($groupAccess->getMode(), $groupAccess->getGroupID(), false);
  75          }
  76      }
  77  
  78      //Änderung auf erben ------------------------------------------------------------------------------
  79      else if ($action == "inherit")
  80      {
  81          printMLText("folder_set_inherit");
  82          
  83          $folder->clearAccessList();
  84          $folder->setInheritAccess(true);
  85      }
  86  
  87      //Standardberechtigung setzen----------------------------------------------------------------------
  88      else if ($action == "setdefault")
  89      {
  90          if (!is_numeric($mode))
  91              die ("invalid access mode");
  92              
  93          printMLText("folder_set_default_access");
  94          $folder->setDefaultAccess($mode);
  95      }
  96  
  97      //Bestehende Berechtigung änndern -----------------------------------------------------------------
  98      else if ($action == "editaccess")
  99      {
 100          printMLText("folder_edit_access");
 101          
 102          if (!is_numeric($mode))
 103              die ("invalid access mode");
 104          
 105          if (isset($userid)) {
 106              if (!is_numeric($userid))
 107                  die ("invalid user id");
 108              $folder->changeAccess($mode, $userid, true);
 109          }
 110          else if (isset($groupid)) {
 111              if (!is_numeric($groupid))
 112                  die ("invalid group id");
 113              $folder->changeAccess($mode, $groupid, false);
 114          }
 115      }
 116  
 117      //Berechtigung löschen ----------------------------------------------------------------------------
 118      else if ($action == "delaccess")
 119      {
 120          printMLText("folder_del_access");
 121          if (isset($userid)) {
 122              if (!is_numeric($userid))
 123                  die ("invalid user id");
 124              $folder->removeAccess($userid, true);
 125          }
 126          else if (isset($groupid)) {
 127              if (!is_numeric($groupid))
 128                  die ("invalid group id");
 129              $folder->removeAccess($groupid, false);
 130          }
 131      }
 132  
 133      //Neue Berechtigung hinzufügen --------------------------------------------------------------------
 134      else if ($action == "addaccess")
 135      {
 136          printMLText("folder_add_access");
 137          
 138          if (!is_numeric($mode))
 139              die ("invalid access mode");
 140          
 141          if ($userid != 'none') {
 142              if (!is_numeric($userid))
 143                  die ("invalid user id");
 144              $folder->addAccess($mode, $userid, true);
 145          }
 146          if ($groupid != 'none') {
 147              if (!is_numeric($groupid))
 148                  die ("invalid group id");
 149              $folder->addAccess($mode, $groupid, false);
 150          }
 151      }
 152      
 153      printMLText("op_finished");
 154      printGoto(array(array($folder->getName(), "../out/out.ViewFolder.php?folderid=".$folder->getID()), 
 155                  array(getMLText("folder_access_again"), "../out/out.FolderAccess.php?folderid=".$folder->getID())));
 156  }
 157  
 158  
 159  
 160  print "</div>";
 161  printEndBox();
 162  printCenterEnd();
 163  printHTMLFoot();
 164  ?>


Généré le : Sun Feb 25 17:20:01 2007 par Balluche grâce à PHPXref 0.7