Files
2024-12-31 11:07:09 +01:00

79 lines
3.0 KiB
PHP

<?php
/**
* @package Advanced Custom Fields
* @version 2.8.8 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link https://www.tassos.gr
* @copyright Copyright © 2024 Tassos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Language\Text;
extract($displayData);
// Get all countries data
$countries = \NRFramework\Countries::getCountriesData();
// Find the default country
$default_country_code = isset($value['code']) && !empty($value['code']) && isset($countries[$value['code']]) ? $value['code'] : 'AF';
// Find the default calling code
$default_calling_code = '+' . $countries[$default_country_code]['calling_code'];
$flag_base_url = implode('/', [rtrim(Uri::root(), '/'), 'media', 'plg_system_nrframework', 'img', 'flags']);
$placeholder = !empty($placeholder) ? $placeholder : '_ _ _ _ _ _';
if ($inputmask)
{
$placeholder = '';
}
?>
<div class="tf-phone-control<?php echo $class ? ' ' . $class : ''; ?>"<?php echo $readonly ? ' readonly' : ''; ?> data-flags-base-url="<?php echo $flag_base_url; ?>" data-id="<?php echo $id; ?>" data-required="<?php echo $required ? 'true' : 'false'; ?>">
<?php if ($required && (empty($value['code']) || empty($value['value']))) { ?>
<input type="hidden" required class="required tf-phone-control--validator" id="<?php echo $id; ?>"/>
<?php } ?>
<div class="tf-phone-control--skeleton tf-phone-control--flag">
<img width="27" height="13.5" src="<?php echo implode('/', [$flag_base_url, strtolower($default_country_code) . '.png']); ?>" alt="<?php echo $countries[$default_country_code]['name']; ?>" />
<svg class="tf-arrow" xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" width="19"><path fill="currentColor" d="M480-333 240-573l51-51 189 189 189-189 51 51-240 240Z"/></svg>
<span class="tf-flag-calling-code"><?php echo $default_calling_code; ?></span>
</div>
<select
class="tf-phone-control--flag--selector noChosen"
name="<?php echo $name ?>[code]"
<?php if ($aria_label): ?>
aria-label="<?php echo htmlspecialchars($aria_label, ENT_COMPAT, 'UTF-8'); ?>"
<?php endif; ?>
>
<?php
foreach ($countries as $key => $country)
{
$selected = isset($value['code']) && $value['code'] === $key;
?><option value="<?php echo $key; ?>" <?php echo $selected ? ' selected' : ''; ?>><?php echo $country['name']; ?></option><?php
}
?>
</select>
<input
type="tel"
class="tf-phone-control--number<?php echo !empty($input_class) ? ' ' . $input_class : ''; ?>"
id="<?php echo $id; ?>"
<?php echo $inputmask ? ' data-imask="' . $inputmask . '"' : ''; ?>
<?php echo $required ? ' required' : ''; ?>
<?php echo $readonly ? ' readonly' : ''; ?>
<?php echo $browserautocomplete ? ' autocomplete="off"' : ''; ?>
placeholder="<?php echo $placeholder ?>"
value="<?php echo isset($value['value']) ? $value['value'] : ''; ?>"
name="<?php echo $name; ?>[value]"
/>
</div>