diff --git a/code/AssetTableField.php b/code/AssetTableField.php index 7d822cf0..abaacec8 100755 --- a/code/AssetTableField.php +++ b/code/AssetTableField.php @@ -149,6 +149,10 @@ class AssetTableField extends ComplexTableField { return null; } + if(!$childData instanceof File) { + throw new InvalidArgumentException(sprintf('$childData is of class "%s", subclass of "File" expected', get_class($childData))); + } + if($childData->ParentID) { $folder = DataObject::get_by_id('File', $childData->ParentID ); } else { @@ -200,10 +204,15 @@ class AssetTableField extends ComplexTableField { $links = $childData->BackLinkTracking(); if(class_exists('Subsite')) Subsite::disable_subsite_filter(false); + $linkArray = array(); if($links && $links->exists()) { $backlinks = array(); foreach($links as $link) { - $backlinks[] = "
  • ID\">" . $link->Breadcrumbs(null,true). "
  • "; + // Avoid duplicates + if (!in_array($link->ID, $linkArray)) { + $backlinks[] = "
  • ID\">" . $link->Breadcrumbs(null,true). "
  • "; + $linkArray[] = $link->ID; + } } $backlinks = "
    ". _t('AssetTableField.PAGESLINKING','The following pages link to this file:') ."
    "; }