From 56e9ce0e341ad6f3115f7331db2229d2e8d54daf Mon Sep 17 00:00:00 2001 From: Jared Whiklo Date: Fri, 7 Oct 2016 11:53:34 -0500 Subject: [PATCH] Code review --- includes/breadcrumb.inc | 19 +++++++++++++++++-- islandora.api.php | 4 ++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/includes/breadcrumb.inc b/includes/breadcrumb.inc index 7e5ee8b5..0d5db9f4 100644 --- a/includes/breadcrumb.inc +++ b/includes/breadcrumb.inc @@ -30,8 +30,7 @@ function islandora_get_breadcrumbs(AbstractObject $object) { $backend = variable_get('islandora_breadcrumbs_backends', ISLANDORA_BREADCRUMB_LEGACY_BACKEND); $backends = module_invoke_all('islandora_breadcrumbs_backends'); if ($backend === ISLANDORA_BREADCRUMB_LEGACY_BACKEND || !isset($backends[$backend])) { - $breadcrumbs = islandora_get_breadcrumbs_recursive($object->id, $object->repository); - array_pop($breadcrumbs); + $breadcrumbs = islandora_get_breadcrumbs_legacy($object->id, $object->repository); } else { if (isset($backends[$backend]['file'])) { @@ -45,6 +44,22 @@ function islandora_get_breadcrumbs(AbstractObject $object) { return $breadcrumbs; } +/** + * Call the legacy SPARQL recursive function and return the correct breadcrumbs. + * + * @param $pid + * The object id whose parent will be fetched for the next link. + * @param \IslandoraFedoraRepository $repository + * The fedora repository. + * @return array + * An array of links representing the breadcrumb trail, "root" first. + */ +function islandora_get_breadcrumbs_legacy($pid, IslandoraFedoraRepository $repository) { + $breadcrumbs = islandora_get_breadcrumbs_recursive($pid, $repository); + array_pop($breadcrumbs); + return $breadcrumbs; +} + /** * Builds an array of drupal links for use in breadcrumbs. * diff --git a/islandora.api.php b/islandora.api.php index 4937b8c0..cdf30129 100644 --- a/islandora.api.php +++ b/islandora.api.php @@ -925,7 +925,7 @@ function hook_islandora_breadcrumbs_backends() { return array( 'awesome_backend' => array( 'title' => t('Awesome Backend'), - 'callable' => callback_islandora_breadcrumbs_backends($object), + 'callable' => 'callback_islandora_breadcrumbs_backends', ), ); } @@ -939,7 +939,7 @@ function hook_islandora_breadcrumbs_backends() { * The object to generate breadcrumbs for. * * @return array - * Array of links from root to $object. + * Array of links from root to the parent of $object. */ function callback_islandora_breadcrumbs_backends(AbstractObject $object) { // Do something to get an array of breadcrumb links for $object, root first.