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.
177 lines
4.9 KiB
177 lines
4.9 KiB
<?php |
|
|
|
/** |
|
* @file |
|
* This is the new Islandora module. We need a better doc comment here. |
|
*/ |
|
|
|
define('ISLANDORA_NAMESPACE', 'http://islandora.ca/ontology/v2/'); |
|
define('ISLANDORA_NAMESPACE_PREFIX', 'islandora'); |
|
define('ISLANDORA_FEDORA_NAMESPACE', 'http://fedora.info/definitions/v4/repository#'); |
|
define('ISLANDORA_FEDORA_NAMESPACE_PREFIX', 'fedora'); |
|
define('ISLANDORA_PCDM_NAMESPACE', 'http://pcdm.org/models#'); |
|
define('ISLANDORA_PCDM_NAMESPACE_PREFIX', 'pcdm'); |
|
define('ISLANDORA_NFO_NAMESPACE', 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/'); |
|
define('ISLANDORA_NFO_NAMESPACE_PREFIX', 'nfo'); |
|
define('ISLANDORA_LDP_NAMESPACE', 'http://www.w3.org/ns/ldp#'); |
|
define('ISLANDORA_LDP_NAMESPACE_PREFIX', 'ldp'); |
|
define('ISLANDORA_MIX_NAMESPACE', 'http://www.jcp.org/jcr/mix/1.0'); |
|
define('ISLANDORA_MIX_NAMESPACE_PREFIX', 'mix'); |
|
define('ISLANDORA_NT_NAMESPACE', 'http://www.jcp.org/jcr/nt/1.0'); |
|
define('ISLANDORA_NT_NAMESPACE_PREFIX', 'nt'); |
|
define('ISLANDORA_PCDM_COLLECTION_RDF_TYPE', 'pcdm:Collection'); |
|
define('ISLANDORA_PCDM_OBJECT_RDF_TYPE', 'pcdm:Object'); |
|
define('ISLANDORA_TN_FIELD', 'field_tn'); |
|
define('ISLANDORA_FEDORA_PATH_FIELD', 'field_fedora_path'); |
|
define('ISLANDORA_FEDORA_HAS_PARENT_FIELD', 'field_fedora_has_parent'); |
|
define('ISLANDORA_PCDM_HAS_MEMBER_FIELD', 'field_pcdm_has_member'); |
|
|
|
/** |
|
* Implements hook_ctools_plugin_api(). |
|
*/ |
|
function islandora_ctools_plugin_api($owner, $api) { |
|
if ($owner == 'services' && $api == 'services') { |
|
return array( |
|
'version' => 3, |
|
); |
|
} |
|
} |
|
|
|
/** |
|
* Implements hook_rdf_namespaces(). |
|
*/ |
|
function islandora_rdf_namespaces() { |
|
return array( |
|
ISLANDORA_NAMESPACE_PREFIX => ISLANDORA_NAMESPACE, |
|
ISLANDORA_FEDORA_NAMESPACE_PREFIX => ISLANDORA_FEDORA_NAMESPACE, |
|
ISLANDORA_PCDM_NAMESPACE_PREFIX => ISLANDORA_PCDM_NAMESPACE, |
|
ISLANDORA_NFO_NAMESPACE_PREFIX => ISLANDORA_NFO_NAMESPACE, |
|
ISLANDORA_NT_NAMESPACE_PREFIX => ISLANDORA_NT_NAMESPACE, |
|
ISLANDORA_MIX_NAMESPACE_PREFIX => ISLANDORA_MIX_NAMESPACE, |
|
ISLANDORA_LDP_NAMESPACE_PREFIX => ISLANDORA_LDP_NAMESPACE, |
|
); |
|
} |
|
|
|
/** |
|
* Implements hook_entity_load(). |
|
*/ |
|
function islandora_entity_load($entities, $type) { |
|
foreach ($entities as $entity) { |
|
if (strcmp($type, "node") == 0) { |
|
$entity->rdf_namespaces = rdf_get_namespaces(); |
|
} |
|
} |
|
} |
|
|
|
/** |
|
* Implements hook_default_services_endpoint(). |
|
*/ |
|
function islandora_default_services_endpoint() { |
|
$endpoint = new stdClass(); |
|
$endpoint->disabled = FALSE; /* Edit this to true to make a default endpoint disabled initially */ |
|
$endpoint->api_version = 3; |
|
$endpoint->name = 'islandora'; |
|
$endpoint->server = 'rest_server'; |
|
$endpoint->path = 'islandora'; |
|
$endpoint->authentication = array(); |
|
$endpoint->server_settings = array( |
|
'formatters' => array( |
|
'json' => TRUE, |
|
'bencode' => FALSE, |
|
'jsonp' => FALSE, |
|
'php' => FALSE, |
|
'xml' => FALSE, |
|
), |
|
'parsers' => array( |
|
'application/json' => TRUE, |
|
'application/vnd.php.serialized' => FALSE, |
|
'application/x-www-form-urlencoded' => FALSE, |
|
'application/xml' => FALSE, |
|
'multipart/form-data' => FALSE, |
|
'text/xml' => FALSE, |
|
), |
|
); |
|
$endpoint->resources = array( |
|
'node' => array( |
|
'operations' => array( |
|
'retrieve' => array( |
|
'enabled' => '1', |
|
), |
|
'create' => array( |
|
'enabled' => '1', |
|
), |
|
'update' => array( |
|
'enabled' => '1', |
|
), |
|
'delete' => array( |
|
'enabled' => '1', |
|
), |
|
'index' => array( |
|
'enabled' => '1', |
|
), |
|
), |
|
'relationships' => array( |
|
'files' => array( |
|
'enabled' => '1', |
|
), |
|
'comments' => array( |
|
'enabled' => '1', |
|
), |
|
), |
|
'targeted_actions' => array( |
|
'attach_file' => array( |
|
'enabled' => '1', |
|
), |
|
), |
|
), |
|
'user' => array( |
|
'operations' => array( |
|
'retrieve' => array( |
|
'enabled' => '1', |
|
), |
|
'create' => array( |
|
'enabled' => '1', |
|
), |
|
'update' => array( |
|
'enabled' => '1', |
|
), |
|
'delete' => array( |
|
'enabled' => '1', |
|
), |
|
'index' => array( |
|
'enabled' => '1', |
|
), |
|
), |
|
'actions' => array( |
|
'login' => array( |
|
'enabled' => '1', |
|
), |
|
'logout' => array( |
|
'enabled' => '1', |
|
), |
|
'token' => array( |
|
'enabled' => '1', |
|
), |
|
'request_new_password' => array( |
|
'enabled' => '1', |
|
), |
|
'register' => array( |
|
'enabled' => '1', |
|
), |
|
), |
|
'targeted_actions' => array( |
|
'cancel' => array( |
|
'enabled' => '1', |
|
), |
|
'password_reset' => array( |
|
'enabled' => '1', |
|
), |
|
'resend_welcome_email' => array( |
|
'enabled' => '1', |
|
), |
|
), |
|
), |
|
); |
|
$endpoint->debug = 0; |
|
return array($endpoint); |
|
}
|
|
|