-
Notifications
You must be signed in to change notification settings - Fork 0
/
agile_fonds_importer.module
73 lines (66 loc) · 2.21 KB
/
agile_fonds_importer.module
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
/**
* @file
* Miscellaneous hook implementations.
*/
define('HAS_FONDS_INDENTIFIER', 'hasFondIdentifier');
define('HAS_VOLUME_INDENTIFIER', 'hasVolumeIdentifier');
define('HAS_FOLDER_INDENTIFIER', 'hasFolderIdentifier');
define('HAS_FILE_INDENTIFIER', 'hasFileIdentifier');
/**
* Implements hook_menu().
*/
function agile_fonds_importer_menu() {
$items = array();
$items['agile/migrate/csv'] = array(
'title' => 'Import CSV',
'description' => 'Imports Fonds metadata',
'type' => MENU_NORMAL_ITEM,
'page callback' => 'drupal_get_form',
'page arguments' => array('agile_import_csv_form'),
'file' => 'includes/agile_migration.inc',
'access arguments' => array('access content'),
);
$items['agile/migrate/volume'] = array(
'title' => 'Migrate Volume',
'description' => 'Migrates entire volume from known fond',
'type' => MENU_NORMAL_ITEM,
'page callback' => 'drupal_get_form',
'page arguments' => array('agile_migrate_volume_form'),
'file' => 'includes/agile_migration.inc',
'access arguments' => array('access content'),
);
return $items;
}
/**
* Implements hook_preprocess_theme().
*/
function agile_fonds_importer_process_islandora_large_image(&$variables) {
$pid = $variables['islandora_object']->id;
$object = islandora_object_load($pid);
$relationships = $object->relationships->get();
$provenance = array();
foreach ($relationships AS $relationship) {
switch ($relationship['predicate']['value']) {
case HAS_FONDS_INDENTIFIER:
$fond = t('Fond');
$provenance[] = "$fond : " . $relationship['object']['value'];
break;
case HAS_VOLUME_INDENTIFIER:
$volume = t('Volume');
$provenance[] = "$volume : " . $relationship['object']['value'];
break;
case HAS_FOLDER_INDENTIFIER:
$folder = t('Folder');
$provenance[] = "$folder : " . $relationship['object']['value'];
break;
case HAS_FILE_INDENTIFIER:
$file = t('File');
$provenance[] = "$file : " . $relationship['object']['value'];
break;
break;
}
}
$identifier = implode(" | ", $provenance);
$variables['islandora_content'] = $identifier . $variables['islandora_content'];
}