626 |
626 |
);
|
627 |
627 |
|
628 |
628 |
// name
|
|
629 |
$name_relations = null;
|
629 |
630 |
if($registration_dto->nameRef){
|
630 |
631 |
$name = cdm_ws_get(CDM_WS_PORTAL_NAME, $registration_dto->nameRef->uuid);
|
631 |
632 |
cdm_load_tagged_full_title($name);
|
632 |
633 |
$render_array['nomenclatural_act']['published_name'] = markup_to_render_array('<div class="published-name">' . render_taxon_or_name($name, url(path_to_name($name->uuid))) . '</div>', 0);
|
633 |
634 |
$name_relations = cdm_ws_fetch_all(str_replace("$0", $registration_dto->nameRef->uuid, CDM_WS_PORTAL_NAME_NAME_RELATIONS));
|
634 |
|
$render_array['nomenclatural_act']['name_relations'] = compose_name_relationships_list($name_relations, $registration_dto->nameRef->uuid, null);
|
635 |
|
$render_array['nomenclatural_act']['name_relations']['#weight'] = 10;
|
|
635 |
// need to create the name relationships later, so that the foot notes are in correct order, see section // name relations
|
636 |
636 |
} else {
|
637 |
637 |
// in this case the registration must have a
|
638 |
638 |
$name = cdm_ws_get(CDM_WS_PORTAL_NAME, $registration_dto->typifiedNameRef->uuid);
|
639 |
639 |
$render_array['typified_name'] = markup_to_render_array('<p class="typified-name">for ' . render_taxon_or_name($name, url(path_to_name($name->uuid))) . '</p>', 40);
|
640 |
640 |
}
|
|
641 |
|
641 |
642 |
// typedesignation in detail
|
642 |
643 |
if(is_object($registration_dto->orderdTypeDesignationWorkingSets)) {
|
643 |
644 |
$field_unit_uuids = array();
|
... | ... | |
668 |
669 |
drupal_set_message("Unimplemented type: " . $tokens[0], 'error');
|
669 |
670 |
}
|
670 |
671 |
}
|
671 |
|
// type designations wich are in this nomenclatural act.
|
|
672 |
// type designations which are in this nomenclatural act.
|
672 |
673 |
if (count($name_type_designation_refs) > 0) {
|
673 |
674 |
$render_array['nomenclatural_act']['name_type_designations'] = compose_name_type_designations($name_type_designation_refs);
|
674 |
675 |
$render_array['nomenclatural_act']['name_type_designations']['#prefix'] = '<p class="name_type_designations">';
|
... | ... | |
683 |
684 |
}
|
684 |
685 |
}
|
685 |
686 |
|
|
687 |
// name relations
|
|
688 |
if($name_relations){
|
|
689 |
$render_array['nomenclatural_act']['name_relations'] = compose_name_relationships_list($name_relations, $registration_dto->nameRef->uuid, null);
|
|
690 |
$render_array['nomenclatural_act']['name_relations']['#weight'] = 10;
|
|
691 |
}
|
|
692 |
|
686 |
693 |
// citation
|
687 |
694 |
if ($with_citation) {
|
688 |
695 |
$render_array['citation'] = markup_to_render_array(
|
... | ... | |
694 |
701 |
$render_array['nomenclatural_act']['#weight'] + 10 );
|
695 |
702 |
}
|
696 |
703 |
|
697 |
|
$render_array['footnotes'] = markup_to_render_array(
|
698 |
|
theme('cdm_annotation_footnotes', ['footnoteListKey' => RenderHints::getFootnoteListKey() ]),
|
699 |
|
12
|
|
704 |
$render_array['nomenclatural_act']['footnotes'] = markup_to_render_array(render_cdm_footnotes(),
|
|
705 |
100
|
700 |
706 |
);
|
701 |
707 |
|
702 |
708 |
// registration date and office
|
... | ... | |
936 |
942 |
}
|
937 |
943 |
$out .= ': ' . render_taxon_or_name($name_type_designation->typeName, $link_to_name_page, $referenceUri, TRUE, TRUE);
|
938 |
944 |
}
|
|
945 |
$annotations_and_sources = handle_annotations_and_sources(
|
|
946 |
$name_type_designation,
|
|
947 |
typedesignations_annotations_and_sources_config(),
|
|
948 |
'',
|
|
949 |
RenderHints::getFootnoteListKey());
|
|
950 |
$out .= $annotations_and_sources['foot_note_keys'];
|
939 |
951 |
}
|
940 |
952 |
} // END NameTypeDesignation
|
941 |
953 |
|
... | ... | |
989 |
1001 |
|
990 |
1002 |
}
|
991 |
1003 |
|
|
1004 |
|
992 |
1005 |
$out .= '<'. $element_tag .' class="' . html_class_attribute_ref($specimen_type_designation) . '">';
|
993 |
1006 |
$out .= type_designation_status_label_markup($specimen_type_designation) . $type_citation_markup;
|
994 |
1007 |
|
... | ... | |
1003 |
1016 |
if($link_to_specimen_page && isset($derivedUnitFacadeInstance->specimenLabel) && $derivedUnitFacadeInstance->specimenLabel){
|
1004 |
1017 |
$specimen_markup = str_replace($derivedUnitFacadeInstance->specimenLabel, l($derivedUnitFacadeInstance->specimenLabel, path_to_specimen($specimen_type_designation->typeSpecimen->uuid)), $specimen_markup);
|
1005 |
1018 |
}
|
|
1019 |
$annotations_and_sources = handle_annotations_and_sources(
|
|
1020 |
$derivedUnitFacadeInstance,
|
|
1021 |
typedesignations_annotations_and_sources_config(),
|
|
1022 |
'',
|
|
1023 |
RenderHints::getFootnoteListKey()
|
|
1024 |
);
|
1006 |
1025 |
$out .= ': <span class="' . html_class_attribute_ref($specimen_type_designation->typeSpecimen) . '">'
|
1007 |
1026 |
. $specimen_markup
|
1008 |
1027 |
. '</span>'; // . ': ' . theme('cdm_specimen', array('specimenTypeDesignation' => $derivedUnitFacadeInstance));
|
1009 |
1028 |
if(!empty($derivedUnitFacadeInstance->preferredStableUri)){
|
1010 |
1029 |
$out .= ' ' . l($derivedUnitFacadeInstance->preferredStableUri, $derivedUnitFacadeInstance->preferredStableUri, array('absolute' => true));
|
1011 |
1030 |
}
|
|
1031 |
$out .= $annotations_and_sources['foot_note_keys'];
|
1012 |
1032 |
}
|
1013 |
1033 |
|
1014 |
1034 |
|
... | ... | |
1031 |
1051 |
'bibliography_aware' => false
|
1032 |
1052 |
),
|
1033 |
1053 |
'',
|
1034 |
|
RenderHints::getFootnoteListKey() // passing a defined key to avoid separate annotation footnote key see https://dev.e-taxonomy.eu/redmine/issues/8543
|
|
1054 |
RenderHints::getFootnoteListKey() // passing a defined key to avoid a separate annotation footnote key see https://dev.e-taxonomy.eu/redmine/issues/8543
|
1035 |
1055 |
);
|
1036 |
1056 |
$encasement = $textual_type_designation->verbatim ? '"' : '';
|
1037 |
1057 |
$out .= '<' . $element_tag . ' class="' . html_class_attribute_ref($textual_type_designation) . '">' . type_designation_status_label_markup(null)
|
... | ... | |
1043 |
1063 |
}
|
1044 |
1064 |
}
|
1045 |
1065 |
|
1046 |
|
// Footnotes for citations, collection acronym?s.
|
|
1066 |
// Footnotes for citations, collection acronyms.
|
1047 |
1067 |
// footnotes should be rendered in the parent element so we
|
1048 |
1068 |
// are relying on the FootnoteListKey set there
|
1049 |
1069 |
$_fkey = FootnoteManager::addNewFootnote(
|
... | ... | |
1094 |
1114 |
/**
|
1095 |
1115 |
* Composes the TypedEntityReference to name type designations passed as associatve array.
|
1096 |
1116 |
*
|
1097 |
|
* @param $type_entity_refs array
|
|
1117 |
* @param $type_entity_refs_by_status array
|
1098 |
1118 |
* an associative array of name type type => TypedEntityReference for name type designations as
|
1099 |
1119 |
* produced by the eu.etaxonomy.cdm.api.service.name.TypeDesignationSetManager
|
1100 |
1120 |
*
|
1101 |
1121 |
* @ingroup compose
|
1102 |
1122 |
*/
|
1103 |
|
function compose_name_type_designations($type_entity_refs){
|
|
1123 |
function compose_name_type_designations($type_entity_refs_by_status){
|
1104 |
1124 |
$render_array = array();
|
1105 |
1125 |
$preferredStableUri = '';
|
1106 |
|
foreach($type_entity_refs as $type_status => $name_types){
|
1107 |
|
foreach ($name_types as $name_type){
|
1108 |
|
$type_designation = cdm_ws_get(CDM_WS_TYPEDESIGNATION, array($name_type->uuid, 'preferredUri'));
|
|
1126 |
foreach($type_entity_refs_by_status as $type_status => $name_type_entityRefs){
|
|
1127 |
foreach ($name_type_entityRefs as $name_type_entity_ref){
|
|
1128 |
$type_designation = cdm_ws_get(CDM_WS_TYPEDESIGNATION, array($name_type_entity_ref->uuid, 'preferredUri'));
|
|
1129 |
$footnote_keys = '';
|
|
1130 |
|
1109 |
1131 |
if(isset($type_designation->typeSpecimen->preferredStableUri) && $type_designation->typeSpecimen->preferredStableUri){
|
1110 |
1132 |
$preferredStableUri = $type_designation->typeSpecimen->preferredStableUri;
|
1111 |
1133 |
}
|
1112 |
|
$render_array[] = markup_to_render_array('<div class="name_type_designation ' . html_class_attribute_ref($name_type) . '"><span class="type-status">'. ucfirst($type_status) . "</span>: "
|
1113 |
|
. $name_type->label
|
|
1134 |
// annotations and sources for the $derived_unit_facade_dto
|
|
1135 |
$annotations_and_sources = handle_annotations_and_sources(
|
|
1136 |
$name_type_entity_ref,
|
|
1137 |
typedesignations_annotations_and_sources_config(),
|
|
1138 |
'',
|
|
1139 |
RenderHints::getFootnoteListKey()
|
|
1140 |
);
|
|
1141 |
|
|
1142 |
$render_array[] = markup_to_render_array('<div class="name_type_designation ' . html_class_attribute_ref($name_type_entity_ref) . '"><span class="type-status">'. ucfirst($type_status) . "</span>: "
|
|
1143 |
. $name_type_entity_ref->label
|
1114 |
1144 |
. ($preferredStableUri ? " ". l($preferredStableUri, $preferredStableUri) : '')
|
|
1145 |
. $annotations_and_sources['foot_note_keys']
|
1115 |
1146 |
. '</div>');
|
1116 |
1147 |
}
|
1117 |
1148 |
}
|
... | ... | |
1138 |
1169 |
|
1139 |
1170 |
$render_array = array();
|
1140 |
1171 |
|
1141 |
|
static $annotations_and_sources_config = [
|
1142 |
|
'sources_as_content' => TRUE,
|
1143 |
|
'link_to_name_used_in_source' => FALSE,
|
1144 |
|
'link_to_reference' => TRUE,
|
1145 |
|
'add_footnote_keys' => FALSE,
|
1146 |
|
'bibliography_aware' => FALSE
|
1147 |
|
];
|
1148 |
|
|
1149 |
1172 |
$type_designation_list = array();
|
1150 |
1173 |
uksort($type_entity_refs, "compare_type_designation_status_labels");
|
1151 |
1174 |
foreach($type_entity_refs as $type_status => $type_designation_entity_refs){
|
... | ... | |
1166 |
1189 |
// annotations and sources for the $derived_unit_facade_dto
|
1167 |
1190 |
$annotations_and_sources = handle_annotations_and_sources(
|
1168 |
1191 |
$derived_unit_facade_dto,
|
1169 |
|
$annotations_and_sources_config,
|
|
1192 |
typedesignations_annotations_and_sources_config(),
|
1170 |
1193 |
'',
|
1171 |
|
null
|
|
1194 |
RenderHints::getFootnoteListKey()
|
1172 |
1195 |
);
|
1173 |
1196 |
$source_citations = $annotations_and_sources['source_references'];
|
1174 |
1197 |
$foot_note_keys = $annotations_and_sources['foot_note_keys'];
|
... | ... | |
1240 |
1263 |
return $render_array;
|
1241 |
1264 |
}
|
1242 |
1265 |
|
|
1266 |
/**
|
|
1267 |
* Provides the default configuration for typedesignations which
|
|
1268 |
* are passed to the handle_annotations_and_sources()
|
|
1269 |
* function:
|
|
1270 |
* - 'sources_as_content' => TRUE,
|
|
1271 |
* - 'link_to_name_used_in_source' => FALSE,
|
|
1272 |
* - 'link_to_reference' => TRUE,
|
|
1273 |
* - 'add_footnote_keys' => FALSE,
|
|
1274 |
* - 'bibliography_aware' => FALSE
|
|
1275 |
*
|
|
1276 |
* @return array
|
|
1277 |
*/
|
|
1278 |
function typedesignations_annotations_and_sources_config() {
|
|
1279 |
static $annotations_and_sources_config = [
|
|
1280 |
'sources_as_content' => TRUE,
|
|
1281 |
'link_to_name_used_in_source' => FALSE,
|
|
1282 |
'link_to_reference' => TRUE,
|
|
1283 |
'add_footnote_keys' => FALSE,
|
|
1284 |
'bibliography_aware' => FALSE
|
|
1285 |
];
|
|
1286 |
return $annotations_and_sources_config;
|
|
1287 |
}
|
|
1288 |
|
1243 |
1289 |
/**
|
1244 |
1290 |
* @param $name_rel
|
1245 |
1291 |
* @param $current_name_uuid
|
... | ... | |
1393 |
1439 |
$render_array = compose_name_relationships($name_relations, $name_rel_type_filter, $current_name_uuid, $current_taxon_uuid, $list_prefix, $list_suffix, $item_prefix, $item_suffix);
|
1394 |
1440 |
|
1395 |
1441 |
RenderHints::popFromRenderStack();
|
1396 |
|
$render_array['footnotes'] = markup_to_render_array(theme('cdm_footnotes', array('footnoteListKey' => RenderHints::getFootnoteListKey())));
|
1397 |
1442 |
if(RenderHints::getFootnoteListKey() == $key) {
|
|
1443 |
$render_array['footnotes'] = markup_to_render_array(theme('cdm_footnotes', array('footnoteListKey' => RenderHints::getFootnoteListKey())));
|
1398 |
1444 |
RenderHints::clearFootnoteListKey();
|
1399 |
1445 |
}
|
1400 |
1446 |
return $render_array;
|
ref #8850 annotations for FieldUnits and nameTypeDesignations in registration and name page