getPermissions() public method

Finds out what rights the given user has to this object.
public getPermissions ( mixed $permission, string $user, string $creator = null ) : mixed
$permission mixed The full permission name of the object to check the permissions of, or the Horde_Permissions object.
$user string The user to check for.
$creator string The user who created the event.
return mixed A bitmask of permissions the user has, false if there are none.
Beispiel #1
0
 /**
  * Finds out what rights the given user has to this object.
  *
  * @see Horde_Perms::getPermissions
  *
  * @param mixed $share  The share that should be checked for the users
  *                      permissions.
  * @param string $user  The user to check for.
  *
  * @return mixed  A bitmask of permissions, a permission value, or an array
  *                of permission values the user has, depending on the
  *                permission type and whether the permission value is
  *                ambiguous. False if there is no such permsission.
  */
 public function getPermissions($share, $user = null)
 {
     if (!$share instanceof Horde_Share_Object) {
         $share = $this->getShare($share);
     }
     return $this->_permsObject->getPermissions($share->getPermission(), $user);
 }
Beispiel #2
0
 /**
  * Finds out if the user has the specified rights to the given object,
  * specific to a certain application.
  *
  * @param string $permission  The permission to check.
  * @param array $opts         Additional options:
  * <pre>
  * 'app' - (string) The app to check.
  *         DEFAULT: The current pushed app.
  * 'opts' - (array) Additional options to pass to the app function.
  *          DEFAULT: None
  * </pre>
  *
  * @return mixed  The specified permissions.
  */
 public function hasAppPermission($permission, $opts = array())
 {
     $app = isset($opts['app']) ? $opts['app'] : $this->_registry->getApp();
     if ($this->_perms->exists($app . ':' . $permission)) {
         $perms = $this->_perms->getPermissions($app . ':' . $permission, $this->_registry->getAuth());
         if ($perms === false) {
             return false;
         }
         $args = array($permission, $perms, isset($opts['opts']) ? $opts['opts'] : array());
         try {
             return $this->_registry->callAppMethod($app, 'hasPermission', array('args' => $args));
         } catch (Horde_Exception $e) {
         }
     }
     return true;
 }