|
|
@ -1784,7 +1784,7 @@ function islandora_callback_prep() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function islandora_fedora_settings_form_submit($form, &$form_state) { |
|
|
|
function islandora_fedora_settings_form_submit($form, &$form_state) { |
|
|
|
|
|
|
|
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
|
|
|
$op = isset($form_state['values']['op']) ? $form_state['values']['op'] : ''; |
|
|
|
$op = isset($form_state['values']['op']) ? $form_state['values']['op'] : ''; |
|
|
|
if ($form_state['ahah_submission'] == TRUE) { |
|
|
|
if ($form_state['ahah_submission'] == TRUE) { |
|
|
|
$form_state['rebuild'] = TRUE; |
|
|
|
$form_state['rebuild'] = TRUE; |
|
|
@ -1814,9 +1814,15 @@ function islandora_fedora_settings_form_submit($form, &$form_state) { |
|
|
|
//set elements previously defined in config code. |
|
|
|
//set elements previously defined in config code. |
|
|
|
//the elements are left in to allow for third party modules. |
|
|
|
//the elements are left in to allow for third party modules. |
|
|
|
if ($op != t('Reset to defaults')) { |
|
|
|
if ($op != t('Reset to defaults')) { |
|
|
|
$fedora_base = variable_get('fedora_base_url', 'http://localhost:8080/fedora'); |
|
|
|
$fedora_path = variable_get('fedora_base_url', 'http://localhost:8080/fedora'); |
|
|
|
variable_set('fedora_soap_url', $fedora_base . '/wsdl?api=API-A'); |
|
|
|
$response = do_curl_ext($fedora_path . '/describe'); |
|
|
|
variable_set('fedora_soap_manage_url', $fedora_base . '/wsdl?api=API-M'); |
|
|
|
$available = ($response != NULL) ? ($response[1] == 0) : FALSE; |
|
|
|
|
|
|
|
if ($available) { |
|
|
|
|
|
|
|
variable_set('fedora_soap_url', $fedora_path . '/wsdl?api=API-A'); |
|
|
|
|
|
|
|
variable_set('fedora_soap_manage_url', $fedora_path . '/wsdl?api=API-M'); |
|
|
|
|
|
|
|
$root = variable_get('fedora_repository_pid', 'islandora:root'); |
|
|
|
|
|
|
|
islandora_guarantee_root_collection($root); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if ($op == t('Reset to defaults')) { |
|
|
|
if ($op == t('Reset to defaults')) { |
|
|
|
drupal_set_message(t('The configuration options have been reset to their default values.')); |
|
|
|
drupal_set_message(t('The configuration options have been reset to their default values.')); |
|
|
@ -1825,8 +1831,7 @@ function islandora_fedora_settings_form_submit($form, &$form_state) { |
|
|
|
drupal_set_message(t('The Islandora configuration options have been saved.')); |
|
|
|
drupal_set_message(t('The Islandora configuration options have been saved.')); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$root = variable_get('fedora_repository_pid', 'islandora:root'); |
|
|
|
|
|
|
|
islandora_guarantee_root_collection($root); |
|
|
|
|
|
|
|
cache_clear_all(); |
|
|
|
cache_clear_all(); |
|
|
|
drupal_rebuild_theme_registry(); |
|
|
|
drupal_rebuild_theme_registry(); |
|
|
|
} |
|
|
|
} |
|
|
@ -1834,13 +1839,9 @@ function islandora_fedora_settings_form_submit($form, &$form_state) { |
|
|
|
function islandora_guarantee_root_collection($pid) { |
|
|
|
function islandora_guarantee_root_collection($pid) { |
|
|
|
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
|
|
|
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
|
|
|
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
|
|
|
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
|
|
|
if(!fedora_available ()){ |
|
|
|
|
|
|
|
drupal_set_message(t('Fedora is not available')); |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
$item = new Fedora_Item($pid); |
|
|
|
$item = new Fedora_Item($pid); |
|
|
|
if ($item->exists()) { |
|
|
|
if ($item->exists()) { |
|
|
|
|
|
|
|
|
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
$item = Fedora_item::ingest_new_item($pid, 'A', 'Islandora Root Collection', 'admin'); |
|
|
|
$item = Fedora_item::ingest_new_item($pid, 'A', 'Islandora Root Collection', 'admin'); |
|
|
|