<?php
/**
 *
 * Section displaying the map with all members
 * depens on plugins: LeafletMaps, ACF fields and Xarxaprod
 * if not pressent LeafletMaps shows template-parts/section-eachmember.php
 *
 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
 * @link https://developer.wordpress.org/themes/template-files-section/page-template-files/
 *
 * @package Xarxaprod_theme
 * @since 1.0
 */

?>

      <?php
      // https://support.advancedcustomfields.com/forums/topic/wp_query-using-meta_query-for-an-acf-checkbox-field/#post-145830
      // https://www.advancedcustomfields.com/resources/checkbox/#query-posts
      // https://barn2.com/blog/querying-posts-by-custom-field-acfi/
  
      $the_query_associat = new WP_Query(
        array(
          'post_type'      => 'xarxaprod-associat',
          'order'          => 'ASC', //order a b c d ... 
          'order_by'       => 'name', // by name slug
          'posts_per_page' => '-1'   //all of them
        )
      ); 
      ?>
  
      <?php if ( $the_query_associat->have_posts() ) : ?>
        <?php 
        // Detect plugin. For use on Front End only.
        include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
        // check for plugin using plugin name
        if ( is_plugin_active( 'leaflet-map/leaflet-map.php' ) ) { ?>                    
          <content>
            <main id="espais-associats-map" class="espais-map" style="height: 55vh; widht: 100%;">
              <?php
               // show the map even if empty
              echo do_shortcode( '[leaflet-map fitbounds lat="41.3922" lng="2.1755" height="100%" width="100%" tileurl=https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png  scrollwheel detect-retina]');
              ?>
     
              <?php while ( $the_query_associat->have_posts() ) : $the_query_associat->the_post(); ?>
  
              <?php 
                // get the field values
                // https://www.advancedcustomfields.com/resources/get_field/
                // var_dump get_field('');
                $args = get_field('xxp_associat_osm_map',false, false);
             
                if ( count( $args['markers'] ) ) { 
                  foreach ( $args['markers'] as $marker ) {
                    // define the fields for the blob
                    if ( get_field('xxp_associat_citymap') ){
                      // if city for map written use it
                      $associat_address = get_field('xxp_associat_citymap'); 
                    } else {
                      // else use the ACF OpenStreetMap nominatim value
                      $associat_address = $marker['label'];
                    };
                    $associat_xxp_weblink = '<a href="'. get_the_permalink() . '">' . get_the_title() . '</a>';
                    $associat_own_weblink = '<a href="' . get_field('xxp_associat_web') . '" class="">' . get_field('xxp_associat_web') . '</a>';
                    $associat_email = '<a href="mailto:' . get_field('xxp_associat_mail') . '" class="">' . get_field('xxp_associat_mail') . '</a>';
                    $associat_lat = $marker['lat'];
                    $associat_lng = $marker['lng'];
                    $associat_blobcolor = get_field('xxp_associat_colormap');
                    echo do_shortcode( '
                        [leaflet-marker svg background="#555" color="#555" iconSize="17,19" iconClass="dashicons dashicons-marker" opacity="0.6" lat=' . $associat_lat . ' lng=' . $associat_lng . ']' 
                        . '<p>' . $associat_address . '</p>'
                        . '<h5><b>' . $associat_xxp_weblink . '</b></h5>'
                        . '<p>' . $associat_own_weblink . '</p>'
                        . '<p>' . $associat_email . '</p>'
                        . '[/leaflet-marker]' 
                    ); // end shortcode each marker
                  }; // end each marker     
                }; // end count all markers 
?>
             <?php endwhile;//end of the loop ?>
             <?php wp_reset_postdata(); ?>
            </main>
  	    	</content>
        <?php
         } else {
           // if no leaflet plugin, show card with each member
        ?>
          <content class="archive-posts archive-xarxaprod-members archive-xarxaprod-associats <?php //xarxaprod_class_posttype(); ?>">
              <?php while ( $the_query_associat->have_posts() ) : $the_query_associat->the_post(); ?>
              <?php get_template_part( 'template-parts/section', 'eachmember' ); ?>
             <?php endwhile;//end of the loop ?>
  	  	  </content>
        <?php }//end else plugin control?>
      <?php endif; //end query associat ?>

<?php