You are here

function rules_admin_add_component in Rules 7.2

Add component form.

1 string reference to 'rules_admin_add_component'
rules_admin_menu in rules_admin/rules_admin.module
Implements hook_menu().

File

rules_admin/rules_admin.inc, line 363
Implements rule management and configuration screens.

Code

function rules_admin_add_component($form, &$form_state, $base_path) {
  RulesPluginUI::$basePath = $base_path;
  RulesPluginUI::formDefaults($form, $form_state);
  $form['plugin_name'] = array(
    '#type' => 'select',
    '#title' => t('Component plugin'),
    '#options' => rules_admin_component_options(),
    '#description' => t('Choose which kind of component to create. Each component type is described in <a href="@url">the online documentation</a>.', array(
      '@url' => rules_external_help('component-types'),
    )),
    '#weight' => -2,
    '#default_value' => isset($form_state['values']['plugin_name']) ? $form_state['values']['plugin_name'] : '',
  );
  if (!isset($form_state['rules_config'])) {
    $form['continue'] = array(
      '#type' => 'submit',
      '#name' => 'continue',
      '#submit' => array(
        'rules_admin_add_component_create_submit',
      ),
      '#value' => t('Continue'),
    );
  }
  else {
    $form['plugin_name']['#disabled'] = TRUE;
    $form_state['rules_config']
      ->form($form, $form_state, array(
      'show settings' => TRUE,
      'button' => TRUE,
      'init' => TRUE,
    ));
    $form['settings']['#collapsible'] = FALSE;
    $form['settings']['#type'] = 'container';
    $form['settings']['label']['#default_value'] = '';
    $form['settings']['#weight'] = -1;

    // Hide the rule elements stuff for now.
    foreach (array(
      'elements',
      'negate',
    ) as $key) {
      $form[$key]['#access'] = FALSE;
    }
    foreach (array(
      'active',
      'weight',
    ) as $key) {
      $form['settings'][$key]['#access'] = FALSE;
    }
  }
  return $form;
}