function features_form_submit in Features 7.2
Same name and namespace in other branches
- 6 features.admin.inc \features_form_submit()
 - 7 features.admin.inc \features_form_submit()
 
Submit handler for the 'manage features' form.
Parameters
array $form: Form.
array $form_state: Form state.
See also
1 string reference to 'features_form_submit'
- features_admin_form in ./
features.admin.inc  - Form builder for 'admin/structure/features'.
 
File
- ./
features.admin.inc, line 1501  - Forms for Features admin screens.
 
Code
function features_form_submit(&$form, &$form_state) {
  // Clear drupal caches after enabling a feature. We do this in a separate
  // page callback rather than as part of the submit handler as some modules
  // have includes/other directives of importance in hooks that have already
  // been called in this page load.
  $form_state['redirect'] = array(
    'admin/structure/features/cleanup',
    array(
      'query' => array(
        'token' => drupal_get_token(),
      ),
    ),
  );
  $features = $form['#features'];
  if (!empty($features)) {
    $status = $form_state['values']['status'];
    $install = array_keys(array_filter($status));
    $disable = array_diff(array_keys($status), $install);
    // Disable first. If there are any features that are disabled that are
    // dependencies of features that have been queued for install, they will
    // be re-enabled.
    module_disable($disable);
    features_install_modules($install);
  }
}