rwincewicz
13 years ago
11 changed files with 212 additions and 193 deletions
@ -0,0 +1,52 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* ChangeContentModels.inc |
||||||
|
*/ |
||||||
|
|
||||||
|
function islandora_change_content_models_form($form, &$form_state, $collection_pid) { |
||||||
|
|
||||||
|
$represented_content_models = get_represented_content_models($collection_pid); |
||||||
|
var_dump($represented_content_models); |
||||||
|
|
||||||
|
$form['change_cmodel']['titlebox'] = array( |
||||||
|
'#type' => 'item', |
||||||
|
'#title' => t("Change Content Models within @collection_pid", array('@collection_pid' => $collection_pid)), |
||||||
|
); |
||||||
|
|
||||||
|
$form['change_cmodel']['current_content_model'] = array( |
||||||
|
'#title' => "Choose content model to be changed", |
||||||
|
'#type' => 'select', |
||||||
|
'#options' => $represented_content_models, |
||||||
|
'#description' => t("All objects in this collection with the selected content model will be changed."), |
||||||
|
); |
||||||
|
|
||||||
|
$form['change_cmodel']['new_content_model'] = array( |
||||||
|
'#title' => "Choose new content model", |
||||||
|
'#type' => 'select', |
||||||
|
'#options' => $new_content_models, |
||||||
|
'#description' => t("The new content model to be assigned to selected objects."), |
||||||
|
); |
||||||
|
|
||||||
|
$form['change_cmodel']['collection_pid'] = array( |
||||||
|
'#type' => 'hidden', |
||||||
|
'#value' => $this_collection_pid, |
||||||
|
); |
||||||
|
|
||||||
|
$form['change_cmodel']['submit'] = array( |
||||||
|
'#type' => 'submit', |
||||||
|
'#value' => t('Change Content Model Associations'), |
||||||
|
'#id' => 'change_model', |
||||||
|
); |
||||||
|
|
||||||
|
return $form; |
||||||
|
} |
||||||
|
|
||||||
|
function islandora_change_content_models_form_validate($form, &$form_state) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
function islandora_change_content_models_form_submit($form, &$form_state) { |
||||||
|
|
||||||
|
} |
@ -1,95 +1,94 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* @file islandora_basic_collection.install |
* @file |
||||||
|
* islandora_basic_collection.install |
||||||
*/ |
*/ |
||||||
|
|
||||||
function islandora_basic_collection_install() { |
function islandora_basic_collection_install() { |
||||||
module_load_include('inc', 'islandora', 'RestConnection'); |
module_load_include('inc', 'islandora', 'RestConnection'); |
||||||
global $user; |
global $user; |
||||||
global $base_root; |
global $base_root; |
||||||
|
|
||||||
try { |
try { |
||||||
$restConnection = new RestConnection($user); |
$rest_connection = new RestConnection($user); |
||||||
} catch (Exception $e) { |
} catch (Exception $e) { |
||||||
drupal_set_message(t('Unable to connect to the repository %e', array('%e' => $e)), 'error'); |
drupal_set_message(st('Unable to connect to the repository %e', array('%e' => $e)), 'error'); |
||||||
return; |
return; |
||||||
} |
} |
||||||
|
|
||||||
$content_model_query = $restConnection->api->a->findObjects('query', 'pid=islandora:collectionCModel'); |
$content_model_query = $rest_connection->api->a->findObjects('query', 'pid=islandora:collectionCModel'); |
||||||
if (empty($content_model_query['results'])) { |
if (empty($content_model_query['results'])) { |
||||||
try { |
try { |
||||||
$xml = file_get_contents(drupal_get_path('module', 'islandora_basic_collection') . '/xml/islandora_collection_CModel.xml'); |
$xml = file_get_contents(drupal_get_path('module', 'islandora_basic_collection') . '/xml/islandora_collection_CModel.xml'); |
||||||
$restConnection->api->m->ingest(array('string' => $xml)); |
$rest_connection->api->m->ingest(array('string' => $xml)); |
||||||
} catch (Exception $e) { |
} catch (Exception $e) { |
||||||
drupal_set_message(t('Unable to install content models %e', array('%e' => $e)), 'error'); |
drupal_set_message(st('Unable to install content models %e', array('%e' => $e)), 'error'); |
||||||
return; |
return; |
||||||
} |
} |
||||||
drupal_set_message(t('Content models installed!')); |
drupal_set_message(st('Content models installed!')); |
||||||
} |
} |
||||||
else { |
else { |
||||||
drupal_set_message(t('Content models already exist!'), 'warning'); |
drupal_set_message(st('Content models already exist!'), 'warning'); |
||||||
} |
} |
||||||
|
|
||||||
$collection_query = $restConnection->api->a->findObjects('query', 'pid=islandora:root'); |
$collection_query = $rest_connection->api->a->findObjects('query', 'pid=islandora:root'); |
||||||
if (empty($collection_query['results'])) { |
if (empty($collection_query['results'])) { |
||||||
try { |
try { |
||||||
$xml = file_get_contents(drupal_get_path('module', 'islandora_basic_collection') . '/xml/islandora_root_collection.xml'); |
$xml = file_get_contents(drupal_get_path('module', 'islandora_basic_collection') . '/xml/islandora_root_collection.xml'); |
||||||
$restConnection->api->m->ingest(array('string' => $xml)); |
$rest_connection->api->m->ingest(array('string' => $xml)); |
||||||
$fedora_object = new FedoraObject('islandora:root', $restConnection->repository); |
$fedora_object = new FedoraObject('islandora:root', $rest_connection->repository); |
||||||
$datastream = new NewFedoraDatastream('TN', 'M', $fedora_object, $restConnection->repository); |
$datastream = new NewFedoraDatastream('TN', 'M', $fedora_object, $rest_connection->repository); |
||||||
$file_path = $base_root . '/' . drupal_get_path('module', 'islandora_basic_collection') . '/Crystal_Clear_filesystem_folder_grey.png'; |
$file_path = $base_root . '/' . drupal_get_path('module', 'islandora_basic_collection') . '/Crystal_Clear_filesystem_folder_grey.png'; |
||||||
$datastream->label = 'Thumbnail'; |
$datastream->label = 'Thumbnail'; |
||||||
$datastream->mimetype = 'image/png'; |
$datastream->mimetype = 'image/png'; |
||||||
$datastream->setContentFromUrl($file_path); |
$datastream->setContentFromUrl($file_path); |
||||||
$fedora_object->ingestDatastream($datastream); |
$fedora_object->ingestDatastream($datastream); |
||||||
|
|
||||||
} catch (Exception $e) { |
} catch (Exception $e) { |
||||||
drupal_set_message(t('Unable to install collections %e', array('%e' => $e)), 'error'); |
drupal_set_message(st('Unable to install collections %e', array('%e' => $e)), 'error'); |
||||||
return; |
return; |
||||||
} |
} |
||||||
drupal_set_message(t('Collections installed!')); |
drupal_set_message(st('Collections installed!')); |
||||||
} |
} |
||||||
else { |
else { |
||||||
drupal_set_message(t('Collections already exist!'), 'warning'); |
drupal_set_message(st('Collections already exist!'), 'warning'); |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
function islandora_basic_collection_uninstall() { |
function islandora_basic_collection_uninstall() { |
||||||
module_load_include('inc', 'islandora', 'RestConnection'); |
module_load_include('inc', 'islandora', 'RestConnection'); |
||||||
global $user; |
global $user; |
||||||
try { |
try { |
||||||
$restConnection = new RestConnection($user); |
$rest_connection = new RestConnection($user); |
||||||
} catch (Exception $e) { |
} catch (Exception $e) { |
||||||
drupal_set_message(t('Unable to connect to the repository %e', array('%e' => $e)), 'error'); |
drupal_set_message(st('Unable to connect to the repository %e', array('%e' => $e)), 'error'); |
||||||
return; |
return; |
||||||
} |
} |
||||||
|
|
||||||
$content_model_query = $restConnection->api->a->findObjects('query', 'pid=islandora:collectionCModel'); |
$content_model_query = $rest_connection->api->a->findObjects('query', 'pid=islandora:collectionCModel'); |
||||||
if (!empty($content_model_query['results'])) { |
if (!empty($content_model_query['results'])) { |
||||||
try { |
try { |
||||||
$restConnection->repository->purgeObject('islandora:collectionCModel'); |
$rest_connection->repository->purgeObject('islandora:collectionCModel'); |
||||||
} catch (Exception $e) { |
} catch (Exception $e) { |
||||||
drupal_set_message(t('Unable to purge content models %e', array('%e' => $e)), 'error'); |
drupal_set_message(st('Unable to purge content models %e', array('%e' => $e)), 'error'); |
||||||
return; |
return; |
||||||
} |
} |
||||||
drupal_set_message(t('Content models purged!')); |
drupal_set_message(st('Content models purged!')); |
||||||
} |
} |
||||||
else { |
else { |
||||||
drupal_set_message(t('Content models don\'t exist!'), 'warning'); |
drupal_set_message(st('Content models don\'t exist!'), 'warning'); |
||||||
} |
} |
||||||
|
|
||||||
$collection_query = $restConnection->api->a->findObjects('query', 'pid=islandora:root'); |
$collection_query = $rest_connection->api->a->findObjects('query', 'pid=islandora:root'); |
||||||
if (!empty($collection_query['results'])) { |
if (!empty($collection_query['results'])) { |
||||||
try { |
try { |
||||||
$restConnection->repository->purgeObject('islandora:root'); |
$rest_connection->repository->purgeObject('islandora:root'); |
||||||
} catch (Exception $e) { |
} catch (Exception $e) { |
||||||
drupal_set_message(t('Unable to purge collections %e', array('%e' => $e)), 'error'); |
drupal_set_message(st('Unable to purge collections %e', array('%e' => $e)), 'error'); |
||||||
return; |
return; |
||||||
} |
} |
||||||
drupal_set_message(t('Collections purged!')); |
drupal_set_message(st('Collections purged!')); |
||||||
} |
} |
||||||
else { |
else { |
||||||
drupal_set_message(t('Collections don\'t exist!'), 'warning'); |
drupal_set_message(st('Collections don\'t exist!'), 'warning'); |
||||||
} |
} |
||||||
} |
} |
Loading…
Reference in new issue