--- og_user_roles.module.5.x-3.3.orig	2008-11-03 14:00:06.000000000 -0800
+++ og_user_roles.module	2008-11-10 11:44:47.000000000 -0800
@@ -1,5 +1,5 @@
 <?php
-// $Id: og_user_roles.module,v 1.1.2.16 2008/10/15 20:51:11 somebodysysop Exp $
+// $Id: og_user_roles.module,v 3.1.1.2 2008/05/17 19:50:44 somebodysysop Exp $
 
 /**
  * @file
@@ -1546,7 +1546,6 @@ function og_user_roles_og($op, $nid, $ui
       }
 
       $user = user_load(array('uid' => $uid));
-//      $node = node_load($nid);
       // --- Modification - 2008-05-20 - as per: http://drupal.org/node/259956
       $node = db_fetch_object(db_query("SELECT type, title FROM {node} WHERE nid=%d", $nid));
 
@@ -1588,13 +1587,13 @@ function og_user_roles_og($op, $nid, $ui
       // --- Modification - 2008-01-10 - as per: http://drupal.org/node/197489
       // Places all new group administrators into default group administrator role.
       $admin = $args['is_admin'];
-      if (variable_get('og_user_roles_assign_admingrouprole', 0) == 1 && $admin == 1) {
-        $rid = variable_get('og_user_roles_admingrouprole_value', 0);
-        og_user_roles_role_join($uid, $rid, $nid); // assign user to group role in that group
-      }
-      if (variable_get('og_user_roles_assign_admingrouprole', 0) == 1 && $admin == 0) {
+      if (variable_get('og_user_roles_assign_admingrouprole', 0) == 1 && $admin === 0) {
         $rid = variable_get('og_user_roles_admingrouprole_value', 0);
         og_user_roles_role_delete($uid, $rid, $nid); // delete this admin role for this user in this group (if it exists)
+      }
+      if (variable_get('og_user_roles_assign_admingrouprole', 0) == 1 && $admin === 1) {
+        $rid = variable_get('og_user_roles_admingrouprole_value', 0);
+        og_user_roles_role_join($uid, $rid, $nid); // assign user to group role in that group
       }
       break;
 
@@ -1835,6 +1834,12 @@ function og_user_roles_nodeapi(&$node, $
 function og_user_roles_user_access($string, $gid, $uid) {
   $roles = array();
   $perms = "";
+
+  // User #1 has all privileges:
+  if ($uid == 1) {
+    return TRUE;
+  }
+
   if ($uid) {
     $roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
   }
@@ -1939,7 +1944,8 @@ function og_user_roles_all_roles($user) 
 	  $nid = intval($_REQUEST['translation']);
 	  $gid = og_user_roles_getgid($nid, $uid);
 	  if ($gid) {
-	    drupal_set_message('recognized translation node add, gid = '.$gid);	  
+	    // Troubleshooting
+	    // drupal_set_message('recognized translation node add, gid = '.$gid);	  
 	    $_GET['gids'] = array($gid); // inject gid
 	  }
 	}
@@ -2333,16 +2339,17 @@ function og_user_roles_all_roles($user) 
 		$basename = urldecode($basename);
         $basename = preg_replace("/\+/", " ", $basename);
 		// Now, get the node associated with this file;
-        $file = db_fetch_object(db_query("SELECT nid from {files} where filepath like '%s'", '%' . $basename));
+//        $file = db_fetch_object(db_query("SELECT nid from {files} where filepath like '%s'", '%' . $basename));
+        $file = db_fetch_object(db_query("SELECT nid from {files} where filepath like '%s'", '%' . '/' . $basename));
 		$nid = $file->nid;
         $gid = og_user_roles_getgid($nid, $uid);
         $group_node = node_load($gid);
         og_set_group_context($group_node);
         // Troubleshooting
-        drupal_set_message($basename);
-        drupal_set_message('nid ' . $nid);        
-        drupal_set_message('gid ' . $gid);        
-        drupal_set_message('ogur group ' . $_SESSION['og_user_role']);
+        // drupal_set_message($basename);
+        // drupal_set_message('nid ' . $nid);        
+        // drupal_set_message('gid ' . $gid);        
+        // drupal_set_message('ogur group ' . $_SESSION['og_user_role']);
 	  }
 	}
 
@@ -3473,7 +3480,7 @@ function og_user_roles_theme() {
  */
 function og_user_roles_og_create_links($group) {
   if (variable_get('og_user_roles_links_content_' . $group->nid, 0) == 1) {
-    $links[] = l(t('Create content'), "node/add", array('title' => t('Add new content in this group.')), "gids[]=$group->nid");
+    $links[] = l(t('Create content'), "node/ognodeadd", array('title' => t('Add new content in this group.')), "gids[]=$group->nid");
     return $links;
   }
 }
