function pathauto_admin_delete in Pathauto 7
Same name and namespace in other branches
- 5.2 pathauto.module \pathauto_admin_delete()
- 6.2 pathauto.admin.inc \pathauto_admin_delete()
- 6 pathauto.admin.inc \pathauto_admin_delete()
Menu callback; select certain alias types to delete.
1 string reference to 'pathauto_admin_delete'
- pathauto_menu in ./
pathauto.module - Implements hook_menu().
File
- ./
pathauto.admin.inc, line 359 - Admin page callbacks for the Pathauto module.
Code
function pathauto_admin_delete() {
/* TODO:
1) all - DONE
2) all node aliases - DONE
4) all user aliases - DONE
5) all taxonomy aliases - DONE
6) by node type
7) by taxonomy vocabulary
8) no longer existing aliases (see http://drupal.org/node/128366 )
9) where src like 'pattern' - DON'T DO
10) where dst like 'pattern' - DON'T DO
*/
$form['delete'] = array(
'#type' => 'fieldset',
'#title' => t('Choose aliases to delete'),
'#collapsible' => FALSE,
'#collapsed' => FALSE,
);
// First we do the "all" case
$total_count = db_query('SELECT count(1) FROM {url_alias}')
->fetchField();
$form['delete']['all_aliases'] = array(
'#type' => 'checkbox',
'#title' => t('All aliases'),
'#default_value' => FALSE,
'#description' => t('Delete all aliases. Number of aliases which will be deleted: %count.', array(
'%count' => $total_count,
)),
);
// Next, iterate over an array of objects/alias types which can be deleted and provide checkboxes
$objects = module_invoke_all('path_alias_types');
foreach ($objects as $internal_name => $label) {
$count = db_query("SELECT count(1) FROM {url_alias} WHERE source LIKE :src", array(
':src' => "{$internal_name}%",
))
->fetchField();
$form['delete'][$internal_name] = array(
'#type' => 'checkbox',
'#title' => $label,
// This label is sent through t() in the hard coded function where it is defined
'#default_value' => FALSE,
'#description' => t('Delete aliases for all @label. Number of aliases which will be deleted: %count.', array(
'@label' => $label,
'%count' => $count,
)),
);
}
// Warn them and give a button that shows we mean business
$form['warning'] = array(
'#value' => '<p>' . t('<strong>Note:</strong> there is no confirmation. Be sure of your action before clicking the "Delete aliases now!" button.<br />You may want to make a backup of the database and/or the url_alias table prior to using this feature.') . '</p>',
);
$form['buttons']['submit'] = array(
'#type' => 'submit',
'#value' => t('Delete aliases now!'),
);
return $form;
}