You are here

function oa_core_list_content_types in Open Atrium Core 7.2

Returns a list of group-content types throughout the system. List leaves out content types excluded by other modules/apps.

Return value

array of strings denoting content types marked for omission

5 calls to oa_core_list_content_types()
oa_messages_comment_insert in modules/oa_messages/oa_messages.module
Implements hook_comment_insert().
oa_messages_entity_insert in modules/oa_messages/oa_messages.module
Implements hook_entity_insert().
oa_messages_entity_update in modules/oa_messages/oa_messages.module
Implements hook_entity_update().
oa_messages_node_delete in modules/oa_messages/oa_messages.module
Implements hook_node_delete().
oa_widgets_add_content_edit_form in modules/oa_widgets/plugins/content_types/oa_widgets_add_content.inc
Custom edit form to allow users to enable/disable selectable content types

File

includes/oa_core.util.inc, line 690
Code for Utility functions for OpenAtrium spaces

Code

function oa_core_list_content_types($space_content = FALSE, $include_core = TRUE) {
  $nodes = node_type_get_types();
  if ($space_content) {

    // remove types that are not space content
    foreach ($nodes as $key => $node) {
      if (!og_is_group_content_type('node', $node->type)) {
        unset($nodes[$key]);
      }
    }
  }

  // Queries hook_oa_omit_content_types to determine what content types
  //   modules wants to hide.
  $deny = module_invoke_all('oa_omit_content_types');
  if (!$include_core) {
    $deny = array_merge($deny, array(
      OA_SPACE_TYPE,
      OA_GROUP_TYPE,
      OA_SECTION_TYPE,
      OA_TEAM_TYPE,
    ));
  }
  if (!empty($deny)) {
    foreach ($deny as $remove) {
      unset($nodes[$remove]);
    }
  }
  return $nodes;
}