62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @package         Advanced Custom Fields
 | |
|  * @version         2.8.8 Pro
 | |
|  * 
 | |
|  * @author          Tassos Marinos <info@tassos.gr>
 | |
|  * @link            http://www.tassos.gr
 | |
|  * @copyright       Copyright © 2019 Tassos Marinos All Rights Reserved
 | |
|  * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 | |
| */
 | |
| 
 | |
| defined('_JEXEC') or die;
 | |
| 
 | |
| use Joomla\CMS\Plugin\PluginHelper;
 | |
| use Joomla\Registry\Registry;
 | |
| 
 | |
| if (!$markers = $field->value)
 | |
| {
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| if (is_string($markers) && !$markers = json_decode($markers, true))
 | |
| {
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| // Get Plugin Params
 | |
| $plugin = PluginHelper::getPlugin('fields', 'acfmap');
 | |
| $params = new Registry($plugin->params);
 | |
| 
 | |
| // Find provider
 | |
| $provider = $fieldParams->get('provider', 'OpenStreetMap');
 | |
| $provider_key = $params->get(strtolower($provider) . '_key');
 | |
| $maptype = $fieldParams->get(strtolower($provider) . '_maptype');
 | |
| 
 | |
| $maptype = is_null($maptype) ? ($provider === 'GoogleMap' ? 'roadmap' : 'road') : $maptype;
 | |
| 
 | |
| $payload = $fieldParams->flatten();
 | |
| $payload = array_merge($payload, [
 | |
| 	'replaceSmartTags' => true,
 | |
| 	'provider_key' => $provider_key,
 | |
| 	'width' => $fieldParams->get('width_control.width'),
 | |
| 	'height' => $fieldParams->get('height_control.height'),
 | |
| 	'markers' => $markers,
 | |
| 	'map_center' => $fieldParams->get('map_center.coordinates'),
 | |
| 	'enable_info_window' => $fieldParams->get('enable_info_window', '0') !== '0' ? $fieldParams->get('enable_info_window', '0') : false,
 | |
| 	
 | |
| 	
 | |
| 	'pro' => true,
 | |
| 	'view' => $maptype,
 | |
| 	'scale' => $fieldParams->get('scale', '0') !== '0' ? $fieldParams->get('scale', '0') : false
 | |
| 	
 | |
| ]);
 | |
| 
 | |
| // Set custom layout
 | |
| if ($field->params->get('acf_layout_override'))
 | |
| {
 | |
| 	$payload['layout'] = $field->params->get('acf_layout_override');
 | |
| }
 | |
| 
 | |
| echo \NRFramework\Widgets\Helper::render($provider, $payload); |