function remove_duplicates_build_confirm_settings_form in Remove Duplicates 7
Form constructor for the module settings confirmation page (Step 2/2).
See also
remove_duplicates_confirm_settings_form_submit()
1 call to remove_duplicates_build_confirm_settings_form()
- remove_duplicates_settings_form in ./
remove_duplicates.module - Form constructor for the module.
File
- ./
remove_duplicates.module, line 218 - Remove duplicate nodes according to node fields or Custom fields.
Code
function remove_duplicates_build_confirm_settings_form($form, &$form_state) {
if (isset($form_state['values']['remove_duplicates_node_types'])) {
// Set node type hidden field.
$node_type_machine_name = $form_state['values']['remove_duplicates_node_types'];
$form['remove_duplicates_node_types'] = array(
'#type' => 'hidden',
'#value' => $node_type_machine_name,
);
if (isset($form_state['values'][$node_type_machine_name . '_node_fields'])) {
$form[$node_type_machine_name . '_node_fields'] = array(
'#type' => 'hidden',
'#value' => $form_state['values'][$node_type_machine_name . '_node_fields'],
);
$node_field_machine_name = $form_state['values'][$node_type_machine_name . '_node_fields'];
$prioritize_published_nodes = $form_state['values']['remove_duplicates_prioritize_published'];
$case_sensitive = $form_state['values']['remove_duplicates_case_sensitive'];
// Display found duplicates.
switch ($form_state['values']['remove_duplicates_select_results_layout']) {
case 1:
$output = _remove_duplicates_get_table_output($node_type_machine_name, $node_field_machine_name, $prioritize_published_nodes, $case_sensitive);
break;
case 2:
$output = _remove_duplicates_get_tableselect_output($node_type_machine_name, $node_field_machine_name, $prioritize_published_nodes, $case_sensitive);
break;
default:
$output = _remove_duplicates_get_list_output($node_type_machine_name, $node_field_machine_name, $prioritize_published_nodes, $case_sensitive);
}
// The field name is not very explicit but short to insure
// that the post size won't be too big even with a large
// number of duplicates selected. Previously named :
// remove_duplicates_duplicates_to_remove .
$form['r'] = $output['#element'];
// End Of Display.
if (empty($output['#proceed'])) {
$remove_duplicates_message = t('Everything went fine. No duplicates were found.');
drupal_set_message($remove_duplicates_message);
$form_state['storage']['confirm'] = FALSE;
}
if (isset($form_state['values']['remove_duplicates_prioritize_published'])) {
$form['remove_duplicates_prioritize_published'] = array(
'#type' => 'hidden',
'#value' => $form_state['values']['remove_duplicates_prioritize_published'],
);
}
else {
$remove_duplicates_message = t('Priority not set. No duplicates were deleted.');
drupal_set_message($remove_duplicates_message, 'error');
$form_state['storage']['confirm'] = FALSE;
}
if (isset($form_state['values']['remove_duplicates_case_sensitive'])) {
$form['remove_duplicates_case_sensitive'] = array(
'#type' => 'hidden',
'#value' => $form_state['values']['remove_duplicates_case_sensitive'],
);
}
else {
$remove_duplicates_message = t('Case sensitivity not set. No duplicates were deleted.');
drupal_set_message($remove_duplicates_message, 'error');
$form_state['storage']['confirm'] = FALSE;
}
}
else {
$remove_duplicates_message = t('Node field not set. No duplicates were deleted.');
drupal_set_message($remove_duplicates_message, 'error');
$form_state['storage']['confirm'] = FALSE;
}
}
else {
$remove_duplicates_message = t('Node type not set. No duplicates were deleted.');
drupal_set_message($remove_duplicates_message, 'error');
$form_state['storage']['confirm'] = FALSE;
}
if (!empty($form_state['storage']['confirm'])) {
$form = confirm_form($form, t('Are you sure you want to remove duplicates ?'), 'admin/config/content/remove_duplicates', t('Found duplicates are going to be permanently removed.'), t('Remove Duplicates'), t('Cancel'));
}
else {
$form['actions']['cancel'] = array(
'#type' => 'item',
'#markup' => l(t('Cancel'), 'admin/config/content/remove_duplicates'),
);
}
return $form;
}