Project

General

Profile

« Previous | Next » 

Revision 4407c9a7

Added by Andreas Kohlbecker almost 7 years ago

whitespace

View differences:

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