You are here

class current_search_export_ui in Facet API 7.2

Same name and namespace in other branches
  1. 6.3 contrib/current_search/plugins/export_ui/current_search_export_ui.class.php \current_search_export_ui
  2. 7 contrib/current_search/plugins/export_ui/current_search_export_ui.class.php \current_search_export_ui

CTools export UI extending class. Slightly customized for Context.

Hierarchy

Expanded class hierarchy of current_search_export_ui

1 string reference to 'current_search_export_ui'
current_search_ctools_export_ui.inc in contrib/current_search/plugins/export_ui/current_search_ctools_export_ui.inc

File

contrib/current_search/plugins/export_ui/current_search_export_ui.class.php, line 11
Export UI display customizations.

View source
class current_search_export_ui extends ctools_export_ui {

  /**
   * Overrides ctools_export_ui::list_form().
   *
   * Simplifies the form similar to how the Context module does it.
   */
  function list_form(&$form, &$form_state) {
    parent::list_form($form, $form_state);
    $form['top row']['submit'] = $form['bottom row']['submit'];
    $form['top row']['reset'] = $form['bottom row']['reset'];
    $form['bottom row']['#access'] = FALSE;
    return;
  }

  /**
   * Overrides ctools_export_ui::list_build_row().
   */
  function list_build_row($item, &$form_state, $operations) {
    parent::list_build_row($item, $form_state, $operations);
  }

  /**
   * Overrides ctools_export_ui::edit_execute_form().
   *
   * This is hacky, but since CTools Export UI uses drupal_goto() we have to
   * effectively change the plugin to modify the redirect path dynamically.
   */
  function edit_execute_form(&$form_state) {
    $output = parent::edit_execute_form($form_state);
    if (!empty($form_state['executed'])) {
      $clicked = $form_state['clicked_button']['#value'];
      if (t('Add item') == $clicked || t('Save and edit') == $clicked) {

        // We always want to redirect back to this page when adding an item,
        // but we want to preserve the destination so we can be redirected back
        // to where we came from after clicking "Save".
        $options = array();
        if (!empty($_GET['destination'])) {
          $options['query']['destination'] = $_GET['destination'];
          unset($_GET['destination']);
        }

        // Sets redirect path and options.
        $op = $form_state['op'];
        $name = $form_state['values']['name'];
        $path = 'add' != $op ? current_path() : 'admin/config/search/current_search/list/' . $name . '/edit';
        $this->plugin['redirect'][$op] = array(
          $path,
          $options,
        );
      }
    }
    return $output;
  }

  /**
   * Overrides ctools_export_ui::edit_page().
   *
   * Allows passing of options to drupal_goto() as opposed to just a path.
   *
   * @see http://drupal.org/node/1373048
   */
  function edit_page($js, $input, $item, $step = NULL) {
    drupal_set_title($this
      ->get_page_title('edit', $item));

    // Check to see if there is a cached item to get if we're using the wizard.
    if (!empty($this->plugin['use wizard'])) {
      $cached = $this
        ->edit_cache_get($item, 'edit');
      if (!empty($cached)) {
        $item = $cached;
      }
    }
    $form_state = array(
      'plugin' => $this->plugin,
      'object' => &$this,
      'ajax' => $js,
      'item' => $item,
      'op' => 'edit',
      'form type' => 'edit',
      'rerender' => TRUE,
      'no_redirect' => TRUE,
      'step' => $step,
      // Store these in case additional args are needed.
      'function args' => func_get_args(),
    );
    $output = $this
      ->edit_execute_form($form_state);
    if (!empty($form_state['executed'])) {

      // @see http://drupal.org/node/1373048
      $export_key = $this->plugin['export']['key'];
      $args = (array) $this->plugin['redirect']['edit'];
      $args[0] = str_replace('%ctools_export_ui', $form_state['item']->{$export_key}, $args[0]);
      call_user_func_array('drupal_goto', $args);
    }
    return $output;
  }

  /**
   * Overrides ctools_export_ui::add_page().
   *
   * Allows passing of options to drupal_goto() as opposed to just a path.
   *
   * @see http://drupal.org/node/1373048
   */
  function add_page($js, $input, $step = NULL) {
    drupal_set_title($this
      ->get_page_title('add'));

    // If a step not set, they are trying to create a new item. If a step
    // is set, they're in the process of creating an item.
    if (!empty($this->plugin['use wizard']) && !empty($step)) {
      $item = $this
        ->edit_cache_get(NULL, 'add');
    }
    if (empty($item)) {
      $item = ctools_export_crud_new($this->plugin['schema']);
    }
    $form_state = array(
      'plugin' => $this->plugin,
      'object' => &$this,
      'ajax' => $js,
      'item' => $item,
      'op' => 'add',
      'form type' => 'add',
      'rerender' => TRUE,
      'no_redirect' => TRUE,
      'step' => $step,
      // Store these in case additional args are needed.
      'function args' => func_get_args(),
    );
    $output = $this
      ->edit_execute_form($form_state);
    if (!empty($form_state['executed'])) {

      // @see @see http://drupal.org/node/1373048
      $export_key = $this->plugin['export']['key'];
      $args = (array) $this->plugin['redirect']['add'];
      $args[0] = str_replace('%ctools_export_ui', $form_state['item']->{$export_key}, $args[0]);
      call_user_func_array('drupal_goto', $args);
    }
    return $output;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ctools_export_ui::$name property
ctools_export_ui::$options property
ctools_export_ui::$plugin property
ctools_export_ui::access public function Menu callback to determine if an operation is accessible. 1
ctools_export_ui::build_operations public function Builds the operation links for a specific exportable item.
ctools_export_ui::clone_page public function Main entry point to clone an item.
ctools_export_ui::delete_form_submit public function Deletes exportable items from the database.
ctools_export_ui::delete_page public function Page callback to delete an exportable item.
ctools_export_ui::disable_page public function Callback to disable a page.
ctools_export_ui::edit_cache_clear public function Clear the object cache for the currently edited item.
ctools_export_ui::edit_cache_get public function Retrieve the item currently being edited from the object cache.
ctools_export_ui::edit_cache_get_key public function Figure out what the cache key is for this object.
ctools_export_ui::edit_cache_set public function Cache the item currently currently being edited.
ctools_export_ui::edit_cache_set_key public function
ctools_export_ui::edit_execute_form_standard public function Execute the standard form for editing.
ctools_export_ui::edit_execute_form_wizard public function Execute the wizard for editing.
ctools_export_ui::edit_finish_validate public function Perform a final validation check before allowing the form to be finished.
ctools_export_ui::edit_form public function Provide the actual editing form. 1
ctools_export_ui::edit_form_import public function Import form. Provides simple helptext instructions and textarea for pasting a export definition.
ctools_export_ui::edit_form_import_submit public function Submit callback for import form.
ctools_export_ui::edit_form_import_validate public function Import form validate handler.
ctools_export_ui::edit_form_submit public function Handle the submission of the edit form. 2
ctools_export_ui::edit_form_validate public function Validate callback for the edit form.
ctools_export_ui::edit_save_form public function Called to save the final product from the edit form.
ctools_export_ui::edit_wizard_back public function Wizard 'back' callback when using a wizard to edit an item.
ctools_export_ui::edit_wizard_cancel public function Wizard 'cancel' callback when using a wizard to edit an item.
ctools_export_ui::edit_wizard_finish public function Wizard 'cancel' callback when using a wizard to edit an item. 1
ctools_export_ui::edit_wizard_next public function Wizard 'next' callback when using a wizard to edit an item. 1
ctools_export_ui::enable_page public function Callback to enable a page.
ctools_export_ui::export_page public function Page callback to display export information for an exportable item.
ctools_export_ui::get_page_title public function Get a page title for the current page from our plugin strings.
ctools_export_ui::get_wizard_info public function Get the form info for the wizard. 1
ctools_export_ui::hook_menu public function hook_menu() entry point.
ctools_export_ui::import_page public function Page callback to import information for an exportable item.
ctools_export_ui::init public function Fake constructor -- this is easier to deal with than the real constructor because we are retaining PHP4 compatibility, which would require all child classes to implement their own constructor. 1
ctools_export_ui::list_css public function Add listing CSS to the page.
ctools_export_ui::list_filter public function Determine if a row should be filtered out. 2
ctools_export_ui::list_footer public function Render a footer to go after thie list.
ctools_export_ui::list_form_submit public function Submit the filter/sort form.
ctools_export_ui::list_form_validate public function Validate the filter/sort form.
ctools_export_ui::list_header public function Render a header to go before the list.
ctools_export_ui::list_page public function Master entry point for handling a list.
ctools_export_ui::list_render public function Render all of the rows together.
ctools_export_ui::list_search_fields public function Provide a list of fields to test against for the default "search" widget. 1
ctools_export_ui::list_sort_options public function Provide a list of sort options. 2
ctools_export_ui::list_table_header public function Provide the table header. 2
ctools_export_ui::load_item public function Called by ctools_export_ui_load to load the item.
ctools_export_ui::redirect public function Perform a drupal_goto() to the location provided by the plugin for the operation.
ctools_export_ui::set_item_state public function Set an item's state to enabled or disabled and output to user.
current_search_export_ui::add_page function Overrides ctools_export_ui::add_page(). Overrides ctools_export_ui::add_page
current_search_export_ui::edit_execute_form function Overrides ctools_export_ui::edit_execute_form(). Overrides ctools_export_ui::edit_execute_form
current_search_export_ui::edit_page function Overrides ctools_export_ui::edit_page(). Overrides ctools_export_ui::edit_page
current_search_export_ui::list_build_row function Overrides ctools_export_ui::list_build_row(). Overrides ctools_export_ui::list_build_row
current_search_export_ui::list_form function Overrides ctools_export_ui::list_form(). Overrides ctools_export_ui::list_form