You are here

function values_sets_page in Values 7

Displays a list of existing value sets.

1 string reference to 'values_sets_page'
values_menu in ./values.module
Implements hook_menu().

File

./values.module, line 721
API for managing reusable value sets.

Code

function values_sets_page() {
  $header = array(
    t('Name'),
    t('Description'),
    array(
      'data' => t('Operations'),
    ),
  );
  $rows = array();

  // Get all the configured value sets and create a nice table
  $value_sets = values_load_all();
  foreach ($value_sets as $value_set) {
    $operations = array();
    if (user_access('edit value sets')) {
      $operations[] = l(t('edit'), 'admin/structure/values/' . $value_set->name);
    }
    if (user_access('delete value sets')) {
      $delete_link = l(t('delete'), 'admin/structure/values/' . $value_set->name . '/delete');

      // If ctools is installed we need to handle the delete link specially.
      if (module_exists('ctools')) {
        if ($value_set->export_type == 2) {
          $delete_link = '';
        }
        if ($value_set->export_type == 3) {
          $delete_link = l(t('revert'), 'admin/structure/values/' . $value_set->name . '/revert');
        }
      }
      if ($delete_link) {
        $operations[] = $delete_link;
      }
    }
    if (user_access('export value sets')) {
      $operations[] = l(t('export'), 'admin/structure/values/' . $value_set->name . '/export');
    }
    $rows[] = array(
      $value_set->title,
      $value_set->description,
      implode(' | ', $operations),
    );
  }
  $table['values_sets'] = array(
    '#theme' => 'table',
    '#header' => $header,
    '#rows' => $rows,
    '#empty' => t('No values available. !link', array(
      '!link' => l(t('Create a value set'), 'admin/structure/values/add'),
    )),
  );
  return $table;
}