Your IP : 216.73.216.43


Current Path : /home/cbequiperp/www/plugins/flexicontent_fields/addressint/tmpl/
Upload File :
Current File : /home/cbequiperp/www/plugins/flexicontent_fields/addressint/tmpl/field.php

<?php
//No direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

$dom_ready_js = '';

$n = 0;
foreach ($values as $value)
{
	$fieldname_n = $fieldname.'['.$n.']';
	$elementid_n = $elementid.'_'.$n;

	// make sure that optional data exist
	$value['addr_display']   = isset($value['addr_display'])   ? $value['addr_display'] : '';
	$value['addr_formatted'] = isset($value['addr_formatted']) ? $value['addr_formatted'] : '';
	$value['zip_suffix']     = isset($value['zip_suffix'])     ? $value['zip_suffix'] : '';
	$value['custom_marker']  = isset($value['custom_marker'])  ? $value['custom_marker'] : '';
	$value['marker_anchor']  = !empty($value['marker_anchor'])  ? $value['marker_anchor'] : 'BotC';

	$value['url']      = isset($value['url'])   ? $value['url'] : '';
	$value['zoom']     = isset($value['zoom'])  ? $value['zoom'] : '';
	$value['name']     = isset($value['name'])  ? $value['name'] : '';
	$value['addr1']    = isset($value['addr1']) ? $value['addr1'] : '';
	$value['addr2']    = isset($value['addr2']) ? $value['addr2'] : '';
	$value['addr3']    = isset($value['addr3']) ? $value['addr3'] : '';

	$value['state']    = isset($value['state'])    ? $value['state'] : '';
	$value['province'] = isset($value['province']) ? $value['province'] : '';
	$value['city']     = isset($value['city'])     ? $value['city'] : '';
	$value['country']  = isset($value['country'])  ? $value['country'] : '';

	$value['zip']      = isset($value['zip']) ? $value['zip'] : '';
	$value['lat']      = isset($value['lat']) ? $value['lat'] : '';
	$value['lon']      = isset($value['lon']) ? $value['lon'] : '';

	$coords_are_empty = !$value['lat'] && !$value['lon'];
	$value_is_empty   =
		empty($value['addr_display']) && empty($value['addr_formatted']) && empty($value['addr1']) &&
		empty($value['city']) && empty($value['state']) && empty($value['province']) &&
		(empty($value['lat']) || empty($value['lon'])) && empty($value['url']);

	// Use default marker icon only for new values
	if ($value_is_empty)
	{
		$value['custom_marker'] = $default_marker_file;
	}

	$value_is_disabled       = $enable_disable_btns && $value_is_empty;
	$field->fc_form_data[$n] = (object) array(
		'value_disabled' => $value_is_disabled
	);

	$disabled_class         = $value_is_disabled ? ' fc-field-prop-disabled' : '';
	$disabled_attr          = $value_is_disabled ? ' disabled="disabled" ' : '';

	$google_maps_js_api_key = $field->parameters->get('google_maps_js_api_key', '');
	$mapapi_edit            = $field->parameters->get('mapapi_edit', 'googlemap');

	// Missing API key error
	if ($mapapi_edit === 'googlemap' && $google_maps_js_api_key == '')
	{
		$message_error = 'PLG_FLEXICONTENT_FIELDS_ADDRESSINT_GOOGLE_MAPS_EMPTY_API_KEY_WARNING';
	}
	elseif ($mapapi_edit === "algolia" && ($algolia_api_id == '' || $algolia_api_key == ''))
	{
		$message_error = 'PLG_FLEXICONTENT_FIELDS_ADDRESSINT_ALGOLIA_EMPTY_API_KEY_WARNING';
	}
	else
	{
		$message_error = '';
	}

	// Container of missing API key error
	$message_error = $message_error ? '<span class="alert alert-warning fc-iblock">' . JText::_($message_error) . '</span>' : '';


	$field_html = '
	<div class="fcfield_field_data_box fcfield_addressint_data">

		<div>
			<div id="'.$elementid_n.'_messages" class="alert alert-warning fc-iblock addrint_messages" style="display:none;"></div>
		</div>

		<table class="fc-form-tbl fcfullwidth fcinner fc-addressint-field-tbl"><tbody>
			<tr>
				<td colspan="2" class="">
					' . $message_error . '
					<div class="'.$input_grp_class . ' fc-xpended-row">
						<label class="' . $add_on_class . ' fc-lbl-short addrint_autocomplete-lbl" for="'.$elementid_n.'_autocomplete" style="float: none;"><span class="icon-search"></span></label>
						<input id="'.$elementid_n.'_autocomplete" class="addrint_autocomplete" name="'.$fieldname_n.'[autocomplete]" type="text" autocomplete="off" spellcheck="false" />
						<select id="'.$elementid_n.'_ac_type" class="addrint_ac_type use_select2_lib" name="'.$fieldname_n.'[ac_type]" onchange="fcfield_addrint.changeAutoCompleteType' . ($mapapi_edit === 'googlemap' ? '' : '_OS') . '(this.id.replace(\'_ac_type\', \'\'), \''.$field_name_js.'\');">
							'.$ac_type_options.'
						</select>
					</div>
				</td>
			<tr>
		' .

		($addr_edit_mode != 'plaintext' ? '' : '
			<tr>
				<td class="key"><label class="fc-prop-lbl addrint_addr_display-lbl" for="'.$elementid_n.'_addr_display">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_ADDRESS').'</label></td>
				<td><textarea class="fcfield_textval addrint_addr_display ' . (in_array('address', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_addr_display" name="'.$fieldname_n.'[addr_display]" rows="4" cols="24">'
				.($value['addr_display'] ? $value['addr_display'] :
					(
						( // Minimum fields present for creating an address
						!empty($value['addr1'])    || !empty($value['city']) || !empty($value['state']) ||
						!empty($value['province']) || !empty($value['zip'])
						) ?
						 ($value['name'] ? $value['name']."\n" : '')
						.($value['addr1'] ? $value['addr1'] . "\n" : '')
						.($value['addr2'] ? $value['addr2'] . "\n" : '')
						.($value['addr3'] ? $value['addr3'] . "\n" : '')
						.($value['city'] || $value['state'] ? ($value['city']  ? ' ' . $value['city']  : '') . ($value['state'] ? ' ' . $value['state'] : '') : '')
						.($value['province'] ? ' '  . $value['province'] : '')
						.($value['zip']      ? ', ' . $value['zip'] . ($value['zip_suffix'] ? ' '.$value['zip_suffix'] : '') . "\n" : '')
						.($value['country']  ? JText::_('PLG_FC_ADDRESSINT_CC_'.$value['country']) . "\n" : '')
					: ''
					)
				)
				.'</textarea>
				</td>
			</tr>
		') .


		($addr_edit_mode === 'formatted' ? '
			<tr '.($use_name ? '' : 'style="display:none;"').' class="fc_gm_name_row">
				<td class="key"><label class="fc-prop-lbl addrint_name-lbl" for="'.$elementid_n.'_name" >'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_BUSINESS_LOCATION').'</label></td>
				<td><input type="text" class="fcfield_textval addrint_name ' . ($use_name && in_array('business_location', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_name" name="'.$fieldname_n.'[name]" value="'.htmlspecialchars($value['name'], ENT_COMPAT, 'UTF-8').'" size="50" maxlength="100" /></td>
			</tr>

			<tr class="fc_gm_addr_row">
				<td class="key"><label class="fc-prop-lbl addrint_addr1-lbl" for="'.$elementid_n.'_addr1">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_STREET_ADDRESS').'</label></td>
				<td>
					<textarea class="fcfield_textval addrint_addr1 ' . (in_array('street_address', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_addr1" name="'.$fieldname_n.'[addr1]" maxlength="400" cols="47" rows="2">'.$value['addr1'].'</textarea>'
					.($use_addr2 ? '<br/><textarea class="fcfield_textval addrint_addr2" id="'.$elementid_n.'_addr2" name="'.$fieldname_n.'[addr2]" maxlength="400" rows="2">'.$value['addr2'].'</textarea>' : '')
					.($use_addr3 ? '<br/><textarea class="fcfield_textval addrint_addr3" id="'.$elementid_n.'_addr3" name="'.$fieldname_n.'[addr3]" maxlength="400" rows="2">'.$value['addr3'].'</textarea>' : '')
					.'
				</td>
			</tr>

			<tr class="fc_gm_city_row">
				<td class="key"><label class="fc-prop-lbl fc_gm_city-lbl" for="'.$elementid_n.'_city">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_CITY').'</label></td>
				<td><input type="text" class="fcfield_textval fc_gm_city ' . (in_array('city', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_city" name="'.$fieldname_n.'[city]" value="'.htmlspecialchars($value['city'], ENT_COMPAT, 'UTF-8').'" size="50" maxlength="100" /></td>
			</tr>

			<tr '.($use_usstate && $value['country'] === 'US' ? '' : 'style="display:none;"').' class="fc_gm_usstate_row">
				<td class="key"><label class="fc-prop-lbl fc_gm_usstate-lbl" for="'.$elementid_n.'_state">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_US_STATE').'</label></td>
				<td>' .
					JHtml::_('select.genericlist', $list_states, $fieldname_n.'[state]',
						' class="use_select2_lib fc_gm_usstate ' . ($use_usstate && in_array('us_state', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr,
						'value', 'text', $value['state'], $elementid_n.'_state') . '
				</td>
			</tr>

			<tr '.($use_province ? '' : 'style="display:none;"').' class="fc_gm_province_row">
				<td class="key"><label class="fc-prop-lbl fc_gm_province-lbl" for="'.$elementid_n.'_province">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_NON_US_STATE_PROVINCE').'</label></td>
				<td><input type="text" class="fcfield_textval fc_gm_province ' . ($use_province && in_array('non_us_state_province', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_province" name="'.$fieldname_n.'[province]" value="'.htmlspecialchars($value['province'], ENT_COMPAT, 'UTF-8').'" size="50" maxlength="100" /></td>
			</tr>

			<tr class="fc_gm_zip_row">
				<td class="key"><label class="fc-prop-lbl addrint_zip-lbl" for="'.$elementid_n.'_zip">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_ZIP_POSTAL_CODE').'</label></td>
				<td>
					<input type="text" class="fcfield_textval inlineval addrint_zip ' . (in_array('zip_postal_code', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_zip" name="'.$fieldname_n.'[zip]" value="'.htmlspecialchars($value['zip'], ENT_COMPAT, 'UTF-8').'" size="10" maxlength="10" />
					' .
					// MANUALLY entered PROPERTY !! Remove from form instead of hiding !!
					($use_zip_suffix ? '&nbsp; <input type="text" class="fcfield_textval inlineval addrint_zip_suffix" id="'.$elementid_n.'_zip_suffix" name="'.$fieldname_n.'[zip_suffix]" value="'.htmlspecialchars($value['zip_suffix'], ENT_COMPAT, 'UTF-8').'" size="5" maxlength="10" />' : '') . '
				</td>
			</tr>

			<tr '.($use_country ? '' : 'style="display:none;"').' class="fc_gm_country_row">
				<td class="key"><label class="fc-prop-lbl fc_gm_country-lbl" for="'.$elementid_n.'_country">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_COUNTRY').'</label></td>
				<td>' .
					JHtml::_('select.genericlist', $allowed_countries, $fieldname_n.'[country]', $countries_attribs . ' class="use_select2_lib fc_gm_country ' .
						($use_country && in_array('country', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr,
						'value', 'text', ($value['country'] ? $value['country'] : $ac_country_default), $elementid_n.'_country') . '
				</td>
			</tr>
		' : '') . '

			<tr '.($edit_latlon ? '' : 'style="display:none;"').' class="fc_gm_latitude_row">
				<td class="key"><label class="fc-prop-lbl addrint_lat-lbl">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_LATITUDE').'</label></td>
				<td><input type="text" class="fcfield_textval addrint_lat ' . (in_array('latitude', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_lat" name="'.$fieldname_n.'[lat]" value="'.htmlspecialchars($value['lat'], ENT_COMPAT, 'UTF-8').'" size="50" maxlength="10" ' . (!$edit_latlon || $edit_latlon == 2 ? ' readonly="readonly" ' : '') . '/></td>
			</tr>
			<tr class="fc_gm_longitude_row">
				<td class="key"><label class="fc-prop-lbl addrint_lon-lbl">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_LONGITUDE').'</label></td>
				<td><input type="text" class="fcfield_textval addrint_lon ' . (in_array('longitude', $required_props) ? ' required' : '') . $disabled_class . '" ' . $disabled_attr . ' id="'.$elementid_n.'_lon" name="'.$fieldname_n.'[lon]" value="'.htmlspecialchars($value['lon'], ENT_COMPAT, 'UTF-8').'" size="50" maxlength="10" ' . (!$edit_latlon || $edit_latlon == 2 ? ' readonly="readonly" ' : '') . '/></td>
			</tr>' .


		// MANUALLY entered PROPERTY !! Remove from form instead of hiding !!
		($use_custom_marker ? '
			<tr class="fc_gm_custom_marker_row">
			<td class="key"><label class="fc-prop-lbl fc_gm_custom_marker-lbl" for="'.$elementid_n.'_custom_marker">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_CUSTOM_MARKER').'</label></td>
				<td>' .
					JHtml::_('select.genericlist', $custom_markers, $fieldname_n.'[custom_marker]',
						' class="fc_gm_custom_marker has_select2_lib" data-marker-base-url = "' . $custom_marker_url_base . '" ' .
						' onchange="fcfield_addrint.updateMarkerIcon' . ($mapapi_edit === 'googlemap' ? '' : '_OS') . '(this.id.replace(\'_custom_marker\', \'\'), \''.$field_name_js.'\');" ',
						'value', 'text', $value['custom_marker'], $elementid_n.'_custom_marker') . '
				</td>
			</tr>
			<tr class="fc_gm_marker_anchor_row">
			<td class="key"><label class="fc-prop-lbl fc_gm_marker_anchor-lbl" for="'.$elementid_n.'_marker_anchor">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_MARKER_ANCHOR').'</label></td>
				<td style="position: relative;">' .
					JHtml::_('select.genericlist', $marker_anchors, $fieldname_n.'[marker_anchor]',
						' class="fc_gm_marker_anchor use_select2_lib" onchange="fcfield_addrint.updateMarkerIcon' . ($mapapi_edit === 'googlemap' ? '' : '_OS') . '(this.id.replace(\'_marker_anchor\', \'\'), \''.$field_name_js.'\');" ',
						'value', 'text', $value['marker_anchor'], $elementid_n.'_marker_anchor') . '
						<button type="button" class="btn btn-small btn-sm hasPopover" data-toggle="popover" title="' .  JText::_('FLEXI_EXAMPLES', true) . '" data-content="' .  JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_MARKER_ANCHOR_INFO', true) . '"><span class="icon-info"></span>' .  JText::_('FLEXI_ABOUT', true) . '</button>
				</td>
			</tr>

		' : '') . '

		</tbody></table>

	</div>


	<div id="'.$elementid_n.'_addressint_map" class="fcfield_field_preview_box fcfield_addressint_map" style="display: none;">
		<div>
			' . ($mapapi_edit === "googlemap" ? '
			<div class="'.$input_grp_class.' fc-xpended" class="addrint_marker_tolerance_box">
				<label class="' . $add_on_class . ' fc-lbl-short addrint_marker_tolerance-lbl" for="'.$elementid_n.'_marker_tolerance">'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_MARKER_TOLERANCE').'</label>
				<input type="text" class="fcfield_textval inlineval addrint_marker_tolerance" id="'.$elementid_n.'_marker_tolerance" name="'.$fieldname_n.'[marker_tolerance]" value="50" size="7" maxlength="7" />
			</div>
			&nbsp;
			' : '') . '
			<div class="'.$input_grp_class.' fc-xpended" class="addrint_zoom_box">
				<label class="' . $add_on_class . ' fc-lbl-short addrint_zoom-lbl" for="'.$elementid_n.'_zoom" >'.JText::_('PLG_FLEXICONTENT_FIELDS_ADDRESSINT_ZOOM_LEVEL').'</label>
				<input type="text" class="fcfield_textval inlineval addrint_zoom" id="'.$elementid_n.'_zoom" name="'.$fieldname_n.'[zoom]" value="'.htmlspecialchars($value['zoom'], ENT_COMPAT, 'UTF-8').'" readonly="readonly" size="2" />
			</div>
		</div>

		<div class="fcfield_addressint_canvas_outer">
			<div id="map_canvas_'.$elementid_n.'" class="addrint_map_canvas" '.($map_width || $map_height  ?  'style="width:'.$map_width.'px; height:'.$map_height.'px;"' : '').'></div>
		</div>
	</div>


	<input type="hidden" id="'.$elementid_n.'_addr_formatted" name="'.$fieldname_n.'[addr_formatted]" class="addrint_addr_formatted" value="'.htmlspecialchars($value['addr_formatted'], ENT_COMPAT, 'UTF-8').'" />
	<input type="hidden" id="'.$elementid_n.'_url" name="'.$fieldname_n.'[url]" class="addrint_url" value="'.htmlspecialchars($value['url'], ENT_COMPAT, 'UTF-8').'" />
	';

	if ($addr_edit_mode === 'plaintext')
	{
		$field_html .= '
		<input type="hidden" id="'.$elementid_n.'_name" name="'.$fieldname_n.'[name]" class="addrint_name" value="'.htmlspecialchars($value['name'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_addr1" name="'.$fieldname_n.'[addr1]" class="addrint_addr1" value="'.htmlspecialchars($value['addr1'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_city" name="'.$fieldname_n.'[city]" class="addrint_city" value="'.htmlspecialchars($value['city'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_state" name="'.$fieldname_n.'[state]" class="addrint_state" value="'.htmlspecialchars($value['state'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_province" name="'.$fieldname_n.'[province]" class="addrint_province" value="'.htmlspecialchars($value['province'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_zip" name="'.$fieldname_n.'[zip]" class="addrint_zip" value="'.htmlspecialchars($value['zip'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_country" name="'.$fieldname_n.'[country]" class="addrint_country" value="'.htmlspecialchars($value['country'], ENT_COMPAT, 'UTF-8').'" />
		'
		// DO NOT STORE manually enter properties: ADDR2, ADDR3, ZIP_SUFFIX in plaintext mode !!
		/* '
		<input type="hidden" id="'.$elementid_n.'_addr2" name="'.$fieldname_n.'[addr2]" class="addrint_addr2" value="'.htmlspecialchars($value['addr2'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_addr3" name="'.$fieldname_n.'[addr3]" class="addrint_addr3" value="'.htmlspecialchars($value['addr3'], ENT_COMPAT, 'UTF-8').'" />
		<input type="hidden" id="'.$elementid_n.'_zip_suffix" name="'.$fieldname_n.'[zip_suffix]" class="addrint_zip_suffix" value="'.htmlspecialchars($value['zip_suffix'], ENT_COMPAT, 'UTF-8').'" />
		'*/
		;
	}

	// if ($addr_edit_mode == 'formatted')
	else
	{
		$field_html .= '
			<input type="hidden" id="'.$elementid_n.'_addr_display" name="'.$fieldname_n.'[addr_display]" class="addrint_addr_display" value="'.htmlspecialchars($value['addr_display'], ENT_COMPAT, 'UTF-8').'" />
		';
	}


	/**
	 * Initialize Custom Marker Selector
	 */

	$dom_ready_js .= (!$use_custom_marker ? '' : '
		fcfield_addrint.initMarkerSelector("'.$elementid_n.'", "'.$field_name_js.'");
	');


	/**
	 * Initialize GOOGLEMAP 's (1) Autocomplete search box and (2) MAP display
	 */

	if ($mapapi_edit === 'googlemap')
	{
		$js .= '
		fcfield_addrint.LatLon["'.$elementid_n.'"] = {lat: '.($value['lat'] ? $value['lat'] : '0').', lng: '.($value['lon'] ? $value['lon'] : '0').'};
		';

		$dom_ready_js .= '
			fcfield_addrint.initAutoComplete("'.$elementid_n.'", "'.$field_name_js.'");' . /* autocomplete search */'
			' . (!$coords_are_empty ? '
				fcfield_addrint.initMap("'.$elementid_n.'", "'.$field_name_js.'");'
			: '')
		;
	}


	/**
	 * Initialize Algolia autocomplete ENGINE
	 */

	elseif ($mapapi_edit === 'algolia')
	{
		$dom_ready_js .= '
			setTimeout(function()
			{
				fcfield_addrint.initAutoComplete_OS("'.$elementid_n.'", "'.$field_name_js.'");
			}, 100);
		';
	}

	$field->html[$n] = '
		<div class="fc-field-value-properties-box ' . ($value_is_disabled ? ' fc-field-value-disabled' : '') . '">
			' . $field_html . '
		</div>
	';

	$n++;
}

if ($dom_ready_js)
{
	$js .= '
	// load autocomplete on page ready
	jQuery(document).ready(function() {
		' . $dom_ready_js . '
	});
	';
}

$document->addScriptDeclaration($js);