﻿From: Dan Katz <dkatz@bstonetech.com>
Date: Tue, 22 Mar 2011 16:34:17 -0400
Subject: [PATCH] added rules module events and triggers for OGUR

---
 .../contrib/og_user_roles/og_user_roles.pages.inc  |    6 ++++
 .../contrib/og_user_roles/og_user_roles.rules.inc  |   25 ++++++++++++++++++++
 2 files changed, 31 insertions(+), 0 deletions(-)
 create mode 100644 sites/all/modules/contrib/og_user_roles/og_user_roles.rules.inc

diff --git a/sites/all/modules/contrib/og_user_roles/og_user_roles.pages.inc b/sites/all/modules/contrib/og_user_roles/og_user_roles.pages.inc
index 2cc8383..f075ae2 100644
--- a/sites/all/modules/contrib/og_user_roles/og_user_roles.pages.inc
+++ b/sites/all/modules/contrib/og_user_roles/og_user_roles.pages.inc
@@ -143,9 +143,15 @@ function og_user_roles_page_form_submit($form, &$form_state) {
     foreach ($form['#assignable_roles'] as $rid => $name) {
       if (empty($new_roles[$rid])) {
         og_user_roles_role_delete($gid, $uid, $rid);
+        //invoke rule
+        $ogur_user = user_load($uid);
+        rules_invoke_event('og_user_roles_ogur_removed', $ogur_user);
       }
       else {
         og_user_roles_role_add($gid, $uid, $rid);
+        //invoke rule to update role
+        $ogur_user = user_load($uid);
+        rules_invoke_event('og_user_roles_ogur_assigned', $ogur_user);
       }
     }
   }
diff --git a/sites/all/modules/contrib/og_user_roles/og_user_roles.rules.inc b/sites/all/modules/contrib/og_user_roles/og_user_roles.rules.inc
new file mode 100644
index 0000000..21033b7
--- /dev/null
+++ b/sites/all/modules/contrib/og_user_roles/og_user_roles.rules.inc
@@ -0,0 +1,25 @@
+<?php
+/**
+* Implementation of hook_rules_event_info().
+* @ingroup rules
+*/
+function og_user_roles_rules_event_info() {
+  return array(
+    'og_user_roles_ogur_assigned' => array(
+      'label' => t('An OG User Role was assigned'),
+      'module' => 'OG User Roles',
+      'arguments' => array(
+        'ogur_user' => array('type' => 'user', 'label' => t('The user who was given the OG User Role.')),
+      ),
+    ),
+    'og_user_roles_ogur_removed' => array(
+      'label' => t('An OG User Role was removed'),
+      'module' => 'OG User Roles',
+      'arguments' => array(
+        'ogur_user' => array('type' => 'user', 'label' => t('The user whose OG User Role was removed.')),
+      ),
+    ),
+    
+    
+  );
+}
-- 
1.7.3.1.msysgit.0

