1. Go to this page and download the library: Download jsalam/ugrpm 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/ */
jsalam / ugrpm example snippets
use Jsalam\UGRPM\UGRPM;
use Jsalam\UGRPM\Role;
use Jsalam\UGRPM\Group;
use Jsalam\UGRPM\{UGRPM,Group,Role};
$connect = new PDO('mysql:host=localhost;dbname=DB_NAME','DB_USER','DB_PASSWORD');
$ugrpm = new UGRPM($connect);
use Jsalam\UGRPM\Role;
$role = new Role(id:3,role:"Apps\Library@create");
$id = $role->getId(); // 3
$roleRole = $role->getRole(); //"App\Content@create"
$class = $role->getRoleClass(); // "App\Content"
$method = $role->getRoleMethod();// "create"
// Change role properties
$role->setId(44);
$role->setRoleClass("Apps\Content");
$role->setRoleMethod("add");
// or both in one
$role->setRole("Apps\Content@add");
use Jsalam\URRPM\UGRPM;
use Jsalam\UGRPM\Role;
$role = $ugrpm->createRole(new Role(role:"App\Content@create"));
$getRole = $ugrpm->getRoleById(#ID); // int ID
$getRoles1 =$ugrpm->getRolesByClass("Class\Namespace"); // array of Roles
$getRoles2 = $ugrpm->getRolesByMethod("create");// array of roles
$getRoles3 = $ugrpm->getRoleByClassMethod("App\Content@create");// One role or empty
$allRoles = $ugrpm->getAllRoles(); // array of roles
// Remove Role
$ugrpm->removeRole($role);//true
use Jsalam\UGRPM\Group;
$group = new Group(id:11,groupName:"Editors",description:"Editors Group");
use Jsalam\UGRPM\Group;
use Jsalam\UGRPM\UGRPM;
$group = $ugrpm->createGroup(new Group(groupName:"Editors",description:"Editors Group"));
$group->setDescription("Group of Editors");
$ugrpm->updateGroup($group);
$group1 = $ugrpm->getGroupById(33);
$group2 = $ugrpm->getGroupByGroupName("Gallary Managers");
$allGroups = $ugrpm->getAllGroups();// array of groups.
$ugrpm->removeGroup($group);
use Jsalam\UGRPM\Group;
use Jsalam\UGRPM\Role;
use Jsalam\UGRPM\UGRPM;
// ... $ugrpm initialized before, see installation above
//Roles
$roleCreateArticle = $ugrpm->createRole(new Role(role:"App\Article\create"));
$roleEditArticle = $ugrpm->createRole(new Role(role:"App\Article\edit"));
$roleCreateContent = $ugrpm->createRole(new Role(role:"App\Content\create"));
$roleEditContent = $ugrpm->createRole(new Role(role:"App\Content\edit"));
// Groups
$createGroup = $ugrpm->createGroup(new Group(groupName:"Creators",description:"Creators Group"));
$editGroup = $ugrpm->createGroup(new Group(groupName:"Editors",description:"Editors Group"));
$manageGroup = $ugrpm->createGroup(new Group(groupName:"Managers",description:"Managers Group"));
$ugrpm->createGroupRole($createGroup,$roleCreateArticle);
$ugrpm->createGroupRole($createGroup,$roleCreateContent);
// We can do in one:
$ugrpm->createGroupRoles($editGroup,[$roleEditArticle,$roleEditContent]);
// getting group's roles
$ugrpm->createGroupRoles($manageGroup,array_merge($ugrpm->getGroupRoles($createGroup),$ugrpm->getGroupRoles($editGroup)));
// get Groups have edit artices role.
$groupsEditing = $ugrpm->getRoleGroups($roleEditArticle); // [$createGroup , $manageGroup]
// remove group's editing roles
$ugrpm->removeGroupRoles($manageGroup,[$roleEditArticle,$roleEditContent]);
$user1Id = 10;
$user2Id = 32
$role1 = // ...
$role2 = // ...
$roles = [$role10,$role20,$role30//,...];
// Add $role1 to the user1Id
$ugrpm->createUserRole($user1Id,$role1);
//Add $roles to the $user2Id
$ugrpm->createUserRoles($user2Id,$roles);
// Add The $role2 to array of users IDs
$ugrpm->createRoleUsers($role2,[19,$user2Id,9]);
// Remove $role2 from $user1Id
$ugrpm->removeUserRole($user1Id,$role2);
// Remove all $roles from the user whos id is 19
$ugrpm->removeUserRoles(19,$roles);
// Remove the users in the array from the $role2
$ugrpm->removeRoleUsers($role2,[22,$use1Id,199]);
// Check if $user1Id have the role $role2
$ugrpm->userHaveRole($user1Id,$role2);
// Get roles belongs to the user $user1Id, His groups'role not
// Add the user with $userId to $group
$ugrpm->addUserToGroup($userId,$group);
// AddMany users to $group
$ugrpm->addUsersToGroup([$userId1,$userId2,...],$group);
// Add user to many groups
$ugrpm->addUserToGroups($userId,[$group1,$group2,...]);
// Add many users to many groups
$ugrpm->addUsersToGroups([$uid1,$uid2,$uid3],[$group1,$group2,$group3]);
// Remove user from Group
$ugrpm->removeUserFromGroup($uid,$group);
// Remove user from many groups
$ugrpm->removeUserFromGroups($uid,[$group1,$group2,...]);
// Remove many users from group
$ugrpm->removeUsersFromGroup([$uid1,$uid2,...],$group);
// Retrieve user's groups
$ugrpm->getUserGroups($userId);
// Retrieve group's users
$ugrpm->getGroupUsers($group);
// Check if user in group
$ugrpm->userInGroup($uid,$group);
$group = new Group(id:10;groupName:"Editors",description:"Users with editing ability");
$ugrpm->createGroup($group); // will throw DuplicatedGroupException if group with "Editors" existed before.
try{
$ugrpm->createGroup($group);
}catch(DuplicatedGroupException $e){
echo $e->getMessage(); // or what you want
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.