Using D7 OG I want to force (auto) join - any ideas?
I'm going to assume that you are using the 7.x-1.x branch of Organic groups. I believe there are some major changes in the 2.x branch - so this solution may/may not work with that.

// Assuming your group is of the entity type "node"
// and the name of your bundle is "group". A node bundle
// is the unique name of the content type which is a group
// type as well.
// Say $follower is the follower user entity and 
//     $followee is the followee user entity
$opts = array(
  ':uid' =&gt; $follower-&gt;uid
  ':type' =&gt; 'group'
);
$gnid = db_query('SELECT nid FROM {node} WHERE type=:type AND uid=:uid', $opts)-&gt;fetchField();
if ($gnid) {
  $group = og_get_group('node', $gnid);
  og_group($group-&gt;gid, array(
    'entity type' =&gt; 'user',
    'entity' =&gt; $followee,
    'state' =&gt; OG_STATE_ACTIVE
  ));
}
else {
  watchdog('my_mod', 'Follower (uid=!uid) does not have a member group', array(':uid' =&gt; $follower-&gt;uid), WATCHDOG_ERROR);
}


Still, own (group manager) and is admin of are two different things, at least in OG parlance. Because a user may have the "administrator user" role in many groups. If you mean is admin of, the lookup of the node table above may have to be changed by doing a join with {og} and {og_users_roles}.