PHP code example of arckinteractive / roles
1. Go to this page and download the library: Download arckinteractive/roles library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
arckinteractive / roles example snippets
$roles = array(
VISITOR_ROLE => array(
'title' => 'roles:role:VISITOR_ROLE',
'extends' => array(),
'permissions' => array(
// permissions
)
),
DEFAULT_ROLE => array(
'title' => 'roles:role:DEFAULT_ROLE',
'extends' => array(),
'permissions' => array(
// permissions
)
),
ADMIN_ROLE => array(
'title' => 'roles:role:ADMIN_ROLE',
'extends' => array(),
'permissions' => array(
// permissions
)
),
);
function myroles_config($hook_name, $entity_type, $return_value, $params) {
$roles = array(
'limited_users' => array(
'title' => 'yoursitename_roles:limited_users',
'permissions' => array(
'actions' => array(
'groups/save' => array('rule' => 'deny')
),
),
)
);
if (!is_array($return_value)) {
return $roles;
} else {
return array_merge($return_value, $roles);
}
}
$permissions['actions'] = array(
'groups/save' => 'deny',
'blogs/save' => 'allow',
),
);
$permissions['pages'] = array(
'groups/(view|edit)' => 'deny',
'blogs/owner/\d+' => 'allow',
'admin/.*' => 'deny',
),
);
$roles[DEFAULT_ROLE] = array(
'title' => 'roles:role:DEFAULT_ROLE',
'extends' => array(),
'permissions' => array(
'menus' => array(
'site::members' => array('rule' => 'deny')
),
)
);
$permissions['menus'] = array(
'site::members' => array(
// 1st menu rule
'rule' => 'allow'
),
'site' => array(
// 2nd menu rule
'rule' => 'extend',
'menu_item' => array(
'name' => 'books',
'text' => 'Books',
'href' => 'books/all',
)
),
'site::groups' => array(
// 3rd menu rule
'rule' => 'replace',
'menu_item' => array(
'name' => 'mygroups',
'text' => 'My Groups',
'href' => 'groups/member/{$self_username}',
)
),
'filter::friends' => array(
// 4th menu rule
'rule' => 'deny',
'context' => array('bookmarks', 'files')
),
);
$permissions['pages'] => array(
'groups/add/{$self_guid}' => array(
'rule' => 'deny',
'forward' => 'groups/all',
)
);
$permissions['views'] = array(
'input/password' => array('rule' => 'deny'), // 1st view rule
'forms/account/settings' => array( // 2nd view rule
'rule' => 'extend',
'view_extension' => array(
'view' => 'roles/settings/account/role',
'priority' => 150
)
),
'object/blog' => array( // 3rd view rule
'rule' => 'replace',
'view_replacement' => array(
'location' => 'mod/modified_blog/extended/views/',
)
),
);
$permissions['actions'] = array(
'registered/action/name' => array('rule' => 'deny')
);
$permissions['hooks'] = array(
'usersettings:save::user' => array(
'rule' => 'extend',
'hook' => array(
'handler' => 'roles_user_settings_save',
'priority' => 500,
)
),
);
$permissions['hooks'] = array(
'register::menu:extras' => 'deny',
'usersettings:save::user' => array(
'rule' => 'deny',
'hook' => array(
'handler' => 'user_settings_save',
)
),
);
$permissions['hooks'] = array(
'usersettings:save::user' => array(
'rule' => 'replace',
'hook' => array(
'old_handler' => 'user_settings_save',
'new_handler' => 'custom_user_settings_save',
)
),
);
$permissions['events'] = array(
join::group' => array(
'rule' => 'extend',
'event' => array(
'handler' => 'custom_join_group_handler',
)
),
);
$permissions['actions'] => array(
'regexp(/^admin\/((?!user\/ban|user\/unban).)*$/)' => array(
'rule' => 'deny'
)
);