本文整理汇总了PHP中OC_Calendar_App::getAccessClassPermissions方法的典型用法代码示例。如果您正苦于以下问题:PHP OC_Calendar_App::getAccessClassPermissions方法的具体用法?PHP OC_Calendar_App::getAccessClassPermissions怎么用?PHP OC_Calendar_App::getAccessClassPermissions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OC_Calendar_App
的用法示例。
在下文中一共展示了OC_Calendar_App::getAccessClassPermissions方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getACL
/**
* Returns a list of ACE's for this node.
*
* Each ACE has the following properties:
* * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
* currently the only supported privileges
* * 'principal', a url to the principal who owns the node
* * 'protected' (optional), indicating that this ACE is not allowed to
* be updated.
*
* @return array
*/
public function getACL()
{
$readprincipal = $this->getOwner();
$writeprincipal = $this->getOwner();
$uid = OC_Calendar_Calendar::extractUserID($this->getOwner());
if ($uid != OCP\USER::getUser()) {
$object = OC_VObject::parse($this->objectData['calendardata']);
$sharedCalendar = OCP\Share::getItemSharedWithBySource('calendar', $this->calendarInfo['id']);
$sharedAccessClassPermissions = OC_Calendar_App::getAccessClassPermissions($object->VEVENT->CLASS->value);
if ($sharedCalendar && $sharedCalendar['permissions'] & OCP\PERMISSION_READ && $sharedAccessClassPermissions & OCP\PERMISSION_READ) {
$readprincipal = 'principals/' . OCP\USER::getUser();
}
if ($sharedCalendar && $sharedCalendar['permissions'] & OCP\PERMISSION_UPDATE && $sharedAccessClassPermissions & OCP\PERMISSION_UPDATE) {
$writeprincipal = 'principals/' . OCP\USER::getUser();
}
}
return array(array('privilege' => '{DAV:}read', 'principal' => $readprincipal, 'protected' => true), array('privilege' => '{DAV:}write', 'principal' => $writeprincipal, 'protected' => true), array('privilege' => '{DAV:}read', 'principal' => $readprincipal . '/calendar-proxy-write', 'protected' => true), array('privilege' => '{DAV:}write', 'principal' => $writeprincipal . '/calendar-proxy-write', 'protected' => true), array('privilege' => '{DAV:}read', 'principal' => $readprincipal . '/calendar-proxy-read', 'protected' => true));
}
示例2: getAccessClassPermissions
/**
* @brief Get the permissions determined by the access class of an event/todo/journal
* @param Sabre_VObject $vobject Sabre VObject
* @return (int) $permissions - CRUDS permissions
* @see OCP\Share
*/
public static function getAccessClassPermissions($vobject)
{
if (isset($vobject->VEVENT)) {
$velement = $vobject->VEVENT;
} elseif (isset($vobject->VJOURNAL)) {
$velement = $vobject->VJOURNAL;
} elseif (isset($vobject->VTODO)) {
$velement = $vobject->VTODO;
}
$accessclass = $velement->getAsString('CLASS');
return OC_Calendar_App::getAccessClassPermissions($accessclass);
}
示例3: getAccessClassPermissions
/**
* @brief Get the permissions determined by the access class of an event/todo/journal
* @param Sabre_VObject $vobject Sabre VObject
* @return (int) $permissions - CRUDS permissions
* @see OCP\Share
*/
public static function getAccessClassPermissions($vobject)
{
$velement = self::getElement($vobject);
$accessclass = $velement->getAsString('CLASS');
return OC_Calendar_App::getAccessClassPermissions($accessclass);
}