本文整理汇总了PHP中ArtefactType::role_has_permission方法的典型用法代码示例。如果您正苦于以下问题:PHP ArtefactType::role_has_permission方法的具体用法?PHP ArtefactType::role_has_permission怎么用?PHP ArtefactType::role_has_permission使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArtefactType
的用法示例。
在下文中一共展示了ArtefactType::role_has_permission方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: can_publish_artefact
/**
* Indicates whether the user has permission to use the artefact in their own Pages. The name
* refers to the "publish" permission for group files.
*
* If a user has "publish" permission on an artefact, it is assumed the also have "edit" and
* "view" permission (i.e. can view it in the artefact chooser -- see $USER->can_view_artefact())
*
* @param ArtefactType $a
* @return boolean
*/
public function can_publish_artefact($a)
{
$parent = $a->get_parent_instance();
if ($parent) {
if (!$this->can_view_artefact($parent)) {
return false;
}
}
if ($this->get('id') and $this->get('id') == $a->get('owner')) {
return true;
}
if ($i = $a->get('institution')) {
if ($i == 'mahara') {
return $this->get('admin');
}
return $this->in_institution($i) || $this->can_edit_institution($i);
}
if (!($group = $a->get('group'))) {
return false;
}
require_once 'group.php';
if (!($role = group_user_access($group, $this->id))) {
return false;
}
if ($role == 'admin') {
return true;
}
if ($this->id == $a->get('author')) {
return true;
}
return $a->role_has_permission($role, 'republish');
}