Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
project
og
Commits
b9bbc3a8
Commit
b9bbc3a8
authored
Sep 03, 2013
by
othermachines
Committed by
amitaibu
Sep 03, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue
#1816800
by othermachines, hernani: Integration of OG Grant Roles with Rules
parent
b32258ab
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
3 deletions
+33
-3
og.module
og.module
+9
-1
og.rules.inc
og.rules.inc
+24
-2
No files found.
og.module
View file @
b9bbc3a8
...
@@ -2931,7 +2931,7 @@ function og_role_grant($group_type, $gid, $uid, $rid) {
...
@@ -2931,7 +2931,7 @@ function og_role_grant($group_type, $gid, $uid, $rid) {
return
;
return
;
}
}
// Get the existi
o
ng user roles.
// Get the existing user roles.
$user_roles
=
og_get_user_roles
(
$group_type
,
$gid
,
$uid
);
$user_roles
=
og_get_user_roles
(
$group_type
,
$gid
,
$uid
);
if
(
empty
(
$user_roles
[
$rid
]))
{
if
(
empty
(
$user_roles
[
$rid
]))
{
$role
=
new
stdClass
();
$role
=
new
stdClass
();
...
@@ -2943,6 +2943,10 @@ function og_role_grant($group_type, $gid, $uid, $rid) {
...
@@ -2943,6 +2943,10 @@ function og_role_grant($group_type, $gid, $uid, $rid) {
drupal_write_record
(
'og_users_roles'
,
$role
);
drupal_write_record
(
'og_users_roles'
,
$role
);
og_invalidate_cache
();
og_invalidate_cache
();
module_invoke_all
(
'og_role_grant'
,
$group_type
,
$gid
,
$uid
,
$rid
);
module_invoke_all
(
'og_role_grant'
,
$group_type
,
$gid
,
$uid
,
$rid
);
if
(
module_exists
(
'rules'
))
{
rules_invoke_event
(
'og_role_grant'
,
og_get_membership
(
$group_type
,
$gid
,
'user'
,
$uid
),
entity_metadata_wrapper
(
'user'
,
$uid
),
$rid
);
}
}
}
}
}
...
@@ -2968,6 +2972,10 @@ function og_role_revoke($group_type, $gid, $uid, $rid) {
...
@@ -2968,6 +2972,10 @@ function og_role_revoke($group_type, $gid, $uid, $rid) {
->
condition
(
'gid'
,
$gid
)
->
condition
(
'gid'
,
$gid
)
->
execute
();
->
execute
();
module_invoke_all
(
'og_role_revoke'
,
$group_type
,
$gid
,
$uid
,
$rid
);
module_invoke_all
(
'og_role_revoke'
,
$group_type
,
$gid
,
$uid
,
$rid
);
if
(
module_exists
(
'rules'
))
{
rules_invoke_event
(
'og_role_revoke'
,
og_get_membership
(
$group_type
,
$gid
,
'user'
,
$uid
),
entity_metadata_wrapper
(
'user'
,
$uid
),
$rid
);
}
}
}
}
}
...
...
og.rules.inc
View file @
b9bbc3a8
...
@@ -41,8 +41,30 @@ function og_rules_event_info() {
...
@@ -41,8 +41,30 @@ function og_rules_event_info() {
'og_user_delete'
=>
$defaults
+
array
(
'og_user_delete'
=>
$defaults
+
array
(
'label'
=>
t
(
'User has been removed from group'
),
'label'
=>
t
(
'User has been removed from group'
),
'help'
=>
t
(
"A user has been removed from group and is no longer a group member."
),
'help'
=>
t
(
"A user has been removed from group and is no longer a group member."
),
),
),
);
'og_role_grant'
=>
array_merge_recursive
(
$defaults
,
array
(
'label'
=>
t
(
'OG role granted to user'
),
'help'
=>
t
(
"An OG role has been granted to this user."
),
'variables'
=>
array
(
'og_rid'
=>
array
(
'type'
=>
'integer'
,
'label'
=>
t
(
'OG role ID'
),
'description'
=>
t
(
'The id of the OG user role.'
),
),
),
)),
'og_role_revoke'
=>
array_merge_recursive
(
$defaults
,
array
(
'label'
=>
t
(
'OG role revoked from user'
),
'help'
=>
t
(
"An OG role has been revoked from this user."
),
'variables'
=>
array
(
'og_rid'
=>
array
(
'type'
=>
'integer'
,
'label'
=>
t
(
'OG role ID'
),
'description'
=>
t
(
'The id of the OG user role.'
),
),
),
)),
);
}
}
/**
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment