Browse Source

Merge branch '7.x' of github.com:Islandora/islandora into 7.x

pull/122/merge
Paul Pound 13 years ago
parent
commit
40a7f806fe
  1. 0
      islandora_basic_collection/includes/change_content_models.inc
  2. 20
      islandora_basic_collection/includes/child_collection.inc
  3. 16
      islandora_basic_collection/includes/collection_management.inc
  4. 2
      islandora_basic_collection/includes/collection_manager_table.inc
  5. 2
      islandora_basic_collection/includes/delete_collection.inc
  6. 10
      islandora_basic_collection/includes/manage_policies.inc
  7. 2
      islandora_basic_collection/includes/move_collection.inc
  8. 16
      islandora_basic_collection/islandora_basic_collection.module
  9. 12
      islandora_basic_image/islandora-basic-image.tpl.php

0
islandora_basic_collection/includes/ChangeContentModels.inc → islandora_basic_collection/includes/change_content_models.inc

20
islandora_basic_collection/includes/ChildCollection.inc → islandora_basic_collection/includes/child_collection.inc

@ -15,8 +15,28 @@
*/
function islandora_create_child_collection_form($form, &$form_state, $this_collection_pid) {
module_load_include('inc', 'islandora', 'RestConnection');
module_load_include('inc', 'islandora_basic_collection', 'includes/CollectionPolicy');
$rest_connection = new RestConnection();
$collection_object = new FedoraObject($this_collection_pid, $rest_connection->repository);
$policy_datastream = $collection_object->getDatastream(variable_get('Islandora_Collection_Policy_DSID', 'COLLECTION_POLICY'));
$collection_policy = new CollectionPolicy($policy_datastream->content);
$current_content_models = $collection_policy->getContentModels();
$collection_content_model_exists = FALSE;
foreach ($current_content_models as $current_content_model) {
if ($current_content_model['pid'] == 'islandora:collectionCModel') {
$collection_content_model_exists = TRUE;
}
}
if (!$collection_content_model_exists) {
$form['not_collection'] = array(
'#type' => 'item',
'#title' => t("This object can't contain child collections. To fix this add the islandora:collectionCModel to this object's collection policy"),
);
return $form;
}
$restricted = FALSE;
if (variable_get('fedora_namespace_restriction_enforced', TRUE)) {
$restricted = TRUE;

16
islandora_basic_collection/includes/CollectionManagement.inc → islandora_basic_collection/includes/collection_management.inc

@ -67,7 +67,6 @@ function islandora_collections_get_collection_from_pid($pid) {
return $object_pids;
}
/**
* Returns an array of pids that match the query contained in the collection
* object's QUERY datastream or in the suppled $query parameter.
@ -124,8 +123,7 @@ function get_related_items_as_array($collection_pid, $relationship = array('isMe
return $results;
}
/**
/**
* determines whether we can see the object or not
* checks PID namespace permissions, and user permissions
* @global type $user
@ -133,7 +131,7 @@ function get_related_items_as_array($collection_pid, $relationship = array('isMe
* @param type $pid
* @return type
*/
function fedora_repository_access($permission, $pid) {
function fedora_repository_access($permission, $pid) {
global $user;
$name_space_access = FALSE;
$is_restricted = variable_get('islandora_namespace_restriction_enforced', TRUE);
@ -161,16 +159,16 @@ function get_related_items_as_array($collection_pid, $relationship = array('isMe
else {
return FALSE;
}
}
}
/**
/**
* gets the name of the content models for the specified object
* this now returns an array of pids as in Fedora 3 we can have more then one Cmodel for an object
* @param type $pid
* @param type $include_fedora_system_content_models
* @return array
*/
function get_content_models_list($pid, $include_fedora_system_content_models = FALSE) {
function get_content_models_list($pid, $include_fedora_system_content_models = FALSE) {
module_load_include('inc', 'islandora', 'RestConnection');
require_once 'sites/all/libraries/tuque/RepositoryQuery.php';
@ -194,9 +192,9 @@ function get_related_items_as_array($collection_pid, $relationship = array('isMe
}
return $cmodels;
}
}
/**
/**
* Function: get_content_models_as_option_array
*
* Description: Returns an associative array of all available content models in Fedora instance

2
islandora_basic_collection/includes/CollectionManagerTable.inc → islandora_basic_collection/includes/collection_manager_table.inc

@ -2,7 +2,7 @@
/**
* @file
* CollectionManagerTable.inc
* collection_manager_table.inc
*/
/**

2
islandora_basic_collection/includes/DeleteCollection.inc → islandora_basic_collection/includes/delete_collection.inc

@ -13,7 +13,7 @@
* @return string
*/
function islandora_collection_deletion_form($form, &$form_state, $pid) {
module_load_include('inc', 'islandora_basic_collection', 'CollectionManagerTable');
module_load_include('inc', 'islandora_basic_collection', 'collection_manager_table');
$potential_collections = get_collections_as_option_array();
$table = islandora_collection_table($pid);
$deletion_message = ($table) ? "Delete Members of this Collection" : "Delete Collection";

10
islandora_basic_collection/includes/ManagePolicies.inc → islandora_basic_collection/includes/manage_policies.inc

@ -40,6 +40,7 @@ function islandora_manage_policies_form($form, &$form_state, $collection_pid) {
$collection_policy = new CollectionPolicy($collection_policy_string->content);
$supported_collection_models = $collection_policy->getContentModels();
}
$collection_namespace = substr($collection_pid, 0, strpos($collection_pid, ":"));
$represented_content_models = get_represented_content_models($collection_pid);
@ -58,6 +59,11 @@ function islandora_manage_policies_form($form, &$form_state, $collection_pid) {
$new_options = array_diff_key($new_content_models, $current_models_in_policy);
}
$s = '';
if (count($current_models_in_policy) > 1) {
$s = 's';
}
$form['manage_collection_policy']['titlebox'] = array(
'#type' => 'item',
'#title' => t("Manage collection policy for @collection_pid", array('@collection_pid' => $collection_pid)),
@ -111,7 +117,7 @@ function islandora_manage_policies_form($form, &$form_state, $collection_pid) {
$form['manage_collection_policy']['remove']['submit'] = array(
'#type' => 'submit',
'#value' => t('Remove content model from collection policy'),
'#value' => t('Remove content model@s from collection policy', array('@s' => $s)),
'#id' => 'remove_cm'
);
}
@ -196,7 +202,7 @@ function islandora_manage_policies_form_submit($form, &$form_state) {
}
}
if ($found !== FALSE && $models->length > 1) {
if ($found !== FALSE && $models->length > 0) {
$content_models_element->item(0)->removeChild($found);
$ret = TRUE;
}

2
islandora_basic_collection/includes/MoveCollection.inc → islandora_basic_collection/includes/move_collection.inc

@ -14,7 +14,7 @@
* @return string
*/
function islandora_collection_migrate_form($form, &$form_state, $pid) {
module_load_include('inc', 'islandora_basic_collection', 'CollectionManagerTable');
module_load_include('inc', 'islandora_basic_collection', 'collection_manager_table');
$potential_collections = get_collections_as_option_array();
$table = islandora_collection_table($pid);
if (!$table) {

16
islandora_basic_collection/islandora_basic_collection.module

@ -92,13 +92,13 @@ function islandora_basic_collection_menu_local_tasks_alter(&$data, $router_item,
*/
function islandora_basic_collection_manage_object($object_id) {
module_load_include('inc', 'islandora_basic_collection', 'includes/CollectionManagement');
module_load_include('inc', 'islandora_basic_collection', 'includes/CollectionManagerTable');
module_load_include('inc', 'islandora_basic_collection', 'includes/DeleteCollection');
module_load_include('inc', 'islandora_basic_collection', 'includes/MoveCollection');
module_load_include('inc', 'islandora_basic_collection', 'includes/ChildCollection');
module_load_include('inc', 'islandora_basic_collection', 'includes/ManagePolicies');
module_load_include('inc', 'islandora_basic_collection', 'includes/ChangeContentModels');
module_load_include('inc', 'islandora_basic_collection', 'includes/collection_management');
module_load_include('inc', 'islandora_basic_collection', 'includes/collection_manager_table');
module_load_include('inc', 'islandora_basic_collection', 'includes/delete_collection');
module_load_include('inc', 'islandora_basic_collection', 'includes/move_collection');
module_load_include('inc', 'islandora_basic_collection', 'includes/child_collection');
module_load_include('inc', 'islandora_basic_collection', 'includes/manage_policies');
module_load_include('inc', 'islandora_basic_collection', 'includes/change_content_models');
$form = array();
@ -216,7 +216,7 @@ function islandora_basic_collection_theme($existing, $type, $theme, $path) {
'islandora_basic_collection_management_form_table' => array(
'file' => 'theme/islandora_basic_collection.theme.inc',
'arguments' => array('element' => NULL),
'file' => 'includes/CollectionManagerTable.inc',
'file' => 'includes/collection_manager_table.inc',
),
);
}

12
islandora_basic_image/islandora-basic-image.tpl.php

@ -21,20 +21,25 @@
* along with the program. If not, see <http ://www.gnu.org/licenses/>.
*/
?>
<?php drupal_set_title("$islandora_object_label"); ?>
<?php if($islandora_object_label): ?>
<?php drupal_set_title("$islandora_object_label"); ?>
<?php endif; ?>
<div class="islandora-basic-image-object islandora">
<div class="islandora-basic-image-content clearfix">
<?php if(isset($islandora_full_url)): ?>
<?php print l($islandora_medium_img, $islandora_full_url, array('html' => TRUE)); ?>
<?php else: ?>
<?php elseif(isset($islandora_medium_img)): ?>
<?php print $islandora_medium_img; ?>
<?php else: ?>
<?php endif; ?>
</div>
<div class="islandora-basic-image-sidebar">
<h1 class="title"><?php print $islandora_object_label; ?></h1>
<?php if($dc_array['dc:description']['value']): ?>
<h3><?php print $dc_array['dc:description']['label']; ?></h3>
<p><?php print $dc_array['dc:description']['value']; ?></p>
<?php endif; ?>
<?php if($parent_collections): ?>
<div>
<h3>In Collections</h3>
<ul>
@ -43,6 +48,7 @@
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
</div>
<fieldset class="collapsible collapsed islandora-basic-image-metadata">

Loading…
Cancel
Save