本文整理汇总了PHP中Permission::getPermissions方法的典型用法代码示例。如果您正苦于以下问题:PHP Permission::getPermissions方法的具体用法?PHP Permission::getPermissions怎么用?PHP Permission::getPermissions使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Permission
的用法示例。
在下文中一共展示了Permission::getPermissions方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: copyRole
/**
* Copies permissions from one role id to other
* @param int $fromRoleId
* @param int $toRoleId
*/
public function copyRole($fromRoleId, $toRoleId)
{
$permission = new Permission();
$permissions = $permission->getPermissions($fromRoleId);
$set = $permission->createPermissionSet($permissions, $toRoleId);
\DB::table(PREFIX . 'codo_permissions')->insert($set);
}
示例2: getPermissions
function getPermissions($user_id = NULL, $company_id = NULL)
{
if ($user_id == NULL or $user_id == '') {
global $current_user;
$user_id = $current_user->getId();
}
if ($company_id == NULL or $company_id == '') {
global $current_company;
$company_id = $current_company->getId();
}
$permission = new Permission();
return $this->returnHandler($permission->getPermissions($user_id, $company_id));
}
示例3: loadPermissions
/**
* Charge les permissions pour le rang
*/
private function loadPermissions()
{
$this->aPermissions = array();
$this->aPermissions = Permission::getPermissions($this->iId);
}
示例4: getAdminInterface
/**
* Build and return admin interface
*
* Any module providing an admin interface is required to have this function, which
* returns a string containing the (x)html of it's admin interface.
* @return string
*/
function getAdminInterface()
{
$this->template = 'admin/user.tpl';
$this->addJS('/modules/User/js/admin.js');
if (!$this->user->hasPerm('viewusermodule')) {
return false;
}
switch (@$_REQUEST['section']) {
case 'deleteUser':
$user = new User($_REQUEST['id']);
$user->delete();
$this->setupMainList();
$this->template = 'admin/user.tpl';
break;
case 'deleteGroup':
$group = new Group($_REQUEST['id']);
$group->delete();
$groups = Group::getGroups();
$this->smarty->assign('groups', $groups);
return $this->smarty->fetch('admin/groups.tpl');
break;
case 'groups':
$this->template = 'admin/groups.tpl';
$groups = Group::getGroups();
$this->smarty->assign('groups', $groups);
break;
case 'groupsaddedit':
$form = Group::getAddEditForm();
if ($form->validate() && $form->isSubmitted() && isset($_REQUEST['submit'])) {
$groups = Group::getGroups();
$this->smarty->assign('groups', $groups);
return $this->smarty->fetch('admin/groups.tpl');
} else {
return $form->display();
}
break;
case 'permissions':
if (isset($_REQUEST['perm']) && isset($_REQUEST['group'])) {
$group = new Group($_REQUEST['group']);
$group->togglePerm($_REQUEST['perm']);
}
if (is_numeric(@$_REQUEST['group_view'])) {
$groups = array();
$groups[] = new Group($_REQUEST['group_view']);
$groupsView = Group::getGroups();
$this->smarty->assign('selectedGroup', $_REQUEST['group_view']);
} else {
$groups = Group::getGroups();
$groupsView = $groups;
$this->smarty->assign('selectedGroup', null);
}
$this->template = 'admin/permissions.tpl';
$permissions = Permission::getPermissions();
$this->smarty->assign('permissions', $permissions);
$this->smarty->assign('groups', $groups);
$this->smarty->assign('groupsView', $groupsView);
break;
case 'userTable':
$this->setupMainList();
$this->template = 'admin/user_table.tpl';
break;
case 'addedit':
$form = $this->getUserAddEditForm('/admin/User', true);
if ($form->validate() && $form->isSubmitted() && (isset($_REQUEST['a_submit']) || isset($_REQUEST['a_cancel']))) {
$this->setupMainList();
return $this->smarty->fetch('admin/user.tpl');
} else {
return $form->display();
}
break;
default:
$this->setupMainList();
break;
}
return $this->smarty->fetch($this->template);
}
示例5: processAdminUI
/**
* Process admin interface of this object
*
* @return void
*/
public function processAdminUI()
{
Security::requirePermission(Permission::P('SERVER_PERM_EDIT_ROLES'), Server::getServer());
$db = AbstractDb::getObject();
$errmsg = "";
// role_id
$value = htmlspecialchars($this->getId(), ENT_QUOTES);
// role_description_content_id
if (empty($this->_row['role_description_content_id'])) {
$name = "role_{$this->id}_description_new";
$description = Content::processNewContentUI($name);
if ($description != null) {
$description_id = $description->GetId();
$db->execSqlUpdate("UPDATE roles SET role_description_content_id = '{$description_id}' WHERE role_id = '{$this->id}'", FALSE);
}
} else {
$description = Content::getObject($this->_row['role_description_content_id']);
$name = "role_{$this->id}_description_erase";
if (!empty($_REQUEST[$name]) && $_REQUEST[$name] == true) {
$db->execSqlUpdate("UPDATE roles SET role_description_content_id = NULL WHERE role_id = '{$this->id}'", FALSE);
$description->delete($errmsg);
} else {
$description->processAdminUI();
}
}
// Permissions
$permissionsArray = Permission::getPermissions(array('stakeholderTypeId' => $this->_row['stakeholder_type_id']));
$idStr = $db->escapeString($this->getId());
$stakeholderTypeIdStr = $db->escapeString($this->_row['stakeholder_type_id']);
$sql = "SELECT permissions.permission_id, stakeholder_type_id, role_id FROM permissions LEFT JOIN role_has_permissions ON (role_has_permissions.permission_id = permissions.permission_id AND role_id = '{$idStr}') WHERE stakeholder_type_id='{$stakeholderTypeIdStr}'";
$db->execSql($sql, $permission_rows, false);
$sql = null;
if ($permission_rows) {
foreach ($permission_rows as $row) {
$permissionIdStr = $db->escapeString($row['permission_id']);
$name = "role_{$this->id}_permission_" . htmlspecialchars($row['permission_id'], ENT_QUOTES) . "_included";
if (empty($row['role_id']) && !empty($_REQUEST[$name]) && $_REQUEST[$name] == 'included') {
$sql = "INSERT INTO role_has_permissions (permission_id, role_id) VALUES ('{$permissionIdStr}','{$idStr}');\n";
} else {
if (!empty($row['role_id']) && empty($_REQUEST[$name])) {
$sql = "DELETE FROM role_has_permissions WHERE permission_id='{$permissionIdStr}' AND role_id='{$idStr}';\n";
} else {
//echo "Do nothing for {$row['permission_id']}<br/>";
}
}
}
}
if ($sql) {
$db->execSqlUpdate("BEGIN;\n{$sql}COMMIT;", false);
}
$this->refresh();
}
示例6: merge
/**
* @param Permission $permission
*
* @return $this|self
*/
public function merge(Permission $permission) : self
{
// merge filters
foreach ($permission->getFilters() as $filter) {
$found = false;
foreach ($this->getFilters() as $current) {
if ($current->getKey() == $filter->getKey()) {
$found = true;
$current->setFilters(array_unique(array_merge($filter->getFilters(), $current->getFilters())));
}
}
if (!$found) {
$this->childs[] = $filter;
}
}
$this->childs = Permission::listMerge($this->childs, $permission->getPermissions());
return $this;
}