You are here

function system_settings_deploy_form_alter in Deploy - Content Staging 5

Same name and namespace in other branches
  1. 6 modules/system_settings_deploy/system_settings_deploy.module \system_settings_deploy_form_alter()

Add deployment fields to all system settings forms.

File

system_settings_deploy/system_settings_deploy.module, line 6

Code

function system_settings_deploy_form_alter($form_id, &$form) {
  if (!user_access('add items to deployment plan')) {
    return;
  }

  // Shift system_settings_form buttons.
  if (isset($form['#base']) && $form['#base'] == 'system_settings_form') {
    $weight = $form['buttons']['#weight'];
    $form['buttons']['#weight'] = $weight + 1;
    $deploy_weight = $weight;
    $form['#submit'] = array(
      'system_settings_deploy_form_submit' => array(),
    ) + (array) $form['#submit'];
    $plans = deploy_get_plans();
    if (!empty($plans)) {
      $plans['0'] = '<None>';
      natsort($plans);
      $form['deploy']['deploy_plan'] = array(
        '#type' => 'select',
        '#title' => t('Deployment Plan'),
        '#description' => t('A deployment plan to add these settings to, or none'),
        '#weight' => $deploy_weight,
        '#options' => $plans,
      );
    }
  }
}