You are here

class ctools_export_ui_heartbeat_plugin in Heartbeat 7

@file Ctools export UI for a heartbeat plugin @author stalski

Hierarchy

Expanded class hierarchy of ctools_export_ui_heartbeat_plugin

1 string reference to 'ctools_export_ui_heartbeat_plugin'
heartbeat_plugins.inc in modules/heartbeat_plugins/plugins/export_ui/heartbeat_plugins.inc

File

modules/heartbeat_plugins/plugins/export_ui/ctools_export_ui_heartbeat_plugin.class.php, line 8
Ctools export UI for a heartbeat plugin @author stalski

View source
class ctools_export_ui_heartbeat_plugin extends ctools_export_ui {

  /**
   * Provide the actual editing form.
   */
  function edit_form(&$form, &$form_state) {
    parent::edit_form($form, $form_state);
    $settings = $form_state['item']->settings;
    $new = TRUE;
    $form['label'] = array(
      '#type' => 'textfield',
      '#title' => t('Label'),
      '#default_value' => isset($form_state['item']->label) ? $form_state['item']->label : array(),
      '#size' => 60,
      '#maxlength' => 128,
      '#required' => TRUE,
      '#attributes' => $new ? array() : array(
        'readonly' => 'readonly',
      ),
    );
    $form['module'] = array(
      '#type' => 'textfield',
      '#title' => t('Module'),
      '#default_value' => isset($form_state['item']->module) ? $form_state['item']->module : array(),
      '#size' => 60,
      '#maxlength' => 128,
      '#required' => TRUE,
      '#attributes' => $new ? array() : array(
        'readonly' => 'readonly',
      ),
    );
    $form['settings'] = array(
      '#type' => 'fieldset',
      '#title' => t('Settings'),
      '#collapsible' => TRUE,
      '#collapsed' => FALSE,
      '#tree' => TRUE,
      '#group' => 'general-tab',
    );
    $plugin_name = $form_state['item']->plugin_name;
    $pluginWrapper = heartbeat_plugins_get_plugin($plugin_name);
    if ($pluginWrapper instanceof iHeartbeatPluginWrapper) {
      $plugin = $pluginWrapper
        ->getPlugin();
      if ($plugin) {
        $plugin
          ->pluginUIForm($form, $form_state);
      }
      $new = FALSE;
    }
    if ($new) {
      $form['settings']['attachment'] = array(
        '#type' => 'checkbox',
        '#title' => t('Attachment'),
        '#default_value' => isset($settings['attachment']) ? $settings['attachment'] : array(),
      );
    }
    if (!element_children($form['settings'])) {
      unset($form['settings']);
    }

    // Clear the cache for heartbeat plugins.
    cache_clear_all('heartbeat_plugins', 'cache');
  }

  /**
   * Validate callback for the edit form.
   */
  function edit_form_validate(&$form, &$form_state) {
    parent::edit_form_validate($form, $form_state);
    $pluginName = $form_state['values']['plugin_name'];
    if (empty($pluginName)) {
      form_set_error('plugin_name', t('No valid plugin name given. The plugin needs to be a valid class as extension of iHeartbeatPlugin.'));
    }
    $pluginWrapper = heartbeat_plugins_get_plugin($pluginName);
    if ($pluginWrapper instanceof iHeartbeatPluginWrapper) {
      $plugin = $pluginWrapper
        ->getPlugin();
    }
    if (!$plugin instanceof HeartbeatBasePlugin) {
      form_set_error('plugin_name', t('Class @class does not implement HeartbeatBasePlugin.', array(
        '@class' => $pluginName,
      )));
    }
  }

}

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::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_submit public function Handle the submission of the edit form. 2
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_build_row public function Build a row based on the item. 2
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 public function Create the filter/sort form at the top of a list of exports. 2
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.
ctools_export_ui_heartbeat_plugin::edit_form function Provide the actual editing form. Overrides ctools_export_ui::edit_form
ctools_export_ui_heartbeat_plugin::edit_form_validate function Validate callback for the edit form. Overrides ctools_export_ui::edit_form_validate