diff --git a/includes/add_datastream.form.inc b/includes/add_datastream.form.inc index d19d5757..62490c9a 100644 --- a/includes/add_datastream.form.inc +++ b/includes/add_datastream.form.inc @@ -12,13 +12,13 @@ * The Drupal form. * @param array $form_state * The Drupal form state. - * @param FedoraObject $object + * @param AbstractObject $object * The object to be deleted. * * @return array * The drupal form definition. */ -function islandora_add_datastream_form(array $form, array &$form_state, FedoraObject $object) { +function islandora_add_datastream_form(array $form, array &$form_state, AbstractObject $object) { module_load_include('inc', 'islandora', 'includes/content_model'); module_load_include('inc', 'islandora', 'includes/utilities'); form_load_include($form_state, 'inc', 'islandora', 'includes/add_datastream.form'); @@ -206,13 +206,13 @@ function islandora_add_datastream_form_submit(array $form, array &$form_state) { * * It lists the missing required (may be optional) datastreams. * - * @param FedoraObject $object + * @param AbstractObject $object * The object used to check for missing required datastreams used to populate * the options in this callback. * @param string $query * vThe user query to match against the missing required datastreams. */ -function islandora_add_datastream_form_autocomplete_callback(FedoraObject $object, $query = '') { +function islandora_add_datastream_form_autocomplete_callback(AbstractObject $object, $query = '') { module_load_include('inc', 'islandora', 'includes/content_model'); module_load_include('inc', 'islandora', 'includes/utilities'); $dsids = array_keys(islandora_get_missing_datastreams_requirements($object)); diff --git a/includes/breadcrumb.inc b/includes/breadcrumb.inc index 9db4824c..f27d0e5d 100644 --- a/includes/breadcrumb.inc +++ b/includes/breadcrumb.inc @@ -14,7 +14,7 @@ * ancestry which is identified by any of the following RELS-EXT terms * (isMemberOf,isMemberOfCollection,isPartOf). * - * @param FedoraObject $object + * @param AbstractObject $object * An object whose ancestry will be mapped to bread-crumbs. * * @see drupal_set_breadcrumb() diff --git a/includes/datastream.inc b/includes/datastream.inc index b817b70d..23eb44f9 100644 --- a/includes/datastream.inc +++ b/includes/datastream.inc @@ -8,10 +8,10 @@ /** * Callback to download the given datastream to the users computer. * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to download. */ -function islandora_download_datastream(FedoraDatastream $datastream) { +function islandora_download_datastream(AbstractDatastream $datastream) { islandora_view_datastream($datastream, TRUE); } @@ -21,13 +21,13 @@ function islandora_download_datastream(FedoraDatastream $datastream) { * @note * This function calls exit(). * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to view/download. * @param bool $download * If TRUE the file is download to the user computer for viewing otherwise it * will attempt to display in the browser natively. */ -function islandora_view_datastream(FedoraDatastream $datastream, $download = FALSE) { +function islandora_view_datastream(AbstractDatastream $datastream, $download = FALSE) { header_remove('Cache-Control'); header_remove('Expires'); header('Content-type: ' . $datastream->mimetype); @@ -51,14 +51,14 @@ function islandora_view_datastream(FedoraDatastream $datastream, $download = FAL /** * Get the human readable size of the given datastream. * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to check. * * @return string * A human readable size of the given datastream, or '-' if the size could not * be determined. */ -function islandora_datastream_get_human_readable_size(FedoraDatastream $datastream) { +function islandora_datastream_get_human_readable_size(AbstractDatastream $datastream) { module_load_include('inc', 'islandora', 'includes/utilities'); $size_is_calculatable = $datastream->controlGroup == 'M' || $datastream->controlGroup == 'X'; return $size_is_calculatable ? islandora_convert_bytes_to_human_readable($datastream->size) : '-'; @@ -67,23 +67,23 @@ function islandora_datastream_get_human_readable_size(FedoraDatastream $datastre /** * Get either the 'view' or 'download' url for the given datastream if possible. * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to generated the url to. * * @return string * either the 'view' or 'download' url for the given datastream. */ -function islandora_datastream_get_url(FedoraDatastream $datastream, $type = 'download') { +function islandora_datastream_get_url(AbstractDatastream $datastream, $type = 'download') { return $datastream->controlGroup == 'R' ? $datastream->url : "islandora/object/{$datastream->parent->id}/datastream/{$datastream->id}/$type"; } /** * Gets the delete link. * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to generated the url to. */ -function islandora_datastream_get_delete_link(FedoraDatastream $datastream) { +function islandora_datastream_get_delete_link(AbstractDatastream $datastream) { $datastreams = module_invoke_all('islandora_undeletable_datastreams', $datastream->parent->models); $can_delete = !in_array($datastream->id, $datastreams); return $can_delete ? l(t('delete'), "islandora/object/{$datastream->parent->id}/datastream/{$datastream->id}/delete") : ''; @@ -92,10 +92,10 @@ function islandora_datastream_get_delete_link(FedoraDatastream $datastream) { /** * Gets the edit link. * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to generated the url to. */ -function islandora_datastream_edit_get_link(FedoraDatastream $datastream) { +function islandora_datastream_edit_get_link(AbstractDatastream $datastream) { $edit_registry = module_invoke_all('islandora_edit_datastream_registry', $datastream->parent, $datastream); $can_edit = count($edit_registry) > 0 && user_access(FEDORA_METADATA_EDIT); return $can_edit ? l(t('edit'), "islandora/object/{$datastream->parent->id}/datastream/{$datastream->id}/edit") : ''; @@ -104,10 +104,10 @@ function islandora_datastream_edit_get_link(FedoraDatastream $datastream) { /** * Display the edit datastream page. * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to edit. */ -function islandora_edit_datastream(FedoraDatastream $datastream) { +function islandora_edit_datastream(AbstractDatastream $datastream) { $edit_registry = module_invoke_all('islandora_edit_datastream_registry', $datastream->parent, $datastream); $edit_count = count($edit_registry); switch ($edit_count) { diff --git a/includes/delete_datastream.form.inc b/includes/delete_datastream.form.inc index faf92a18..b94e0141 100644 --- a/includes/delete_datastream.form.inc +++ b/includes/delete_datastream.form.inc @@ -12,13 +12,13 @@ * The Drupal form. * @param array $form_state * The Drupal form state. - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to be deleted. * * @return array * The drupal form definition. */ -function islandora_delete_datastream_form(array $form, array &$form_state, FedoraDatastream $datastream) { +function islandora_delete_datastream_form(array $form, array &$form_state, AbstractDatastream $datastream) { $form_state['datastream'] = $datastream; return confirm_form($form, t('Are you sure you want to delete the %dsid datastream?', array('%dsid' => $datastream->id)), @@ -32,7 +32,7 @@ function islandora_delete_datastream_form(array $form, array &$form_state, Fedor /** * Submit handler for the delete datastream form. * - * Purges/Delete's the given FedoraDatastream if possible. + * Purges/Delete's the given AbstractDatastream if possible. * * The ISLANDORA_PRE_PURGE_DATASTREAM_HOOK will query other modules as to * whether the given FedoraDatastream diff --git a/includes/delete_object.form.inc b/includes/delete_object.form.inc index 46210e3c..4b893074 100644 --- a/includes/delete_object.form.inc +++ b/includes/delete_object.form.inc @@ -12,13 +12,13 @@ * The Drupal form. * @param array $form_state * The Drupal form state. - * @param FedoraObject $object + * @param AbstractObject $object * The object to be deleted. * * @return array * The drupal form definition. */ -function islandora_delete_object_form(array $form, array &$form_state, FedoraObject $object) { +function islandora_delete_object_form(array $form, array &$form_state, AbstractObject $object) { $form_state['object'] = $object; return confirm_form($form, t('Are you sure you want to delete %title?', array('%title' => $object->label)), diff --git a/includes/object_properties.form.inc b/includes/object_properties.form.inc index c9de5e8f..543fa6dd 100644 --- a/includes/object_properties.form.inc +++ b/includes/object_properties.form.inc @@ -12,13 +12,13 @@ * The Drupal form. * @param array $form_state * The Drupal form state. - * @param FedoraObject $object + * @param AbstractObject $object * The object whose properties this form will modify. * * @return array * The drupal form definition. */ -function islandora_object_properties_form(array $form, array &$form_state, FedoraObject $object) { +function islandora_object_properties_form(array $form, array &$form_state, AbstractObject $object) { drupal_set_title($object->label); $form_state['object'] = $object; return array( diff --git a/includes/solution_packs.inc b/includes/solution_packs.inc index aa09c8a4..26bd77b5 100644 --- a/includes/solution_packs.inc +++ b/includes/solution_packs.inc @@ -180,12 +180,12 @@ function islandora_solution_pack_form_submit(array $form, array &$form_state) { /** * Batch operation to ingest/reingest required object(s). * - * @param NewFedoraObject $object + * @param AbstractObject $object * The object to ingest/reingest. * @param array $context * The context of this batch operation. */ -function islandora_solution_pack_batch_operation_reingest_object(NewFedoraObject $object, array &$context) { +function islandora_solution_pack_batch_operation_reingest_object(AbstractObject $object, array &$context) { $existing_object = islandora_object_load($object->id); $deleted = FALSE; if ($existing_object) { @@ -367,7 +367,7 @@ function islandora_uninstall_solution_pack($module) { /** * Function to check the status of an object against an object model array. * - * @param NewFedoraObject $object_definition + * @param AbstractObject $object_definition * A new fedora object that defines what the object should contain. * * @return string @@ -378,7 +378,7 @@ function islandora_uninstall_solution_pack($module) { * @see islandora_solution_pack_form() * @see islandora_install_solution_pack() */ -function islandora_check_object_status(NewFedoraObject $object_definition) { +function islandora_check_object_status(AbstractObject $object_definition) { $existing_object = islandora_object_load($object_definition->id); if (!$existing_object) { return array('status' => 'missing', 'status_friendly' => t('Missing')); @@ -627,7 +627,7 @@ function theme_islandora_viewers_table($variables) { * Array or string with data the module needs in order to render a full viewer * @param string $variable_id * The id of the Drupal variable the viewer settings are saved in - * @param FedoraObject $fedora_object + * @param AbstractObject $fedora_object * The tuque object representing the fedora object being displayed * * @return string diff --git a/includes/tuque_wrapper.inc b/includes/tuque_wrapper.inc index 14a770e2..8563070f 100644 --- a/includes/tuque_wrapper.inc +++ b/includes/tuque_wrapper.inc @@ -34,7 +34,7 @@ $islandora_module_path = drupal_get_path('module', 'islandora'); /** * Allow modules to alter an object before a mutable event occurs. */ -function islandora_alter_object(AbstractFedoraObject $object, array &$context) { +function islandora_alter_object(AbstractObject $object, array &$context) { module_load_include('inc', 'islandora', 'includes/utilities'); drupal_alter(islandora_build_hook_list('islandora_object', $object->models), $object, $context); } @@ -42,7 +42,7 @@ function islandora_alter_object(AbstractFedoraObject $object, array &$context) { /** * Allow modules to alter a datastream before a mutable event occurs. */ -function islandora_alter_datastream(AbstractFedoraObject $object, AbstractDatastream $datastream, array &$context) { +function islandora_alter_datastream(AbstractObject $object, AbstractDatastream $datastream, array &$context) { module_load_include('inc', 'islandora', 'includes/utilities'); $types = array(); foreach ($object->models as $model) { diff --git a/includes/utilities.inc b/includes/utilities.inc index fbc4585a..15f9b339 100644 --- a/includes/utilities.inc +++ b/includes/utilities.inc @@ -271,14 +271,14 @@ function islandora_namespace_accessible($id) { * This function gets its info from the RELS-EXT directly rather than through an * risearch. * - * @param FedoraObject $object + * @param AbstractObject $object * The object whose parents will be returned. * * @return array * An array of FedoraObject's that the given object has a * (isMemberOf, isMemberOfCollection) relationship with. */ -function islandora_get_parents_from_rels_ext(FedoraObject $object) { +function islandora_get_parents_from_rels_ext(AbstractObject $object) { try { $collections = array_merge( $object->relationships->get(FEDORA_RELS_EXT_URI, 'isMemberOfCollection'), @@ -298,7 +298,7 @@ function islandora_get_parents_from_rels_ext(FedoraObject $object) { /** * Gets the datastreams requirments that are missing. * - * @param FedoraObject $object + * @param AbstractObject $object * The object which models will be used to determine what datastreams it * should have. * @@ -306,7 +306,7 @@ function islandora_get_parents_from_rels_ext(FedoraObject $object) { * The DS-COMPOSITE-MODEL defined datastreams that are required for the given * object, but not already present. */ -function islandora_get_missing_datastreams_requirements(FedoraObject $object) { +function islandora_get_missing_datastreams_requirements(AbstractObject $object) { module_load_include('inc', 'islandora', 'includes/utilities'); $datastreams = islandora_get_datastreams_requirements($object); foreach ($datastreams as $dsid => $requirements) { @@ -331,7 +331,7 @@ function islandora_get_missing_datastreams_requirements(FedoraObject $object) { * * @see islandora_get_required_datastreams_from_content_model() * - * @param FedoraObject $object + * @param AbstractObject $object * The object which models will be used to determine what datastreams it * should have. * @@ -339,7 +339,7 @@ function islandora_get_missing_datastreams_requirements(FedoraObject $object) { * The DS-COMPOSITE-MODEL defined datastreams that are required for the given * object. */ -function islandora_get_datastreams_requirements(FedoraObject $object) { +function islandora_get_datastreams_requirements(AbstractObject $object) { return islandora_get_datastreams_requirements_from_models($object->models); } @@ -375,7 +375,7 @@ function islandora_get_datastreams_requirements_from_models(array $models) { * * @todo Add support for fetching the schema information. * - * @param FedoraObject $object + * @param AbstractObject $object * The content model whose DS-COMPOSITE-MODEL datastream will be used to * determine what datastreams are required. * @@ -388,7 +388,7 @@ function islandora_get_datastreams_requirements_from_models(array $models) { * - "mime": A array containing MIME-types the stream may have. * - "optional": A boolean indicating if the given stream is optional. */ -function islandora_get_datastreams_requirements_from_content_model(FedoraObject $object) { +function islandora_get_datastreams_requirements_from_content_model(AbstractObject $object) { if (empty($object[DS_COMP_STREAM])) { return array(); } diff --git a/islandora.api.php b/islandora.api.php index 17db59ad..89e1e048 100644 --- a/islandora.api.php +++ b/islandora.api.php @@ -8,7 +8,7 @@ /** * Generate a repository objects view. * - * @param FedoraObject $object + * @param AbstractObject $object * The object to display * @param object $user * The user accessing the object. @@ -29,7 +29,7 @@ function hook_islandora_view_object($object, $user, $page_number, $page_size) { * Content models PIDs have colons and hyphens changed to underscores, to * create the hook name. * - * @param FedoraObject $object + * @param AbstractObject $object * A Tuque FedoraObject * * @return array @@ -42,8 +42,8 @@ function hook_CMODEL_PID_islandora_view_object($object) { /** * Alter display output after it has been generated. * - * @param FedoraObject $object - * A Tuque FedoraObject being operated on. + * @param AbstractObject $object + * A Tuque AbstractObject being operated on. * @param array $rendered * The array of rendered views. */ @@ -55,8 +55,8 @@ function hook_islandora_view_object_alter(&$object, &$rendered) { * * @see hook_islandora_view_object_alter() * - * @param FedoraObject $object - * A Tuque FedoraObject being operated on. + * @param AbstractObject $object + * A Tuque AbstractObject being operated on. * @param array $rendered * The array of rendered views. */ @@ -66,7 +66,7 @@ function hook_CMODEL_PID_islandora_view_object_alter(&$object, &$rendered) { /** * Generate an object's management display. * - * @param FedoraObject $object + * @param AbstractObject $object * A Tuque FedoraObject * * @return array @@ -81,7 +81,7 @@ function hook_islandora_edit_object($object) { * Content models PIDs have colons and hyphens changed to underscores, to * create the hook name. * - * @param FedoraObject $object + * @param AbstractObject $object * A Tuque FedoraObject * * @return array @@ -93,7 +93,7 @@ function hook_CMODEL_PID_islandora_edit_object($object) { /** * Allow management display output to be altered. * - * @param FedoraObject $object + * @param AbstractObject $object * A Tuque FedoraObject * @param array $rendered * an arr of rendered views @@ -110,7 +110,7 @@ function hook_islandora_edit_object_alter(&$object, &$rendered) { * Changing object properties such as "label", or "state", are considered * modifications, where as manipulating an object's datstreams are not. * - * @param AbstractFedoraObject $object + * @param AbstractObject $object * The object to alter. * @param array $context * An associative array containing: @@ -130,7 +130,7 @@ function hook_islandora_edit_object_alter(&$object, &$rendered) { * * @see FedoraApiM::modifyObject() */ -function hook_islandora_object_alter(AbstractFedoraObject $object, array &$context) { +function hook_islandora_object_alter(AbstractObject $object, array &$context) { } /** @@ -138,7 +138,7 @@ function hook_islandora_object_alter(AbstractFedoraObject $object, array &$conte * * @see hook_islandora_object_alter() */ -function hook_CMODEL_PID_islandora_object_alter(AbstractFedoraObject $object, array &$context) { +function hook_CMODEL_PID_islandora_object_alter(AbstractObject $object, array &$context) { } /** @@ -151,15 +151,15 @@ function hook_CMODEL_PID_islandora_object_alter(AbstractFedoraObject $object, ar * immediately, instead it will be triggered for all datastreams at the time * of the NewFedoraObject's ingest. * - * Purging datastreams from a NewFedoraObject will not trigger this alter hook + * Purging datastreams from a AbstractObject will not trigger this alter hook * at all. * * Changing datastream's properties such as "label", or "state", are considered * modifications, as well as changing the datastreams content. * - * @param AbstractFedoraObject $object + * @param AbstractObject $object * The object to the datastream belong to. - * @param AbstractFedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to alter. * @param array $context * An associative array containing: @@ -179,7 +179,7 @@ function hook_CMODEL_PID_islandora_object_alter(AbstractFedoraObject $object, ar * * @see FedoraApiM::modifyDatastream() */ -function hook_islandora_datastream_alter(AbstractFedoraObject $object, AbstractFedoraDatastream $datastream, array &$context) { +function hook_islandora_datastream_alter(AbstractObject $object, AbstractDatastream $datastream, array &$context) { } /** @@ -187,7 +187,7 @@ function hook_islandora_datastream_alter(AbstractFedoraObject $object, AbstractF * * @see hook_islandora_datastream_alter() */ -function hook_CMODEL_PID_DSID_islandora_datastream_alter(AbstractFedoraObject $object, AbstractFedoraDatastream $datastream, array &$context) { +function hook_CMODEL_PID_DSID_islandora_datastream_alter(AbstractObject $object, AbstractDatastream $datastream, array &$context) { } /** @@ -200,10 +200,10 @@ function hook_CMODEL_PID_DSID_islandora_datastream_alter(AbstractFedoraObject $o * If ingested directly via the FedoraApiM object this will not be called as we * don't have access to the ingested object at that time. * - * @param FedoraObject $object + * @param AbstractObject $object * The object that was ingested. */ -function hook_islandora_object_ingested(FedoraObject $object) { +function hook_islandora_object_ingested(AbstractObject $object) { } /** @@ -211,7 +211,7 @@ function hook_islandora_object_ingested(FedoraObject $object) { * * @see hook_islandora_object_ingested() */ -function hook_CMODEL_PID_islandora_object_ingested(FedoraObject $object) { +function hook_CMODEL_PID_islandora_object_ingested(AbstractObject $object) { } /** @@ -222,13 +222,13 @@ function hook_CMODEL_PID_islandora_object_ingested(FedoraObject $object) { * Changing object properties such as "label", or "state", are considered * modifications, where as manipulating an object's datstreams are not. * - * @param FedoraObject $object + * @param AbstractObject $object * The object that was ingested. * * @todo We should also include what changes were made in a additional * parameter. */ -function hook_islandora_object_modified(FedoraObject $object) { +function hook_islandora_object_modified(AbstractObject $object) { } /** @@ -236,7 +236,7 @@ function hook_islandora_object_modified(FedoraObject $object) { * * @see hook_islandora_object_modified() */ -function hook_CMODEL_PID_islandora_object_modified(FedoraObject $object) { +function hook_CMODEL_PID_islandora_object_modified(AbstractObject $object) { } /** @@ -268,12 +268,12 @@ function hook_CMODEL_PID_islandora_object_purged($pid) { * If ingested directly via the FedoraApiM object this will not be called as we * don't have access to the ingested datastream at that time. * - * @param FedoraObject $object + * @param AbstractObject $object * The object the datastream belongs to. - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The ingested datastream. */ -function hook_islandora_datastream_ingested(FedoraObject $object, FedoraDatastream $datastream) { +function hook_islandora_datastream_ingested(AbstractObject $object, AbstractDatastream $datastream) { } /** @@ -281,7 +281,7 @@ function hook_islandora_datastream_ingested(FedoraObject $object, FedoraDatastre * * @see hook_islandora_object_ingested() */ -function hook_CMODEL_PID_DSID_islandora_datastream_ingested(FedoraObject $object, FedoraDatastream $datastream) { +function hook_CMODEL_PID_DSID_islandora_datastream_ingested(AbstractObject $object, AbstractDatastream $datastream) { } /** @@ -292,15 +292,15 @@ function hook_CMODEL_PID_DSID_islandora_datastream_ingested(FedoraObject $object * Changing datastream properties such as "label", or "state", are considered * modifications, as well as the datastreams content. * - * @param FedoraObject $object + * @param AbstractObject $object * The object the datastream belongs to. - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream that was ingested. * * @todo We should also include what changes were made in a additional * parameter. */ -function hook_islandora_datastream_modified(FedoraObject $object, FedoraDatastream $datastream) { +function hook_islandora_datastream_modified(AbstractObject $object, AbstractDatastream $datastream) { } /** @@ -308,7 +308,7 @@ function hook_islandora_datastream_modified(FedoraObject $object, FedoraDatastre * * @see hook_islandora_datastream_modified() */ -function hook_CMODEL_PID_islandora_datastream_modified(FedoraObject $object, FedoraDatastream $datastream) { +function hook_CMODEL_PID_islandora_datastream_modified(AbstractObject $object, AbstractDatastream $datastream) { } /** @@ -317,12 +317,12 @@ function hook_CMODEL_PID_islandora_datastream_modified(FedoraObject $object, Fed * This hook is called after an datastream has been successfully purged, or * when its state has been changed to "Deleted". * - * @param FedoraObject $object + * @param AbstractObject $object * The object the datastream belonged to. * @param string $dsid * The ID of the datastream that was purged/deleted. */ -function hook_islandora_datastream_purged(FedoraObject $object, $dsid) { +function hook_islandora_datastream_purged(AbstractObject $object, $dsid) { } /** @@ -330,13 +330,13 @@ function hook_islandora_datastream_purged(FedoraObject $object, $dsid) { * * @see hook_islandora_datastream_purged() */ -function hook_CMODEL_PID_islandora_datastream_purged(FedoraObject $object, $dsid) { +function hook_CMODEL_PID_islandora_datastream_purged(AbstractObject $object, $dsid) { } /** * Register a datastream edit route/form. * - * @param FedoraObject $object + * @param AbstractObject $object * The object to check. * @param string $dsid * todo diff --git a/islandora.drush.inc b/islandora.drush.inc new file mode 100644 index 00000000..e83ba046 --- /dev/null +++ b/islandora.drush.inc @@ -0,0 +1,40 @@ + array( + 'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT, + 'description' => dt('Corrects the type hinting for function parameters that reference non-abstract Tuque objects. Converts to a more generic form of AbstractObject. Be warned this will modify the source code in your site!'), + ), + ); +} + +/** + * Drush command callback. + * + * Corrects the type hinting in parameters such that they only use AbstractObject. + */ +function drush_islandora_correct_type_hinting() { + drush_print(dt('This will modify source code within your Drupal site. This can not be reversed.')); + if (!drush_confirm(dt('Do you really want to continue?'))) { + return drush_user_abort(); + } + // Only change files within modules directories and only modify php files. + $ret = -1; + passthru('find . -regex ".*\.\(php\|inc\|test\|module\|install\)" -path "*/modules/*" | xargs perl -pi -e "s/(\(.*)(AbstractFedoraObject|FedoraObject|NewFedoraObject|IslandoraFedoraObject|IslandoraNewFedoraObject)( .*\))/\1AbstractObject\3/g"', $ret); + passthru('find . -regex ".*\.\(php\|inc\|test\|module\|install\)" -path "*/modules/*" | xargs perl -pi -e "s/(\(.*)(AbstractFedoraDatastream|AbstractExistingFedoraDatastream|FedoraDatastream|NewFedoraDatastream|FedoraDatastreamVersion|IslandoraNewFedoraDatastream|IslandoraFedoraDatastream|IslandoraFedoraDatastreamVersion)( .*\))/\1AbstractDatastream\3/g"', $ret); +} + +function drush_islandora_correct_type_hinting_validate() { + if (drush_is_windows()) { + drush_set_error(dt("Sorry but this hasn't been implemented for Windows, it only works on unix systems.")); + } +} diff --git a/islandora.module b/islandora.module index ad9e569e..79672625 100644 --- a/islandora.module +++ b/islandora.module @@ -370,7 +370,7 @@ function islandora_forms($form_id) { * @global $user * * @param mixed $object - * The FedoraObject or FedoraDatastream to test for accessibility, if NULL + * The AbstractObject or AbstractDatastream to test for accessibility, if NULL * is given the object is assumed to not exist or be inaccessible. * @param array $permissions * The required user permissions. @@ -448,7 +448,7 @@ function islandora_user_access($object, array $permissions, $content_models = ar * * @param string $perm * User permission to test for. - * @param FedoraObject $object + * @param AbstractObject $object * The object to test, if NULL given the object doesn't exist or is * inaccessible. * @@ -474,10 +474,10 @@ function islandora_object_access_callback($perm, $object = NULL) { * * @param string $perm * The user permission to test for. - * @param FedoraObject $object + * @param AbstractObject $object * The object to test, if NULL given the object doesn't exist or is * inaccessible. - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to test, if NULL given the datastream doesn't exist * or is inaccessible. * @param StdObject $account @@ -525,7 +525,7 @@ function islandora_object_datastream_tokened_access_callback($perm, $object = NU * * @param array $perms * Array of user permission to test for. - * @param FedoraObject $object + * @param AbstractObject $object * The object to test, if NULL given the object doesn't exist or is * inaccessible. * @@ -551,13 +551,13 @@ function islandora_object_manage_access_callback($perms, $object = NULL) { /** * Renders the given objects manage overview page. * - * @param FedoraObject $object + * @param AbstractObject $object * The object to manage. * * @return string * The HTML repersentation of the manage object page. */ -function islandora_manage_overview_object(FedoraObject $object) { +function islandora_manage_overview_object(AbstractObject $object) { module_load_include('inc', 'islandora', 'includes/utilities'); $output = array(); foreach (islandora_build_hook_list(ISLANDORA_OVERVIEW_HOOK, $object->models) as $hook) { @@ -578,14 +578,14 @@ function islandora_manage_overview_object(FedoraObject $object) { /** * Renders the default manage object page for the given object. * - * @param FedoraObject $object + * @param AbstractObject $object * The object used to render the manage object page. * * @return array * The default rendering of the object manage page, indexed at * 'Default Edit output'. */ -function islandora_default_islandora_manage_overview_object(FedoraObject $object) { +function islandora_default_islandora_manage_overview_object(AbstractObject $object) { $output = theme('islandora_default_overview', array('islandora_object' => $object)); return array('Default overview output' => $output); } @@ -599,13 +599,13 @@ function islandora_default_islandora_manage_overview_object(FedoraObject $object * If no modules implement 'ISLANDORA_EDIT_HOOK' then this function returns the * default manage view. * - * @param FedoraObject $object + * @param AbstractObject $object * The object to manage. * * @return string * The HTML repersentation of the manage object page. */ -function islandora_edit_object(FedoraObject $object) { +function islandora_edit_object(AbstractObject $object) { module_load_include('inc', 'islandora', 'includes/breadcrumb'); module_load_include('inc', 'islandora', 'includes/utilities'); drupal_set_title($object->label); @@ -629,14 +629,14 @@ function islandora_edit_object(FedoraObject $object) { /** * Renders the default manage object page for the given object. * - * @param FedoraObject $object + * @param AbstractObject $object * The object used to render the manage object page. * * @return array * The default rendering of the object manage page, indexed at * 'Default Edit output'. */ -function islandora_default_islandora_edit_object(FedoraObject $object) { +function islandora_default_islandora_edit_object(AbstractObject $object) { $output = theme('islandora_default_edit', array('islandora_object' => $object)); return array('Default Edit output' => $output); } @@ -661,13 +661,13 @@ function islandora_view_default_object() { * If no modules implement the hook then the default view object page * will be rendered. * - * @param FedoraObject $object + * @param AbstractObject $object * The object to view. * * @return string * The html repersentation of this object. */ -function islandora_view_object(FedoraObject $object) { +function islandora_view_object(AbstractObject $object) { module_load_include('inc', 'islandora', 'includes/breadcrumb'); module_load_include('inc', 'islandora', 'includes/utilities'); drupal_set_title($object->label); @@ -697,7 +697,7 @@ function islandora_view_object(FedoraObject $object) { /** * Renders the default view object page for the given object. * - * @param FedoraObject $object + * @param AbstractObject $object * The object used to render the view object page. * * @return array @@ -849,7 +849,7 @@ function islandora_tokened_datastream_load($datastream_id, $map) { * * @param mixed $object_id * The object to load the datastream from. This can be a Fedora PID or - * an instantiated IslandoraFedoraObject as it implements __toString() + * an instantiated IslandoraAbstractObject as it implements __toString() * returning the PID. * * @return FedoraDatastream @@ -872,7 +872,7 @@ function islandora_datastream_load($datastream_id, $object_id) { * attribute, as in: * repository->ingestObject($object); } /** * Delete's or purges the given object. * - * @param FedoraObject $object + * @param AbstractObject $object * An object to delete. * * @return bool * TRUE if successful, FALSE otherwise. */ -function islandora_delete_object(FedoraObject &$object) { +function islandora_delete_object(AbstractObject &$object) { try { $object->repository->purgeObject($object->id); $object = NULL; @@ -979,13 +979,13 @@ function islandora_delete_object(FedoraObject &$object) { * Which types are undefined, but more than likely because of the hooks * there will be several kinds. * - * @param FedoraDatastream $datastream + * @param AbstractDatastream $datastream * The datastream to delete. * * @return bool * TRUE if successful, FALSE otherwise. */ -function islandora_delete_datastream(FedoraDatastream &$datastream) { +function islandora_delete_datastream(AbstractDatastream &$datastream) { $object = $datastream->parent; return $object->purgeDatastream($datastream->id); } @@ -1065,7 +1065,7 @@ function islandora_entity_property_info() { * Modules can either implement preprocess functions to append content onto the * 'content' variable, or override the display by providing a theme suggestion. * - * @param FedoraObject $object + * @param AbstractObject $object * The object. * * @return array diff --git a/islandora.rules.inc b/islandora.rules.inc index 7a97e44a..4045b1b9 100644 --- a/islandora.rules.inc +++ b/islandora.rules.inc @@ -80,7 +80,7 @@ function islandora_rules_action_info() { /** * Checks that there is a relationship match on the given object. * - * Takes a subject (either a FedoraObject or a FedoraDatastream), as well as + * Takes a subject (either a AbstractObject or a FedoraDatastream), as well as * the parameters for FedoraRelsExt::get() or FedoraRelsInt::get(), to try to * find a match. * @@ -94,7 +94,7 @@ function islandora_object_has_relationship($sub, $pred_uri, $pred, $object, $typ /** * Remove a relationship from the given object. * - * Takes a subject (either a FedoraObject or a FedoraDatastream), as well as + * Takes a subject (either a AbstractObject or a FedoraDatastream), as well as * the parameters for FedoraRelsExt::remove() or FedoraRelsInt::remove(), to * try to find a match. * @@ -107,7 +107,7 @@ function islandora_object_remove_relationship($sub, $pred_uri, $pred, $object, $ /** * Add a relationship to the given object. * - * Takes a subject (either a FedoraObject or a FedoraDatastream), as well as + * Takes a subject (either a AbstractObject or a FedoraDatastream), as well as * the parameters for FedoraRelsExt::add() or FedoraRelsInt::add(), and adds * the represented relationship. * diff --git a/tests/islandora_hooks_test.module b/tests/islandora_hooks_test.module index 315b88ee..a6b8a5b6 100644 --- a/tests/islandora_hooks_test.module +++ b/tests/islandora_hooks_test.module @@ -8,7 +8,7 @@ /** * Implements hook_islandora_object_alter(). */ -function islandora_hooks_test_islandora_object_alter(AbstractFedoraObject $object, array &$context) { +function islandora_hooks_test_islandora_object_alter(AbstractObject $object, array &$context) { switch ($context['action']) { case 'ingest': if ($object->id == 'test:testIngestedObjectHook') { @@ -54,7 +54,7 @@ function islandora_hooks_test_islandora_object_alter(AbstractFedoraObject $objec /** * Implements hook_islandora_object_alter(). */ -function islandora_hooks_test_islandora_datastream_alter(AbstractFedoraObject $object, AbstractFedoraDatastream $datastream, array &$context) { +function islandora_hooks_test_islandora_datastream_alter(AbstractObject $object, AbstractDatastream $datastream, array &$context) { switch ($context['action']) { case 'ingest': if ($object->id == 'test:testIngestedDatastreamHook') { @@ -100,7 +100,7 @@ function islandora_hooks_test_islandora_datastream_alter(AbstractFedoraObject $o /** * Implements hook_islandora_object_ingested(). */ -function islandora_hooks_test_islandora_object_ingested(FedoraObject $object) { +function islandora_hooks_test_islandora_object_ingested(AbstractObject $object) { if ($object->id == 'test:testIngestedObjectHook') { $_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_INGESTED_HOOK] = TRUE; } @@ -109,7 +109,7 @@ function islandora_hooks_test_islandora_object_ingested(FedoraObject $object) { /** * Implements hook_islandora_object_modified(). */ -function islandora_hooks_test_islandora_object_modified(FedoraObject $object) { +function islandora_hooks_test_islandora_object_modified(AbstractObject $object) { if ($object->id == 'test:testModifiedObjectHook') { $_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_MODIFIED_HOOK] = TRUE; } @@ -127,7 +127,7 @@ function islandora_hooks_test_islandora_object_purged($pid) { /** * Implements hook_islandora_datastream_ingested(). */ -function islandora_hooks_test_islandora_datastream_ingested(FedoraObject $object, FedoraDatastream $datastream) { +function islandora_hooks_test_islandora_datastream_ingested(AbstractObject $object, AbstractDatastream $datastream) { if ($object->id == 'test:testIngestedDatastreamHook' && $datastream->id == "TEST") { $_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_INGESTED_HOOK] = TRUE; } @@ -136,7 +136,7 @@ function islandora_hooks_test_islandora_datastream_ingested(FedoraObject $object /** * Implements hook_islandora_datastream_modified(). */ -function islandora_hooks_test_islandora_datastream_modified(FedoraObject $object, FedoraDatastream $datastream) { +function islandora_hooks_test_islandora_datastream_modified(AbstractObject $object, AbstractDatastream $datastream) { if ($object->id == 'test:testModifiedDatastreamHook' && $datastream->id == "TEST") { $_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_MODIFIED_HOOK] = TRUE; } @@ -145,7 +145,7 @@ function islandora_hooks_test_islandora_datastream_modified(FedoraObject $object /** * Implements hook_islandora_datastream_purged(). */ -function islandora_hooks_test_islandora_datastream_purged(FedoraObject $object, $dsid) { +function islandora_hooks_test_islandora_datastream_purged(AbstractObject $object, $dsid) { if ($object->id == 'test:testPurgedDatastreamHook' && $dsid == "TEST") { $_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE; }