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. |
/** * 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); }
/** * 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; }