Call a private Horde application method.
public callAppMethod ( string $app, string $call, array $options = [] ) : mixed | ||
$app | string | The application name. |
$call | string | The method to call. |
$options | array | Additional options: - args: (array) Additional parameters to pass to the method. - check_missing: (boolean) If true, throws an Exception if method does not exist. Otherwise, will return null. - noperms: (boolean) If true, don't check the perms. |
return | mixed | Various. |
/** * Deletes a card * * @param mixed $addressBookId * @param string $cardUri * @return bool */ public function deleteCard($addressBookId, $cardUri) { try { return $this->_registry->callAppMethod($this->_contacts(), 'davDeleteObject', array('args' => array($addressBookId, $cardUri))); } catch (Horde_Exception $e) { throw new DAV\Exception($e->getMessage(), $e->getCode(), $e); } }
/** * Deletes an existing calendar object. * * @param mixed $calendarId * @param string $objectUri * @return void */ public function deleteCalendarObject($calendarId, $objectUri) { try { return $this->_registry->callAppMethod($this->_interface($calendarId), 'davDeleteObject', array('args' => array($calendarId, $objectUri))); } catch (Horde_Exception $e) { throw new DAV\Exception($e->getMessage(), $e->getCode(), $e); } }
/** * 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; }