You are here

function salesforce_api_fieldmap_admin in Salesforce Suite 7

Same name and namespace in other branches
  1. 5.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_fieldmap_admin()
  2. 6.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_fieldmap_admin()
  3. 7.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_fieldmap_admin()

Displays an admin table for fieldmaps.

1 string reference to 'salesforce_api_fieldmap_admin'
salesforce_api_menu in salesforce_api/salesforce_api.module
Implements hook_menu().

File

salesforce_api/salesforce_api.admin.inc, line 135
Contains the admin page callbacks for the Salesforce module, including forms for general settings and fieldmap administration.

Code

function salesforce_api_fieldmap_admin() {

  // Define the header for the admin table.
  $header = array(
    t('Index'),
    t('Drupal object'),
    t('Salesforce object'),
    t('Automatic'),
    t('Description'),
    array(
      'data' => t('Operations'),
      'colspan' => 3,
    ),
  );
  $rows = array();

  // Loop through all the indexed field maps.
  $query = db_select('salesforce_field_map', 's');
  $query
    ->fields('s', array(
    'fieldmap',
    'drupal_entity',
    'drupal_bundle',
    'salesforce',
    'description',
    'automatic',
  ));
  $result = $query
    ->execute();
  while ($map = $result
    ->fetch(PDO::FETCH_ASSOC)) {

    // Add the row to the table with the basic operations.
    $rows[] = array(
      $map['fieldmap'],
      salesforce_api_fieldmap_object_label('drupal', $map['drupal_entity'], $map['drupal_bundle']),
      salesforce_api_fieldmap_object_label('salesforce', 'salesforce', $map['salesforce']),
      $map['automatic'] ? t('Yes') : t('No'),
      array(
        'data' => check_plain($map['description']),
        'class' => 'description',
      ),
      l(t('edit'), SALESFORCE_PATH_FIELDMAPS . '/' . $map['fieldmap'] . '/edit'),
      l(t('delete'), SALESFORCE_PATH_FIELDMAPS . '/' . $map['fieldmap'] . '/delete'),
    );
  }

  // Add a message if no objects have been mapped.
  if (count($rows) == 0) {
    $rows[] = array(
      array(
        'data' => t('You have not yet defined any fieldmaps.'),
        'colspan' => 7,
      ),
    );
  }
  return theme('table', array(
    'header' => $header,
    'rows' => $rows,
  ));
}