You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
<?php |
|
|
|
/** |
|
* @file |
|
* The admin/confirmation form to purge an object. |
|
*/ |
|
|
|
/** |
|
* The admin delete object form. |
|
* |
|
* @param array $form |
|
* The Drupal form. |
|
* @param array $form_state |
|
* The Drupal form state. |
|
* @param FedoraObject $object |
|
* The object to be deleted. |
|
* |
|
* @return array |
|
* The drupal form definition. |
|
*/ |
|
function islandora_delete_object_form(array $form, array &$form_state, FedoraObject $object) { |
|
$form_state['object'] = $object; |
|
return confirm_form($form, |
|
t('Are you sure you want to delete %title?', array('%title' => $object->label)), |
|
"islandora/object/$object->id", |
|
t('This action cannot be undone.'), |
|
t('Delete'), |
|
t('Cancel') |
|
); |
|
} |
|
|
|
/** |
|
* Delete's the given object. |
|
* |
|
* @param array $form |
|
* The Drupal form. |
|
* @param array $form_state |
|
* The Drupal form state. |
|
*/ |
|
function islandora_delete_object_form_submit(array $form, array &$form_state) { |
|
module_load_include('inc', 'islandora', 'includes/datastream'); |
|
module_load_include('inc', 'islandora', 'includes/utilities'); |
|
$object = $form_state['object']; |
|
$parents = islandora_get_parents_from_rels_ext($object); |
|
$parent = array_pop($parents); |
|
$form_state['redirect'] = isset($parent) ? "islandora/object/{$parent->id}" : 'islandora'; |
|
islandora_delete_object($object); |
|
}
|
|
|