You are here

function crm_core_relationship_ui_types_overview in CRM Core 7

Same name and namespace in other branches
  1. 8.3 modules/crm_core_relationship_ui/crm_core_relationship_ui.admin.inc \crm_core_relationship_ui_types_overview()
  2. 8 modules/crm_core_relationship_ui/crm_core_relationship_ui.admin.inc \crm_core_relationship_ui_types_overview()
  3. 8.2 modules/crm_core_relationship_ui/crm_core_relationship_ui.admin.inc \crm_core_relationship_ui_types_overview()

List crm relationship types

Parameters

bool $reverse: TRUE means display all relations that are not CRM relationships FALSE means display all relations that are CRM relationships

Return value

$build A renderable array of table

2 string references to 'crm_core_relationship_ui_types_overview'
crm_core_relationship_ui_menu in modules/crm_core_relationship_ui/crm_core_relationship_ui.module
Implements hook_menu().
crm_core_relationship_ui_menu_alter in modules/crm_core_relationship_ui/crm_core_relationship_ui.module
Implements hook_menu_alter

File

modules/crm_core_relationship_ui/crm_core_relationship_ui.admin.inc, line 15

Code

function crm_core_relationship_ui_types_overview($reverse = FALSE) {
  drupal_set_title(t('CRM Relationship Types'));
  $reverse = (bool) $reverse;
  module_load_include('inc', 'crm_core_relationship_ui');
  $relation_types = relation_list_types();
  $field_ui = module_exists('field_ui');
  $headers = array(
    array(
      'data' => t('Name'),
      'width' => '40%',
    ),
    array(
      'data' => t('Operations'),
    ),
  );
  $rows = array();
  crm_core_ui_ctools_add_dropbutton_files();
  foreach ($relation_types as $type => $label) {
    $links = array();
    if ($reverse) {
      if (crm_core_relationship_is_relationship_type($type)) {
        continue;
      }
      $url = 'admin/structure/relation/manage/' . $type;
    }
    else {
      if (!crm_core_relationship_is_relationship_type($type)) {
        continue;
      }
      $url = 'admin/structure/crm-core/relationship-types/manage/' . $type;
    }
    $row = array(
      l($type, $url),
    );
    $links[] = l(t('edit'), $url . '/edit');
    if ($field_ui) {
      $links[] = l(t('manage fields'), $url . '/fields');
      $links[] = l(t('display fields'), $url . '/display');
    }
    $links[] = l(t('delete'), $url . '/delete');
    $row[] = theme('crm_core_ui_ctools_dropbutton', array(
      'ops_count' => count($links),
      'links' => $links,
      'index' => $type,
    ));
    $rows[] = $row;
  }
  $build['crm_relationship_types_table'] = array(
    '#theme' => 'table',
    '#header' => $headers,
    '#rows' => $rows,
  );
  return $build;
}