You are here

public function ctools_export_ui::build_operations in Chaos Tool Suite (ctools) 7

Builds the operation links for a specific exportable item.

1 call to ctools_export_ui::build_operations()
ctools_export_ui::list_form_submit in plugins/export_ui/ctools_export_ui.class.php
Submit the filter/sort form.

File

plugins/export_ui/ctools_export_ui.class.php, line 473

Class

ctools_export_ui
Base class for export UI.

Code

public function build_operations($item) {
  $plugin = $this->plugin;
  $schema = ctools_export_get_schema($plugin['schema']);
  $operations = $plugin['allowed operations'];
  $operations['import'] = FALSE;
  if ($item->{$schema['export']['export type string']} == t('Normal')) {
    $operations['revert'] = FALSE;
  }
  elseif ($item->{$schema['export']['export type string']} == t('Overridden')) {
    $operations['delete'] = FALSE;
  }
  else {
    $operations['revert'] = FALSE;
    $operations['delete'] = FALSE;
  }
  if (empty($item->disabled)) {
    $operations['enable'] = FALSE;
  }
  else {
    $operations['disable'] = FALSE;
  }
  $allowed_operations = array();
  foreach ($operations as $op => $info) {
    if (!empty($info)) {
      $allowed_operations[$op] = array(
        'title' => $info['title'],
        'href' => ctools_export_ui_plugin_menu_path($plugin, $op, $item->{$this->plugin['export']['key']}),
      );
      if (!empty($info['ajax'])) {
        $allowed_operations[$op]['attributes'] = array(
          'class' => array(
            'use-ajax',
          ),
        );
      }
      if (!empty($info['token'])) {
        $allowed_operations[$op]['query'] = array(
          'token' => drupal_get_token($op),
        );
      }
    }
  }
  return $allowed_operations;
}