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);
}
}