array('target' => '_blank'))); $requirements['islandora_xsltprocessor']['description'] = $t('The !xsllink is required. Check your installed PHP extensions and php.ini file.', array('!xsllink' => $link)); $requirements['islandora_xsltprocessor']['severity'] = REQUIREMENT_ERROR; } return $requirements; } /** * Implements hook_install(). * * @see islandora_islandora_required_objects() */ function islandora_install() { module_load_include('inc', 'islandora', 'includes/solution_packs'); islandora_install_solution_pack('islandora'); } /** * Implements hook_uninstall(). * * @see islandora_islandora_required_objects() */ function islandora_uninstall() { module_load_include('inc', 'islandora', 'includes/solution_packs'); islandora_install_solution_pack('islandora', 'uninstall'); // Add new variables to clean up. $variables = array( 'islandora_ds_replace_exclude_enforced', 'islandora_defer_derivatives_on_ingest', 'islandora_base_url', 'islandora_repository_pid', 'islandora_use_datastream_cache_headers', 'islandora_show_print_option', 'islandora_render_drupal_breadcrumbs', 'islandora_namespace_restriction_enforced', 'islandora_pids_allowed', 'islandora_risearch_use_itql_when_necessary', 'islandora_use_object_semaphores', 'islandora_semaphore_period', 'islandora_require_obj_upload', 'islandora_breadcrumbs_backends', 'islandora_render_context_ingeststep', ); array_walk($variables, 'variable_del'); } /** * Implements hook_schema(). */ function islandora_schema() { $schema['islandora_authtokens'] = array( 'description' => 'The hub for all islandora authentication tokens', 'fields' => array( 'id' => array( 'description' => 'key', 'type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, ), 'token' => array( 'description' => 'a unique identifier for this token', 'type' => 'varchar', 'length' => 64, ), 'remaining_uses' => array( 'description' => 'How many uses until this should be removed', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, ), 'uid' => array( 'description' => 'the user id that requested this token', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, ), 'time' => array( 'description' => 'when this token was created', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, ), 'pid' => array( 'description' => 'the pid of the object this token unlocks', 'type' => 'varchar', 'length' => 128, 'not null' => TRUE, ), 'dsid' => array( 'description' => 'the datasteram id of the object this token unlocks', 'type' => 'varchar', 'length' => 32, 'not null' => TRUE, ), ), 'unique keys' => array( 'id' => array('id'), ), 'primary key' => array('id'), ); return $schema; } /** * Implements hook_update_N(). * * Add the required table for handling authentication tokens. * This is the first instance that has this table. */ function islandora_update_7001(&$sandbox) { drupal_install_schema('islandora'); $t = get_t(); return $t("Islandora database updates complete"); } /** * Implements hook_update_N(). * * Add default permissions for viewing inactive or deleted objects. * Match permissions for viewing all objects. */ function islandora_update_7002(&$sandbox) { $t = get_t(); return $t("A new permission 'view inactive or deleted objects' has been added to the system, and these objects can no longer be viewed by someone without this permission. If you have users who need to view inactive or deleted objects please add the new permission to appropriate roles. This is especially important for sites using the 'Islandora Simple Workflow' module"); }