Revision 4407c9a7
Added by Andreas Kohlbecker almost 7 years ago
modules/cdm_dataportal/settings.php | ||
---|---|---|
598 | 598 |
} |
599 | 599 |
} |
600 | 600 |
|
601 |
/** |
|
602 |
* Provides the feature block settings for a specific feature which matches the $feature_uuid parameter. |
|
603 |
* |
|
604 |
* In case specifically configured settings array, like these which are stored in the drupal variables, is missing |
|
605 |
* one or more fields these fields are taken from the default. That is the specific settings are always merges |
|
606 |
* with the default. |
|
607 |
* |
|
608 |
* Note: These settings only apply to feature blocks which do not have a special rendering |
|
609 |
* the specially handled features (e.g.: Distribution, CommonNames) may make use of the |
|
610 |
* 'special' element of the settings |
|
611 |
* |
|
612 |
* @param $feature_uuid |
|
613 |
* The uuid string representation of the feature to return the settings for |
|
614 |
* |
|
615 |
* @return array |
|
616 |
* an associative array of settings, with the following fields: |
|
617 |
* - as_list: string |
|
618 |
* this setting will be used in compose_feature_block_wrap_elements() as $enclosing_tag |
|
619 |
* possible values are: |
|
620 |
* div: not as list, |
|
621 |
* ul: as bullet list, |
|
622 |
* ol: as numbered list, |
|
623 |
* dl: as definition list |
|
624 |
* The tag used for the inner element, thus depends on the value of this field. The |
|
625 |
* inner tag name can be retrieved by the function cdm_feature_block_element_tag_name() |
|
626 |
* - link_to_reference: boolean, |
|
627 |
* render the reference as link, ignored if the element is NOT a DescriptionElementSource |
|
628 |
* - link_to_name_used_in_source": boolean |
|
629 |
* whether to show name in source information as link which will point to the according name page |
|
630 |
* - sources_as_content (boolean) |
|
631 |
* TRUE (int: 1): |
|
632 |
* 1. If element is of the CDM type TextData and the text is not empty the source references will be |
|
633 |
* appended in brackets like "text (source references)". If the original source has name in source |
|
634 |
* information it will be appended to the citation string, |
|
635 |
* like : "(citation, as name in source; citation, as name in source)" |
|
636 |
* 2. if the text of the TextData is empty, the original source citations are the only content |
|
637 |
* (e.g. use case CITATION) and are not put into brackets. In this case the nameInSource is |
|
638 |
* prepended to the citation string like: "name in source: citation" |
|
639 |
* FALSE (int: 0): |
|
640 |
* Original sources are put into the bibliography(=references) pseudo feature block. If the original source |
|
641 |
* citations are the only content, the resulting feature block content would only consist of footnotes. |
|
642 |
* In this case the display of the respective feature block is suppressed. |
|
643 |
* TODO if the bibliography is not enabled the sources will be treated as footnotes like annotations, |
|
644 |
* in future however they will in this case be shown in a separate references section for each |
|
645 |
* feature block. |
|
646 |
* - sources_as_content_to_bibliography (boolean) |
|
647 |
* Only valid if sources_as_content == TRUE, will cause the sources to be also shown |
|
648 |
* in the bibliography. |
|
649 |
* - sort_elements |
|
650 |
* whether and how to sort the elements |
|
651 |
* possible values are the constants SORT_ASC, SORT_DESC, NULL, |
|
652 |
* some feature types (Distribution) also support: SORT_HIERARCHICAL ( |
|
653 |
* TODO option to exclude levels, put in special?, |
|
654 |
* TODO make use of this setting in compose_feature_block_wrap_elements()) |
|
655 |
* - element_tag |
|
656 |
* specifies the tag to be used for creating the elements, only applies if "as_list" == 'div' |
|
657 |
* possible values are span | div. the proper inner tag name can be retrieved by the function |
|
658 |
* cdm_feature_block_element_tag_name() |
|
659 |
* - special: array() |
|
660 |
* an array with further settings, this field can be used for special |
|
661 |
* settings for specialized rendering like for distributions |
|
662 |
* } |
|
663 |
* |
|
664 |
*/ |
|
665 |
function get_feature_block_settings($feature_uuid = 'DEFAULT') { |
|
666 |
// the default must conform to the default parameter values of |
|
667 |
// compose_feature_block_wrap_elements() : $glue = '', $sort = FALSE, $enclosing_tag = 'ul' |
|
668 |
// compose_description_element_text_data() : asListElement = NULL |
|
601 | 669 |
|
602 |
/** |
|
603 |
* Provides the feature block settings for a specific feature which matches the $feature_uuid parameter. |
|
604 |
* |
|
605 |
* In case specifically configured settings array, like these which are stored in the drupal variables, is missing |
|
606 |
* one or more fields these fields are taken from the default. That is the specific settings are always merges |
|
607 |
* with the default. |
|
608 |
* |
|
609 |
* Note: These settings only apply to feature blocks which do not have a special rendering |
|
610 |
* the specially handled features (e.g.: Distribution, CommonNames) may make use of the |
|
611 |
* 'special' element of the settings |
|
612 |
* |
|
613 |
* @param $feature_uuid |
|
614 |
* The uuid string representation of the feature to return the settings for |
|
615 |
* |
|
616 |
* @return array |
|
617 |
* an associative array of settings, with the following fields: |
|
618 |
* - as_list: string |
|
619 |
* this setting will be used in compose_feature_block_wrap_elements() as $enclosing_tag |
|
620 |
* possible values are: |
|
621 |
* div: not as list, |
|
622 |
* ul: as bullet list, |
|
623 |
* ol: as numbered list, |
|
624 |
* dl: as definition list |
|
625 |
* The tag used for the inner element, thus depends on the value of this field. The |
|
626 |
* inner tag name can be retrieved by the function cdm_feature_block_element_tag_name() |
|
627 |
* - link_to_reference: boolean, |
|
628 |
* render the reference as link, ignored if the element is NOT a DescriptionElementSource |
|
629 |
* - link_to_name_used_in_source": boolean |
|
630 |
* whether to show name in source information as link which will point to the according name page |
|
631 |
* - sources_as_content (boolean) |
|
632 |
* TRUE (int: 1): |
|
633 |
* 1. If element is of the CDM type TextData and the text is not empty the source references will be |
|
634 |
* appended in brackets like "text (source references)". If the original source has name in source |
|
635 |
* information it will be appended to the citation string, |
|
636 |
* like : "(citation, as name in source; citation, as name in source)" |
|
637 |
* 2. if the text of the TextData is empty, the original source citations are the only content |
|
638 |
* (e.g. use case CITATION) and are not put into brackets. In this case the nameInSource is |
|
639 |
* prepended to the citation string like: "name in source: citation" |
|
640 |
* FALSE (int: 0): |
|
641 |
* Original sources are put into the bibliography(=references) pseudo feature block. If the original source |
|
642 |
* citations are the only content, the resulting feature block content would only consist of footnotes. |
|
643 |
* In this case the display of the respective feature block is suppressed. |
|
644 |
* TODO if the bibliography is not enabled the sources will be treated as footnotes like annotations, |
|
645 |
* in future however they will in this case be shown in a separate references section for each |
|
646 |
* feature block. |
|
647 |
* - sources_as_content_to_bibliography (boolean) |
|
648 |
* Only valid if sources_as_content == TRUE, will cause the sources to be also shown |
|
649 |
* in the bibliography. |
|
650 |
* - sort_elements |
|
651 |
* whether and how to sort the elements |
|
652 |
* possible values are the constants SORT_ASC, SORT_DESC, NULL, |
|
653 |
* some feature types (Distribution) also support: SORT_HIERARCHICAL ( |
|
654 |
* TODO option to exclude levels, put in special?, |
|
655 |
* TODO make use of this setting in compose_feature_block_wrap_elements()) |
|
656 |
* - element_tag |
|
657 |
* specifies the tag to be used for creating the elements, only applies if "as_list" == 'div' |
|
658 |
* possible values are span | div. the proper inner tag name can be retrieved by the function |
|
659 |
* cdm_feature_block_element_tag_name() |
|
660 |
* - special: array() |
|
661 |
* an array with further settings, this field can be used for special |
|
662 |
* settings for specialized rendering like for distributions |
|
663 |
* } |
|
664 |
* |
|
665 |
*/ |
|
666 |
function get_feature_block_settings($feature_uuid = 'DEFAULT') { |
|
667 |
// the default must conform to the default parameter values of |
|
668 |
// compose_feature_block_wrap_elements() : $glue = '', $sort = FALSE, $enclosing_tag = 'ul' |
|
669 |
// compose_description_element_text_data() : asListElement = NULL |
|
670 |
|
|
671 |
// see #3257 (implement means to define the features to show up in the taxonprofile and in the specimen descriptions) |
|
672 |
|
|
673 |
// ---- DEFAULTS settings |
|
674 |
|
|
675 |
// only needed as final option, when the settings are not having a default |
|
676 |
$default = array( |
|
677 |
'DEFAULT' => array( |
|
678 |
'as_list' => 'div', |
|
679 |
'link_to_reference' => 0, |
|
680 |
'link_to_name_used_in_source' => 1, |
|
681 |
'sources_as_content' => 0, |
|
682 |
'sources_as_content_to_bibliography' => 0, |
|
683 |
'sort_elements' => NO_SORT, |
|
684 |
'glue' => '', |
|
685 |
'element_tag' => NULL |
|
686 |
), |
|
687 |
// settings for pseudo feature bibliography |
|
688 |
// only hard coded here |
|
689 |
'BIBLIOGRAPHY' => array( |
|
690 |
'as_list' => 'div', |
|
691 |
'link_to_reference' => 0, |
|
692 |
'link_to_name_used_in_source' => 1, |
|
693 |
'sources_as_content' => 0, |
|
694 |
'sources_as_content_to_bibliography' => 0, |
|
695 |
'sort_elements' => NO_SORT, |
|
696 |
'glue' => '', |
|
697 |
'element_tag' => NULL |
|
698 |
) |
|
699 |
); |
|
700 |
|
|
701 |
// will be used as preset in the settings |
|
702 |
$other_themes_default = array( |
|
703 |
'DEFAULT' => array( |
|
704 |
'as_list' => 'div', |
|
705 |
'link_to_reference' => 0, |
|
706 |
'link_to_name_used_in_source' => 1, |
|
707 |
'sources_as_content' => 0, |
|
708 |
'sources_as_content_to_bibliography' => 0, |
|
709 |
'sort_elements' => NO_SORT, |
|
710 |
'glue' => '', |
|
711 |
'element_tag' => NULL |
|
712 |
), |
|
713 |
UUID_CITATION => array( |
|
714 |
'as_list' => 'div', |
|
715 |
'link_to_reference' => 0, |
|
716 |
'link_to_name_used_in_source' => 0, |
|
717 |
'sources_as_content' => 1, |
|
718 |
'sources_as_content_to_bibliography' => 0, |
|
719 |
'sort_elements' => SORT_ASC, |
|
720 |
'glue' => '', |
|
721 |
'element_tag' => 'div' |
|
722 |
), |
|
723 |
UUID_DISTRIBUTION => array( |
|
724 |
'as_list' => 'div', // currently ignored |
|
725 |
'link_to_reference' => 0, |
|
726 |
'link_to_name_used_in_source' => 0, |
|
727 |
'sources_as_content' => 0, |
|
728 |
'sources_as_content_to_bibliography' => 0, |
|
729 |
'sort_elements' => NO_SORT, // will cause ... |
|
730 |
'glue' => '', |
|
731 |
'element_tag' => 'div', |
|
732 |
'special' => array() |
|
733 |
), |
|
734 |
UUID_COMMON_NAME => array( |
|
735 |
'as_list' => 'div', |
|
736 |
'link_to_reference' => 0, |
|
737 |
'link_to_name_used_in_source' => 1, |
|
738 |
'sources_as_content' => 0, |
|
739 |
'sources_as_content_to_bibliography' => 0, |
|
740 |
'sort_elements' => NO_SORT, |
|
741 |
'glue' => '', |
|
742 |
'element_tag' => 'span' |
|
743 |
), |
|
744 |
); |
|
670 |
// see #3257 (implement means to define the features to show up in the taxonprofile and in the specimen descriptions) |
|
745 | 671 |
|
746 |
// ---- Special DEFAULTS for existing portals |
|
747 |
// TODO: |
|
748 |
// this can be removed once the feature block |
|
749 |
// settings have been deployed for the first time to these portals |
|
750 |
|
|
751 |
$cichorieae_default = array( |
|
752 |
'DEFAULT' => array( |
|
753 |
'as_list' => 'div', |
|
754 |
'link_to_reference' => 1, |
|
755 |
'link_to_name_used_in_source' => 1, |
|
756 |
'sources_as_content' => 1, |
|
757 |
'sources_as_content_to_bibliography' => 0, |
|
758 |
'sort_elements' => NO_SORT, |
|
759 |
'glue' => '', |
|
760 |
'element_tag' => 'div' |
|
761 |
), |
|
762 |
UUID_CITATION => array( |
|
763 |
'as_list' => 'div', |
|
764 |
'link_to_reference' => 0, |
|
765 |
'link_to_name_used_in_source' => 0, |
|
766 |
'sources_as_content' => 1, |
|
767 |
'sources_as_content_to_bibliography' => 0, |
|
768 |
'sort_elements' => SORT_ASC, |
|
769 |
'glue' => '', |
|
770 |
'element_tag' => 'div' |
|
771 |
), |
|
772 |
UUID_CHROMOSOMES_NUMBERS => array( |
|
773 |
'as_list' => 'ul', |
|
774 |
'link_to_reference' => 1, |
|
775 |
'link_to_name_used_in_source' => 1, |
|
776 |
'sources_as_content' => 1, |
|
777 |
'sources_as_content_to_bibliography' => 0, |
|
778 |
'sort_elements' => NO_SORT, |
|
779 |
'glue' => '', |
|
780 |
'element_tag' => 'div' |
|
781 |
), |
|
782 |
UUID_CHROMOSOMES => array( |
|
783 |
'as_list' => 'ul', |
|
784 |
'link_to_reference' => 0, |
|
785 |
'link_to_name_used_in_source' => 1, |
|
786 |
'sources_as_content' => 1, |
|
787 |
'sources_as_content_to_bibliography' => 0, |
|
788 |
'sort_elements' => NO_SORT, |
|
789 |
'glue' => '', |
|
790 |
'element_tag' => 'div' |
|
791 |
), |
|
792 |
UUID_COMMON_NAME => array( |
|
793 |
'as_list' => 'div', |
|
794 |
'link_to_reference' => 0, |
|
795 |
'link_to_name_used_in_source' => 1, |
|
796 |
'sources_as_content' => 0, |
|
797 |
'sources_as_content_to_bibliography' => 0, |
|
798 |
'sort_elements' => NO_SORT, |
|
799 |
'glue' => '', |
|
800 |
'element_tag' => 'span' |
|
801 |
), |
|
802 |
); |
|
672 |
// ---- DEFAULTS settings |
|
803 | 673 |
|
804 |
$palmweb_default = array( |
|
805 |
'DEFAULT' => array( |
|
806 |
'as_list' => 'ul', |
|
807 |
'link_to_reference' => 1, |
|
808 |
'link_to_name_used_in_source' => 1, |
|
809 |
'sources_as_content' => 1, |
|
810 |
'sources_as_content_to_bibliography' => 1, |
|
811 |
'sort_elements' => NO_SORT, |
|
812 |
'glue' => '', |
|
813 |
'element_tag' => NULL |
|
814 |
), |
|
815 |
UUID_CITATION => array( |
|
816 |
'as_list' => 'ul', |
|
817 |
'link_to_reference' => 1, |
|
818 |
'link_to_name_used_in_source' => 1, |
|
819 |
'sources_as_content' => 0, |
|
820 |
'sources_as_content_to_bibliography' => 1, |
|
821 |
'sort_elements' => SORT_ASC, |
|
822 |
'glue' => '', |
|
823 |
'element_tag' => 'div' |
|
824 |
), |
|
825 |
UUID_DISTRIBUTION => array( |
|
826 |
'as_list' => 'div', // currently ignored |
|
827 |
'link_to_reference' => 1, |
|
828 |
'link_to_name_used_in_source' => 1, |
|
829 |
'sources_as_content' => 1, // FIXME seems to have no effect see Acanthophoenix rousselii (palmae) |
|
830 |
'sources_as_content_to_bibliography' => 1, |
|
831 |
'sort_elements' => NO_SORT, // will cause ... |
|
832 |
'glue' => ', ', |
|
833 |
'element_tag' => 'span', |
|
834 |
'special' => array() |
|
835 |
), |
|
836 |
); |
|
674 |
// only needed as final option, when the settings are not having a default |
|
675 |
$default = array( |
|
676 |
'DEFAULT' => array( |
|
677 |
'as_list' => 'div', |
|
678 |
'link_to_reference' => 0, |
|
679 |
'link_to_name_used_in_source' => 1, |
|
680 |
'sources_as_content' => 0, |
|
681 |
'sources_as_content_to_bibliography' => 0, |
|
682 |
'sort_elements' => NO_SORT, |
|
683 |
'glue' => '', |
|
684 |
'element_tag' => NULL |
|
685 |
), |
|
686 |
// settings for pseudo feature bibliography |
|
687 |
// only hard coded here |
|
688 |
'BIBLIOGRAPHY' => array( |
|
689 |
'as_list' => 'div', |
|
690 |
'link_to_reference' => 0, |
|
691 |
'link_to_name_used_in_source' => 1, |
|
692 |
'sources_as_content' => 0, |
|
693 |
'sources_as_content_to_bibliography' => 0, |
|
694 |
'sort_elements' => NO_SORT, |
|
695 |
'glue' => '', |
|
696 |
'element_tag' => NULL |
|
697 |
) |
|
698 |
); |
|
837 | 699 |
|
838 |
$cyprus_default = $cichorieae_default; |
|
839 |
$cyprus_default[UUID_DISTRIBUTION] = array( |
|
700 |
// will be used as preset in the settings |
|
701 |
$other_themes_default = array( |
|
702 |
'DEFAULT' => array( |
|
703 |
'as_list' => 'div', |
|
704 |
'link_to_reference' => 0, |
|
705 |
'link_to_name_used_in_source' => 1, |
|
706 |
'sources_as_content' => 0, |
|
707 |
'sources_as_content_to_bibliography' => 0, |
|
708 |
'sort_elements' => NO_SORT, |
|
709 |
'glue' => '', |
|
710 |
'element_tag' => NULL |
|
711 |
), |
|
712 |
UUID_CITATION => array( |
|
713 |
'as_list' => 'div', |
|
714 |
'link_to_reference' => 0, |
|
715 |
'link_to_name_used_in_source' => 0, |
|
716 |
'sources_as_content' => 1, |
|
717 |
'sources_as_content_to_bibliography' => 0, |
|
718 |
'sort_elements' => SORT_ASC, |
|
719 |
'glue' => '', |
|
720 |
'element_tag' => 'div' |
|
721 |
), |
|
722 |
UUID_DISTRIBUTION => array( |
|
840 | 723 |
'as_list' => 'div', // currently ignored |
841 | 724 |
'link_to_reference' => 0, |
842 | 725 |
'link_to_name_used_in_source' => 0, |
843 | 726 |
'sources_as_content' => 0, |
844 | 727 |
'sources_as_content_to_bibliography' => 0, |
845 | 728 |
'sort_elements' => NO_SORT, // will cause ... |
846 |
'glue' => ' ',
|
|
729 |
'glue' => '', |
|
847 | 730 |
'element_tag' => 'div', |
848 | 731 |
'special' => array() |
849 |
); |
|
732 |
), |
|
733 |
UUID_COMMON_NAME => array( |
|
734 |
'as_list' => 'div', |
|
735 |
'link_to_reference' => 0, |
|
736 |
'link_to_name_used_in_source' => 1, |
|
737 |
'sources_as_content' => 0, |
|
738 |
'sources_as_content_to_bibliography' => 0, |
|
739 |
'sort_elements' => NO_SORT, |
|
740 |
'glue' => '', |
|
741 |
'element_tag' => 'span' |
|
742 |
), |
|
743 |
); |
|
850 | 744 |
|
851 |
$default_theme = variable_get('theme_default', NULL); |
|
852 |
|
|
853 |
switch ($default_theme) { |
|
854 |
case 'garland_cichorieae': |
|
855 |
$settings_for_theme = $cichorieae_default; |
|
856 |
break; |
|
857 |
case 'cyprus': |
|
858 |
// cyprus: no longer used in production, |
|
859 |
// but is required for selenium tests see class eu.etaxonomy.dataportal.pages.PortalPage |
|
860 |
$settings_for_theme = $cyprus_default; |
|
861 |
break; |
|
862 |
case 'flore_afrique_centrale': |
|
863 |
case 'flora_malesiana': |
|
864 |
case 'flore_gabon': |
|
865 |
$settings_for_theme = $cichorieae_default; |
|
866 |
$settings_for_theme[UUID_CITATION]['as_list'] = 'ul'; |
|
867 |
break; |
|
868 |
case 'palmweb_2': |
|
869 |
$settings_for_theme = $palmweb_default; |
|
870 |
break; |
|
871 |
default: |
|
872 |
$settings_for_theme = $other_themes_default; |
|
873 |
} |
|
874 |
// add pseudo feature settings |
|
875 |
$settings_for_theme['BIBLIOGRAPHY'] = $default['BIBLIOGRAPHY']; |
|
745 |
// ---- Special DEFAULTS for existing portals |
|
746 |
// TODO: |
|
747 |
// this can be removed once the feature block |
|
748 |
// settings have been deployed for the first time to these portals |
|
749 |
|
|
750 |
$cichorieae_default = array( |
|
751 |
'DEFAULT' => array( |
|
752 |
'as_list' => 'div', |
|
753 |
'link_to_reference' => 1, |
|
754 |
'link_to_name_used_in_source' => 1, |
|
755 |
'sources_as_content' => 1, |
|
756 |
'sources_as_content_to_bibliography' => 0, |
|
757 |
'sort_elements' => NO_SORT, |
|
758 |
'glue' => '', |
|
759 |
'element_tag' => 'div' |
|
760 |
), |
|
761 |
UUID_CITATION => array( |
|
762 |
'as_list' => 'div', |
|
763 |
'link_to_reference' => 0, |
|
764 |
'link_to_name_used_in_source' => 0, |
|
765 |
'sources_as_content' => 1, |
|
766 |
'sources_as_content_to_bibliography' => 0, |
|
767 |
'sort_elements' => SORT_ASC, |
|
768 |
'glue' => '', |
|
769 |
'element_tag' => 'div' |
|
770 |
), |
|
771 |
UUID_CHROMOSOMES_NUMBERS => array( |
|
772 |
'as_list' => 'ul', |
|
773 |
'link_to_reference' => 1, |
|
774 |
'link_to_name_used_in_source' => 1, |
|
775 |
'sources_as_content' => 1, |
|
776 |
'sources_as_content_to_bibliography' => 0, |
|
777 |
'sort_elements' => NO_SORT, |
|
778 |
'glue' => '', |
|
779 |
'element_tag' => 'div' |
|
780 |
), |
|
781 |
UUID_CHROMOSOMES => array( |
|
782 |
'as_list' => 'ul', |
|
783 |
'link_to_reference' => 0, |
|
784 |
'link_to_name_used_in_source' => 1, |
|
785 |
'sources_as_content' => 1, |
|
786 |
'sources_as_content_to_bibliography' => 0, |
|
787 |
'sort_elements' => NO_SORT, |
|
788 |
'glue' => '', |
|
789 |
'element_tag' => 'div' |
|
790 |
), |
|
791 |
UUID_COMMON_NAME => array( |
|
792 |
'as_list' => 'div', |
|
793 |
'link_to_reference' => 0, |
|
794 |
'link_to_name_used_in_source' => 1, |
|
795 |
'sources_as_content' => 0, |
|
796 |
'sources_as_content_to_bibliography' => 0, |
|
797 |
'sort_elements' => NO_SORT, |
|
798 |
'glue' => '', |
|
799 |
'element_tag' => 'span' |
|
800 |
), |
|
801 |
); |
|
876 | 802 |
|
877 |
// ---- END of DEFAULTS |
|
803 |
$palmweb_default = array( |
|
804 |
'DEFAULT' => array( |
|
805 |
'as_list' => 'ul', |
|
806 |
'link_to_reference' => 1, |
|
807 |
'link_to_name_used_in_source' => 1, |
|
808 |
'sources_as_content' => 1, |
|
809 |
'sources_as_content_to_bibliography' => 1, |
|
810 |
'sort_elements' => NO_SORT, |
|
811 |
'glue' => '', |
|
812 |
'element_tag' => NULL |
|
813 |
), |
|
814 |
UUID_CITATION => array( |
|
815 |
'as_list' => 'ul', |
|
816 |
'link_to_reference' => 1, |
|
817 |
'link_to_name_used_in_source' => 1, |
|
818 |
'sources_as_content' => 0, |
|
819 |
'sources_as_content_to_bibliography' => 1, |
|
820 |
'sort_elements' => SORT_ASC, |
|
821 |
'glue' => '', |
|
822 |
'element_tag' => 'div' |
|
823 |
), |
|
824 |
UUID_DISTRIBUTION => array( |
|
825 |
'as_list' => 'div', // currently ignored |
|
826 |
'link_to_reference' => 1, |
|
827 |
'link_to_name_used_in_source' => 1, |
|
828 |
'sources_as_content' => 1, // FIXME seems to have no effect see Acanthophoenix rousselii (palmae) |
|
829 |
'sources_as_content_to_bibliography' => 1, |
|
830 |
'sort_elements' => NO_SORT, // will cause ... |
|
831 |
'glue' => ', ', |
|
832 |
'element_tag' => 'span', |
|
833 |
'special' => array() |
|
834 |
), |
|
835 |
); |
|
878 | 836 |
|
879 |
$saved_settings = variable_get(FEATURE_BLOCK_SETTINGS, NULL); |
|
837 |
$cyprus_default = $cichorieae_default; |
|
838 |
$cyprus_default[UUID_DISTRIBUTION] = array( |
|
839 |
'as_list' => 'div', // currently ignored |
|
840 |
'link_to_reference' => 0, |
|
841 |
'link_to_name_used_in_source' => 0, |
|
842 |
'sources_as_content' => 0, |
|
843 |
'sources_as_content_to_bibliography' => 0, |
|
844 |
'sort_elements' => NO_SORT, // will cause ... |
|
845 |
'glue' => ' ', |
|
846 |
'element_tag' => 'div', |
|
847 |
'special' => array() |
|
848 |
); |
|
849 |
|
|
850 |
$default_theme = variable_get('theme_default', NULL); |
|
851 |
|
|
852 |
switch ($default_theme) { |
|
853 |
case 'garland_cichorieae': |
|
854 |
$settings_for_theme = $cichorieae_default; |
|
855 |
break; |
|
856 |
case 'cyprus': |
|
857 |
// cyprus: no longer used in production, |
|
858 |
// but is required for selenium tests see class eu.etaxonomy.dataportal.pages.PortalPage |
|
859 |
$settings_for_theme = $cyprus_default; |
|
860 |
break; |
|
861 |
case 'flore_afrique_centrale': |
|
862 |
case 'flora_malesiana': |
|
863 |
case 'flore_gabon': |
|
864 |
$settings_for_theme = $cichorieae_default; |
|
865 |
$settings_for_theme[UUID_CITATION]['as_list'] = 'ul'; |
|
866 |
break; |
|
867 |
case 'palmweb_2': |
|
868 |
$settings_for_theme = $palmweb_default; |
|
869 |
break; |
|
870 |
default: |
|
871 |
$settings_for_theme = $other_themes_default; |
|
872 |
} |
|
873 |
// add pseudo feature settings |
|
874 |
$settings_for_theme['BIBLIOGRAPHY'] = $default['BIBLIOGRAPHY']; |
|
880 | 875 |
|
881 |
$feature_block_setting = null;
|
|
876 |
// ---- END of DEFAULTS
|
|
882 | 877 |
|
883 |
if (isset($saved_settings[$feature_uuid])) { |
|
884 |
$feature_block_setting = $saved_settings[$feature_uuid]; |
|
885 |
} |
|
886 |
else if (isset($settings_for_theme[$feature_uuid])) { |
|
887 |
$feature_block_setting = $settings_for_theme[$feature_uuid]; |
|
888 |
} |
|
889 |
else if (isset($settings_for_theme['DEFAULT'])) { |
|
890 |
$feature_block_setting = $settings_for_theme['DEFAULT']; |
|
891 |
} |
|
878 |
$saved_settings = variable_get(FEATURE_BLOCK_SETTINGS, NULL); |
|
892 | 879 |
|
893 |
// now merge the default and specific settings |
|
894 |
$settings_to_merge = array($default['DEFAULT']); |
|
895 |
if(is_array($saved_settings)){ |
|
896 |
$settings_to_merge[] = $saved_settings['DEFAULT']; |
|
897 |
} |
|
898 |
if(isset($feature_block_setting)){ |
|
899 |
$settings_to_merge[] = $feature_block_setting; |
|
900 |
} |
|
901 |
$feature_block_setting = drupal_array_merge_deep_array($settings_to_merge); |
|
880 |
$feature_block_setting = null; |
|
881 |
|
|
882 |
if (isset($saved_settings[$feature_uuid])) { |
|
883 |
$feature_block_setting = $saved_settings[$feature_uuid]; |
|
884 |
} |
|
885 |
else if (isset($settings_for_theme[$feature_uuid])) { |
|
886 |
$feature_block_setting = $settings_for_theme[$feature_uuid]; |
|
887 |
} |
|
888 |
else if (isset($settings_for_theme['DEFAULT'])) { |
|
889 |
$feature_block_setting = $settings_for_theme['DEFAULT']; |
|
890 |
} |
|
891 |
|
|
892 |
// now merge the default and specific settings |
|
893 |
$settings_to_merge = array($default['DEFAULT']); |
|
894 |
if(is_array($saved_settings)){ |
|
895 |
$settings_to_merge[] = $saved_settings['DEFAULT']; |
|
896 |
} |
|
897 |
if(isset($feature_block_setting)){ |
|
898 |
$settings_to_merge[] = $feature_block_setting; |
|
899 |
} |
|
900 |
$feature_block_setting = drupal_array_merge_deep_array($settings_to_merge); |
|
902 | 901 |
|
903 |
return $feature_block_setting;
|
|
902 |
return $feature_block_setting; |
|
904 | 903 |
} |
905 | 904 |
|
906 | 905 |
/** |
Also available in: Unified diff
whitespace