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.
153 lines
5.0 KiB
153 lines
5.0 KiB
12 years ago
|
<?php
|
||
|
|
||
|
/**
|
||
|
* @file
|
||
|
* Implements hooks that get tested by islandora_hooks.test
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_object_alter().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_object_alter(AbstractFedoraObject $object, array &$context) {
|
||
|
switch ($context['action']) {
|
||
|
case 'ingest':
|
||
|
if ($object->id == 'test:testIngestedObjectHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_INGESTED_HOOK] = TRUE;
|
||
|
if ($object->label == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 'modify':
|
||
|
if ($object->id == 'test:testModifiedObjectHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_MODIFIED_HOOK] = TRUE;
|
||
|
if (isset($context['params']['label']) && $context['params']['label'] == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
elseif ($object->id == 'test:testPurgedObjectHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE;
|
||
|
if (isset($context['params']['label']) && $context['params']['label'] == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
elseif (isset($context['params']['label']) && $context['params']['label'] == 'delete') {
|
||
|
$context['delete'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 'purge':
|
||
|
if ($object->id == 'test:testPurgedObjectHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE;
|
||
|
if ($object->label == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
elseif ($object->label == 'delete') {
|
||
|
$context['delete'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_object_alter().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_datastream_alter(AbstractFedoraObject $object, AbstractFedoraDatastream $datastream, array &$context) {
|
||
|
switch ($context['action']) {
|
||
|
case 'ingest':
|
||
|
if ($object->id == 'test:testIngestedDatastreamHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_INGESTED_HOOK] = TRUE;
|
||
|
if ($datastream->label == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 'modify':
|
||
|
if ($object->id == 'test:testModifiedDatastreamHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_MODIFIED_HOOK] = TRUE;
|
||
|
if (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
elseif ($object->id == 'test:testPurgedDatastreamHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE;
|
||
|
if (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
elseif (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'delete') {
|
||
|
$context['delete'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
|
||
|
case 'purge':
|
||
|
if ($object->id == 'test:testPurgedDatastreamHook') {
|
||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE;
|
||
|
if ($datastream->label == 'block') {
|
||
|
$context['block'] = TRUE;
|
||
|
}
|
||
|
elseif ($datastream->label == 'delete') {
|
||
|
$context['delete'] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_object_ingested().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_object_ingested(FedoraObject $object) {
|
||
|
if ($object->id == 'test:testIngestedObjectHook') {
|
||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_INGESTED_HOOK] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_object_modified().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_object_modified(FedoraObject $object) {
|
||
|
if ($object->id == 'test:testModifiedObjectHook') {
|
||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_MODIFIED_HOOK] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_object_purged().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_object_purged($pid) {
|
||
|
if ($pid == 'test:testPurgedObjectHook') {
|
||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_datastream_ingested().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_datastream_ingested(FedoraObject $object, FedoraDatastream $datastream) {
|
||
|
if ($object->id == 'test:testIngestedDatastreamHook' && $datastream->id == "TEST") {
|
||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_INGESTED_HOOK] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_datastream_modified().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_datastream_modified(FedoraObject $object, FedoraDatastream $datastream) {
|
||
|
if ($object->id == 'test:testModifiedDatastreamHook' && $datastream->id == "TEST") {
|
||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_MODIFIED_HOOK] = TRUE;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Implements hook_islandora_datastream_purged().
|
||
|
*/
|
||
|
function islandora_hooks_test_islandora_datastream_purged(FedoraObject $object, $dsid) {
|
||
|
if ($object->id == 'test:testPurgedDatastreamHook' && $dsid == "TEST") {
|
||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE;
|
||
|
}
|
||
|
}
|