--- og_content_type_admin.module.orig 2010-01-05 16:41:36.000000000 +0100 +++ og_content_type_admin.module 2010-01-05 16:44:04.000000000 +0100 @@ -1095,11 +1095,31 @@ function og_content_type_admin_form_alte } elseif (isset($form['type']) && $form['type']['#value']. '_node_form' == $form_id) { $group = new stdClass; // used for call _og_content_type_admin_is_admin() - if (!empty($form['og_nodeapi']['visible']['og_groups']['#options'])) { - foreach ($form['og_nodeapi']['visible']['og_groups']['#options'] as $nid => $name) { + if (!empty($form['og_nodeapi']['visible']['og_groups']['#options']['My groups'])) { + foreach ($form['og_nodeapi']['visible']['og_groups']['#options']['My groups'] as $nid => $name) { + //see if they can add this content-type for this group + $group->nid = $nid; + if (_og_content_type_admin_is_admin($group)) { + continue; + } + else { + //see if they are allowed to add this content type + $sql = "SELECT octa.types_active FROM {og_content_type_admin} octa WHERE octa.gid = %d"; + if (!$result = db_fetch_object(db_query($sql, $nid))) { + $result = db_fetch_object(db_query($sql, 0)); + } + $activated_types = unserialize($result->types_active); + if (empty($activated_types[ $form['type']['#value'] ])) { + unset($form['og_nodeapi']['visible']['og_groups']['#options']['My groups'][$nid]); // remove the checkbox to add this content to the og + } + } + } + } + if (!empty($form['og_nodeapi']['visible']['og_groups']['#options']['Other groups'])) { + foreach ($form['og_nodeapi']['visible']['og_groups']['#options']['Other groups'] as $nid => $name) { //see if they can add this content-type for this group $group->nid = $nid; - if (_og_content_type_admin_is_admin($group)) { + if (_og_content_type_admin_is_admin($group)) { continue; } else {