You are here

class ctools_custom_content_ui in Chaos Tool Suite (ctools) 7

Same name and namespace in other branches
  1. 6 ctools_custom_content/plugins/export_ui/ctools_custom_content_ui.class.php \ctools_custom_content_ui

Hierarchy

Expanded class hierarchy of ctools_custom_content_ui

1 string reference to 'ctools_custom_content_ui'
ctools_custom_content.inc in ctools_custom_content/plugins/export_ui/ctools_custom_content.inc

File

ctools_custom_content/plugins/export_ui/ctools_custom_content_ui.class.php, line 3

View source
class ctools_custom_content_ui extends ctools_export_ui {
  public function edit_form(&$form, &$form_state) {

    // Correct for an error that came in because filter format changed.
    if (is_array($form_state['item']->settings['body'])) {
      $form_state['item']->settings['format'] = $form_state['item']->settings['body']['format'];
      $form_state['item']->settings['body'] = $form_state['item']->settings['body']['value'];
    }
    parent::edit_form($form, $form_state);
    $form['category'] = array(
      '#type' => 'textfield',
      '#title' => t('Category'),
      '#description' => t('What category this content should appear in. If left blank the category will be "Miscellaneous".'),
      '#default_value' => $form_state['item']->category,
    );
    $form['title'] = array(
      '#type' => 'textfield',
      '#default_value' => $form_state['item']->settings['title'],
      '#title' => t('Title'),
    );
    $form['title_heading'] = array(
      '#title' => t('Title heading'),
      '#type' => 'select',
      '#default_value' => isset($form_state['item']->settings['title_heading']) ? $form_state['item']->settings['title_heading'] : 'h2',
      '#options' => array(
        'h1' => t('h1'),
        'h2' => t('h2'),
        'h3' => t('h3'),
        'h4' => t('h4'),
        'h5' => t('h5'),
        'h6' => t('h6'),
        'div' => t('div'),
        'span' => t('span'),
      ),
    );
    $form['body'] = array(
      '#type' => 'text_format',
      '#title' => t('Body'),
      '#default_value' => $form_state['item']->settings['body'],
      '#format' => $form_state['item']->settings['format'],
    );
    $form['substitute'] = array(
      '#type' => 'checkbox',
      '#title' => t('Use context keywords'),
      '#description' => t('If checked, context keywords will be substituted in this content.'),
      '#default_value' => !empty($form_state['item']->settings['substitute']),
    );
  }
  public function edit_form_submit(&$form, &$form_state) {
    parent::edit_form_submit($form, $form_state);

    // Since items in our settings are not in the schema, we have to do these manually:
    $form_state['item']->settings['title'] = $form_state['values']['title'];
    $form_state['item']->settings['title_heading'] = $form_state['values']['title_heading'];
    $form_state['item']->settings['body'] = $form_state['values']['body']['value'];
    $form_state['item']->settings['format'] = $form_state['values']['body']['format'];
    $form_state['item']->settings['substitute'] = $form_state['values']['substitute'];
  }
  public function list_form(&$form, &$form_state) {
    parent::list_form($form, $form_state);
    $options = array(
      'all' => t('- All -'),
    );
    foreach ($this->items as $item) {
      $options[$item->category] = $item->category;
    }
    $form['top row']['category'] = array(
      '#type' => 'select',
      '#title' => t('Category'),
      '#options' => $options,
      '#default_value' => 'all',
      '#weight' => -10,
    );
  }
  public function list_filter($form_state, $item) {
    if ($form_state['values']['category'] != 'all' && $form_state['values']['category'] != $item->category) {
      return TRUE;
    }
    return parent::list_filter($form_state, $item);
  }
  public function list_sort_options() {
    return array(
      'disabled' => t('Enabled, title'),
      'title' => t('Title'),
      'name' => t('Name'),
      'category' => t('Category'),
      'storage' => t('Storage'),
    );
  }
  public function list_build_row($item, &$form_state, $operations) {

    // Set up sorting.
    switch ($form_state['values']['order']) {
      case 'disabled':
        $this->sorts[$item->name] = empty($item->disabled) . $item->admin_title;
        break;
      case 'title':
        $this->sorts[$item->name] = $item->admin_title;
        break;
      case 'name':
        $this->sorts[$item->name] = $item->name;
        break;
      case 'category':
        $this->sorts[$item->name] = $item->category;
        break;
      case 'storage':
        $this->sorts[$item->name] = $item->type . $item->admin_title;
        break;
    }
    $ops = theme('links__ctools_dropbutton', array(
      'links' => $operations,
      'attributes' => array(
        'class' => array(
          'links',
          'inline',
        ),
      ),
    ));
    $this->rows[$item->name] = array(
      'data' => array(
        array(
          'data' => check_plain($item->name),
          'class' => array(
            'ctools-export-ui-name',
          ),
        ),
        array(
          'data' => check_plain($item->admin_title),
          'class' => array(
            'ctools-export-ui-title',
          ),
        ),
        array(
          'data' => check_plain($item->category),
          'class' => array(
            'ctools-export-ui-category',
          ),
        ),
        array(
          'data' => $ops,
          'class' => array(
            'ctools-export-ui-operations',
          ),
        ),
      ),
      'title' => check_plain($item->admin_description),
      'class' => array(
        !empty($item->disabled) ? 'ctools-export-ui-disabled' : 'ctools-export-ui-enabled',
      ),
    );
  }
  public function list_table_header() {
    return array(
      array(
        'data' => t('Name'),
        'class' => array(
          'ctools-export-ui-name',
        ),
      ),
      array(
        'data' => t('Title'),
        'class' => array(
          'ctools-export-ui-title',
        ),
      ),
      array(
        'data' => t('Category'),
        'class' => array(
          'ctools-export-ui-category',
        ),
      ),
      array(
        'data' => t('Operations'),
        'class' => array(
          'ctools-export-ui-operations',
        ),
      ),
    );
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ctools_custom_content_ui::edit_form public function Provide the actual editing form. Overrides ctools_export_ui::edit_form
ctools_custom_content_ui::edit_form_submit public function Handle the submission of the edit form. Overrides ctools_export_ui::edit_form_submit
ctools_custom_content_ui::list_build_row public function Build a row based on the item. Overrides ctools_export_ui::list_build_row
ctools_custom_content_ui::list_filter public function Determine if a row should be filtered out. Overrides ctools_export_ui::list_filter
ctools_custom_content_ui::list_form public function Create the filter/sort form at the top of a list of exports. Overrides ctools_export_ui::list_form
ctools_custom_content_ui::list_sort_options public function Provide a list of sort options. Overrides ctools_export_ui::list_sort_options
ctools_custom_content_ui::list_table_header public function Provide the table header. Overrides ctools_export_ui::list_table_header
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::add_page public function
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 public function Execute the form.
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_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_validate public function Validate callback for the edit form.
ctools_export_ui::edit_page public function Main entry point to edit an item.
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_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::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.