本文整理匯總了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');
}