function ftools_form_features_admin_form_alter in Features Tools 7
Same name and namespace in other branches
- 7.2 ftools.module \ftools_form_features_admin_form_alter()
Implements hook_form_alter().
File
- ./
ftools.module, line 56 - ftools module
Code
function ftools_form_features_admin_form_alter(&$form, &$form_state) {
$form['disable_ajax'] = array(
'#type' => 'checkbox',
'#title' => t('disable the features status ajax loading'),
'#default_value' => variable_get('ftools_disable_features_page_js', 0),
);
$form['buttons']['submit']['#submit'][] = 'ftools_features_admin_form_submit';
$form['buttons']['revert'] = array(
'#type' => 'submit',
'#value' => t('Revert them All'),
'#attributes' => array(
'onclick' => 'if(!confirm("Are you sure you want to revert all features? \\nThis action cannot be undone.")){return false;}',
),
'#submit' => array(
'ftools_features_revert_all_submit',
),
);
if (variable_get('ftools_disable_features_page_js', 0) == 0) {
return;
}
drupal_add_css('table.features .admin-check, table.features .admin-default, table.features .admin-overridden, table.features .admin-rebuilding, table.features .admin-needs-review {
display: inline!important;}', array(
'type' => 'inline',
));
$groups = array();
foreach ($form['#features'] as $feature) {
if (isset($feature->info['package'])) {
$package_title = !empty($feature->info['package']) ? $feature->info['package'] : t('Other');
$package = strtolower(preg_replace('/[^a-zA-Z0-9-]+/', '-', $package_title));
if (in_array($package, $groups)) {
continue;
}
$groups[] = $package;
}
}
foreach ($groups as $group) {
foreach ($form[$group]['state'] as $feature_name => &$feature_status) {
if ($form[$group]['status'][$feature_name]['#default_value'] == 0) {
continue;
}
$status = features_get_storage($feature_name);
$cls = "admin";
switch ($status) {
case 3:
$cls .= "-rebuilding";
$txt = "Rebuilding";
break;
case 2:
$cls .= "-needs-review";
$txt = "Needs review";
break;
case 1:
$txt = "Overridden";
$cls .= "-overridden";
break;
default:
$txt = "Default";
$cls .= "-default";
break;
}
$cls .= " features-storage";
$feature_status['#markup'] = l($txt, "admin/structure/features/{$feature_name}", array(
'attributes' => array(
'class' => $cls,
),
));
}
}
}