'Tuque', 'description' => 'The Islandora Collection solution pack requires the Tuque library.', 'severity' => REQUIREMENT_ERROR, )); } } } /** * Implements hook_install */ function islandora_basic_image_install() { module_load_include('inc', 'islandora', 'includes/tuque'); global $base_root; try { $restConnection = new IslandoraTuque(); } catch (Exception $e) { drupal_set_message(t('Unable to connect to the repository %e', array('%e' => $e)), 'error'); return; } $content_model_query = $restConnection->api->a->findObjects('query', 'pid=islandora:sp_basic_image'); if (empty($content_model_query['results'])) { try { $xml = file_get_contents(drupal_get_path('module', 'islandora_basic_image') . '/xml/simple_islandora_basic_imageCM.xml'); $restConnection->api->m->ingest(array('string' => $xml)); } catch (Exception $e) { drupal_set_message(t('Unable to install content models for the basic image module %e', array('%e' => $e)), 'error'); return; } drupal_set_message(t('Content models for the basic image module installed!')); } else { drupal_set_message(t('Content models for the basic image module already exist!'), 'warning'); } $collection_query = $restConnection->api->a->findObjects('query', 'pid=islandora:sp_basic_image_collection'); if (empty($collection_query['results'])) { try { $xml = file_get_contents(drupal_get_path('module', 'islandora_basic_image') . '/xml/islandora_basic_image_collection.xml'); $restConnection->api->m->ingest(array('string' => $xml)); $fedora_object = new FedoraObject('islandora:sp_basic_image_collection', $restConnection->repository); $datastream = new NewFedoraDatastream('TN', 'M', $fedora_object, $restConnection->repository); $file_path = $base_root . '/' . drupal_get_path('module', 'islandora_basic_image') . '/Crystal_Clear_filesystem_folder_grey.png'; $datastream->label = 'Thumbnail'; $datastream->mimetype = 'image/png'; $datastream->setContentFromUrl($file_path); $fedora_object->ingestDatastream($datastream); } catch (Exception $e) { drupal_set_message(t('Unable to install collections for the basic image module %e', array('%e' => $e)), 'error'); return; } drupal_set_message(t('Collections for the basic image module installed!')); } else { drupal_set_message(t('Collections for the basic image module already exist!'), 'warning'); } } /** * Implements hook_uninstall */ function islandora_basic_image_uninstall() { module_load_include('inc', 'islandora', 'includes/tuque'); global $user; try { $restConnection = new IslandoraTuque($user); } catch (Exception $e) { drupal_set_message(t('Unable to connect to the repository %e', array('%e' => $e)), 'error'); return; } $content_model_query = $restConnection->api->a->findObjects('query', 'pid=islandora:sp_basic_image'); if (!empty($content_model_query['results'])) { try { $restConnection->repository->purgeObject('islandora:sp_basic_image'); } catch (Exception $e) { drupal_set_message(t('Unable to purge content models for the basic image module %e', array('%e' => $e)), 'error'); return; } drupal_set_message(t('Content models for the basic image module purged!')); } else { drupal_set_message(t('Content models for the basic image module don\'t exist!'), 'warning'); } $collection_query = $restConnection->api->a->findObjects('query', 'pid=islandora:sp_basic_image_collection'); if (!empty($collection_query['results'])) { try { $restConnection->repository->purgeObject('islandora:sp_basic_image_collection'); } catch (Exception $e) { drupal_set_message(t('Unable to purge collections for the basic image module %e', array('%e' => $e)), 'error'); return; } drupal_set_message(t('Collections for the basic image module purged!')); } else { drupal_set_message(t('Collections for the basic image module don\'t exist!'), 'warning'); } }