You are here

class deploy_ui_endpoint in Deploy - Content Staging 7.3

Same name and namespace in other branches
  1. 7.2 modules/deploy_ui/plugins/export_ui/deploy_ui_endpoint.class.php \deploy_ui_endpoint

Deploy endpoint UI class that extends CTools Export UI.

Hierarchy

Expanded class hierarchy of deploy_ui_endpoint

1 string reference to 'deploy_ui_endpoint'
deploy_ui_endpoint.inc in modules/deploy_ui/plugins/export_ui/deploy_ui_endpoint.inc

File

modules/deploy_ui/plugins/export_ui/deploy_ui_endpoint.class.php, line 13
CTools export UI implementation for deploy endpoints.

View source
class deploy_ui_endpoint extends ctools_export_ui {

  /**
   * Implements CTools pseudo hook_menu_alter().
   *
   * @todo
   *   Can we do this in $plugin instead?
   */
  public function hook_menu(&$items) {
    parent::hook_menu($items);
    $items['admin/structure/deploy/endpoints']['type'] = MENU_LOCAL_TASK;
  }

  /**
   * Form callback for basic config.
   */
  public function edit_form(&$form, &$form_state) {
    $item = $form_state['item'];

    // Basics.
    $form['title'] = array(
      '#type' => 'textfield',
      '#title' => t('Title'),
      '#default_value' => $item->title,
      '#required' => TRUE,
    );
    $form['name'] = array(
      '#type' => 'machine_name',
      '#title' => t('Machine-readable name'),
      '#default_value' => $item->name,
      '#required' => TRUE,
      '#machine_name' => array(
        'exists' => 'deploy_endpoint_load',
        'source' => array(
          'title',
        ),
      ),
    );
    $form['description'] = array(
      '#type' => 'textarea',
      '#title' => t('Description'),
      '#default_value' => $item->description,
    );
    $form['debug'] = array(
      '#type' => 'checkbox',
      '#title' => t('Debug mode'),
      '#description' => t('Check this to enable debug mode with extended watchdog logging.'),
      '#default_value' => $item->debug,
    );

    // Authenticators.
    $authenticators = deploy_get_authenticator_plugins();
    $options = array();
    foreach ($authenticators as $key => $authenticator) {
      $options[$key] = array(
        'name' => $authenticator['name'],
        'description' => $authenticator['description'],
      );
    }
    $form['authenticator_plugin'] = array(
      '#prefix' => '<label>' . t('Authenticator') . '</label>',
      '#type' => 'tableselect',
      '#required' => TRUE,
      '#multiple' => FALSE,
      '#header' => array(
        'name' => t('Name'),
        'description' => t('Description'),
      ),
      '#options' => $options,
      '#default_value' => $item->authenticator_plugin,
    );

    // Services.
    $services = deploy_get_service_plugins();
    $options = array();
    foreach ($services as $key => $service) {
      $options[$key] = array(
        'name' => $service['name'],
        'description' => $service['description'],
      );
    }
    $form['service_plugin'] = array(
      '#prefix' => '<label>' . t('Service') . '</label>',
      '#type' => 'tableselect',
      '#required' => TRUE,
      '#multiple' => FALSE,
      '#header' => array(
        'name' => t('Name'),
        'description' => t('Description'),
      ),
      '#options' => $options,
      '#default_value' => $item->service_plugin,
    );
  }

  /**
   * Submit callback for basic config.
   */
  public function edit_form_submit(&$form, &$form_state) {
    $item = $form_state['item'];
    $item->name = $form_state['values']['name'];
    $item->title = $form_state['values']['title'];
    $item->description = $form_state['values']['description'];
    $item->debug = $form_state['values']['debug'];
    $item->authenticator_plugin = $form_state['values']['authenticator_plugin'];
    $item->service_plugin = $form_state['values']['service_plugin'];
  }

  /**
   * Form for editing authentication configuration.
   */
  public function edit_form_authenticator(&$form, &$form_state) {
    $item = $form_state['item'];
    if (!is_array($item->authenticator_config)) {
      $item->authenticator_config = unserialize($item->authenticator_config);
    }
    $service = new $item->service_plugin((array) $item->service_config);

    // Create the authenticator object.
    $authenticator = new $item->authenticator_plugin($service, (array) $item->authenticator_config);
    $form['authenticator_config'] = $authenticator
      ->configForm($form_state);
    if (!empty($form['authenticator_config'])) {
      $form['authenticator_config']['#tree'] = TRUE;
    }
    else {
      $form['authenticator_config'] = array(
        '#type' => 'markup',
        '#markup' => '<p>' . t('There are no settings for this authenticator plugin.') . '</p>',
      );
    }
  }

  /**
   * Authenticator form submit handler.
   */
  public function edit_form_authenticator_submit(&$form, &$form_state) {
    $item = $form_state['item'];
    if (!empty($form_state['values']['authenticator_config'])) {
      $item->authenticator_config = $form_state['values']['authenticator_config'];
      $encrypt['username'] = _deploy_encrypt($form_state['values']['authenticator_config']['username']);
      $encrypt['password'] = _deploy_encrypt($form_state['values']['authenticator_config']['password']);
      $item->authenticator_config = $encrypt;
    }
    else {
      $item->authenticator_config = array();
    }
    if (module_exists('encrypt')) {

      // Removing default php encryption state.
      if (_deploy_get_php_encryption_state()) {
        variable_del('deploy_php_encryption_state');
      }
    }
  }

  /**
   * Service edit form.
   */
  public function edit_form_service(&$form, &$form_state) {
    $item = $form_state['item'];
    if (!is_array($item->service_config)) {
      $item->service_config = unserialize($item->service_config);
    }
    $service = new $item->service_plugin((array) $item->service_config);
    $form['service_config'] = $service
      ->configForm($form_state);
    if (!empty($form['service_config'])) {
      $form['service_config']['#tree'] = TRUE;
    }
    else {
      $form['service_config'] = array(
        '#type' => 'markup',
        '#markup' => '<p>' . t('There are no settings for this service plugin.') . '</p>',
      );
    }
  }

  /**
   * Submit handler for service edit form.
   */
  public function edit_form_service_submit(&$form, &$form_state) {
    $item = $form_state['item'];
    if (!empty($form_state['values']['service_config'])) {
      $item->service_config = $form_state['values']['service_config'];
    }
    else {
      $item->service_config = array();
    }
  }

}

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_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::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.
deploy_ui_endpoint::edit_form public function Form callback for basic config. Overrides ctools_export_ui::edit_form
deploy_ui_endpoint::edit_form_authenticator public function Form for editing authentication configuration.
deploy_ui_endpoint::edit_form_authenticator_submit public function Authenticator form submit handler.
deploy_ui_endpoint::edit_form_service public function Service edit form.
deploy_ui_endpoint::edit_form_service_submit public function Submit handler for service edit form.
deploy_ui_endpoint::edit_form_submit public function Submit callback for basic config. Overrides ctools_export_ui::edit_form_submit
deploy_ui_endpoint::hook_menu public function Implements CTools pseudo hook_menu_alter(). Overrides ctools_export_ui::hook_menu