diff --git a/includes/tuque_wrapper.inc b/includes/tuque_wrapper.inc index f075c402..6a38ad4a 100644 --- a/includes/tuque_wrapper.inc +++ b/includes/tuque_wrapper.inc @@ -322,7 +322,21 @@ class IslandoraFedoraObject extends FedoraObject { } } -class IslandoraRepositoryConnection extends RepositoryConnection {} +class IslandoraRepositoryConnection extends RepositoryConnection { + /** + * Constructor. + * + * Invokes parent, but additionally invokes an alter to allow modules to + * effect the configuration of the connection. + */ + public function __construct($url = NULL, $username = NULL, $password = NULL) { + if ($url === NULL) { + $url = static::FEDORA_URL; + } + parent::__construct($url, $username, $password); + drupal_alter('islandora_repository_connection_construction', $this); + } +} class IslandoraFedoraApi extends FedoraApi { diff --git a/islandora.api.php b/islandora.api.php index c88f0c20..1d0d9872 100644 --- a/islandora.api.php +++ b/islandora.api.php @@ -868,8 +868,21 @@ function hook_islandora_edit_datastream_registry_alter(&$edit_registry, $context unset($edit_registry['xml_form_builder_edit_form_registry']); } // Add custom form to replace the removed form builder edit_form. - $edit_registry['somemodule_custom_form'] = array( + $edit_registry['somemodule_custom_form'] = array( 'name' => t('Somemodule Custom Form'), - 'url' => "islandora/custom_form/{$context['object']->id}/{$context['datastream']->id}" + 'url' => "islandora/custom_form/{$context['object']->id}/{$context['datastream']->id}", ); } + +/** + * Permit configuration of connection parameters. + * + * @param RepositoryConnection $instance + * The connection being constructed. See the relevant Tuque ancestor classes + * for the particulars. + * + * @see https://github.com/Islandora/tuque/blob/1.x/HttpConnection.php + */ +function hook_islandora_repository_connection_construction_alter(RepositoryConnection $instance) { + $instance->userAgent = "Tuque/cURL"; +}