[ 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.DocumentAccess.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  $document = getDocument($documentid);
  16  
  17  
  18  printHTMLHead( getMLText("document_title", array("documentname" => $document->getName()) ) );
  19  printTitleBar($document->getFolder());
  20  printCenterStart();
  21  
  22  printStartBox(getMLText("edit_document_access"));
  23  
  24  print "<div class=\"standardText\">";
  25  
  26  
  27  if ($document->getAccessMode($user) < M_ALL)
  28  {
  29      printMLText("operation_not_allowed");
  30      printGoBack();
  31  }
  32  else
  33  {
  34      //Ändern des Besitzers ----------------------------------------------------------------------------
  35      if ($action == "setowner")
  36      {
  37          if (!$user->isAdmin())
  38              die("Only an Administrator may set a new owner");
  39          
  40          $newOwner = getUser($ownerid);
  41          printMLText("setting_owner");
  42          
  43          $document->setOwner($newOwner);
  44      }
  45  
  46      //Änderung auf nicht erben ------------------------------------------------------------------------
  47      else if ($action == "notinherit")
  48      {
  49          if ($mode == "copy")
  50              printMLText("document_set_not_inherit_copy");
  51          else
  52              printMLText("document_set_not_inherit_empty");
  53          
  54          $defAccess = $document->getDefaultAccess();
  55          $document->setInheritAccess(false);
  56          $document->setDefaultAccess($defAccess);
  57          
  58          //copy ACL of parent folder
  59          if ($mode == "copy")
  60          {
  61              $folder = $document->getFolder();
  62              $accessList = $folder->getAccessList();
  63              
  64              foreach ($accessList["users"] as $userAccess)
  65                  $document->addAccess($userAccess->getMode(), $userAccess->getUserID(), true);
  66              foreach ($accessList["groups"] as $groupAccess)
  67                  $document->addAccess($groupAccess->getMode(), $groupAccess->getGroupID(), false);
  68          }
  69      }
  70  
  71      //Änderung auf erben ------------------------------------------------------------------------------
  72      else if ($action == "inherit")
  73      {
  74          printMLText("document_set_inherit");
  75          
  76          $document->clearAccessList();
  77          $document->setInheritAccess(true);
  78      }
  79  
  80      //Standardberechtigung setzen----------------------------------------------------------------------
  81      else if ($action == "setdefault")
  82      {
  83          printMLText("document_set_default_access");
  84          
  85          if (!is_numeric($mode))
  86              die ("invalid access mode");
  87          
  88          $document->setDefaultAccess($mode);
  89      }
  90  
  91      //Bestehende Berechtigung änndern -----------------------------------------------------------------
  92      else if ($action == "editaccess")
  93      {
  94          printMLText("document_edit_access");
  95          
  96          if (!is_numeric($mode))
  97              die ("invalid access mode");
  98          
  99          if (isset($userid)) {
 100              if (!is_numeric($userid))
 101                  die ("invalid user id");
 102              $document->changeAccess($mode, $userid, true);
 103          }
 104          else if (isset($groupid)) {
 105              if (!is_numeric($groupid))
 106                  die ("invalid group id");
 107              $document->changeAccess($mode, $groupid, false);
 108          }
 109      }
 110  
 111      //Berechtigung löschen ----------------------------------------------------------------------------
 112      else if ($action == "delaccess")
 113      {
 114          printMLText("document_del_access");
 115          
 116          if (isset($userid)) {
 117              if (!is_numeric($userid))
 118                  die ("invalid user id");
 119              $document->removeAccess($userid, true);
 120          }
 121          else if (isset($groupid)) {
 122              if (!is_numeric($groupid))
 123                  die ("invalid group id");
 124              $document->removeAccess($groupid, false);
 125          }
 126      }
 127  
 128      //Neue Berechtigung hinzufügen --------------------------------------------------------------------
 129      else if ($action == "addaccess")
 130      {
 131          printMLText("document_add_access");
 132          
 133          if (!is_numeric($mode))
 134              die ("invalid access mode");
 135          
 136          if ($userid != -1) {
 137              if (!is_numeric($userid))
 138                  die ("invalid user id");
 139              $document->addAccess($mode, $userid, true);
 140          }
 141          if ($groupid != -1) {
 142              if (!is_numeric($groupid))
 143                  die ("invalid group id");
 144              $document->addAccess($mode, $groupid, false);
 145          }
 146      }
 147      printMLText("op_finished");
 148      printGoto(array(array($document->getName(), "../out/out.ViewDocument.php?documentid=".$document->getID()), 
 149                  array(getMLText("document_access_again"), "../out/out.DocumentAccess.php?documentid=".$document->getID())));
 150  
 151  }
 152  
 153  print "</div>";
 154  printEndBox();
 155  printCenterEnd();
 156  printHTMLFoot();
 157  ?>


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