<?php
/**
 * Template Part : Select Field
 *
 * Template part to present select input form fields.
 *
 * Override this in your theme by copying it to /wp-content/themes/{yourtheme}/matador/form-fields/field-multi.php.
 *
 * @link        https://matadorjobs.com/
 * @since       3.0.0
 *
 * @package     Matador Jobs
 * @subpackage  Templates/Form-Fields
 * @author      Matador Software LLC, Jeremy Scott, Paul Bearne
 * @copyright   (c) 2017-2021, Matador Software, LLC
 *
 * @license     https://opensource.org/licenses/GPL-3.0 GNU General Public License version 3
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * (Possibly) Defined before include:
 *
 * @var array  $args
 * @var string $type
 * @var string $name
 * @var string $label
 * @var string $sublabel
 * @var string $description
 * @var array  $options
 * @var array  $attributes
 * @var array  $class
 * @var mixed  $value
 * @var mixed  $default
 */ ?>

<?php if ( $options || is_array( $options ) ) : ?>

	<div class="<?php matador_build_classes( $class ); ?>">

		<div class="matador-label">

			<?php if ( $label ) : ?>
				<h5 class="matador-field-label">
					<label for="<?php echo esc_attr( $name ); ?>">
						<?php echo esc_html( $label ); ?>
					</label>
				</h5>
			<?php endif; ?>

			<?php if ( $sublabel ) : ?>
				<h6 class="matador-field-sublabel">
					<?php echo esc_html( $sublabel ); ?>
				</h6>
			<?php endif; ?>

		</div>

		<div class="matador-field">

			<select multiple id="<?php echo esc_attr( $name ); ?>" name="<?php echo esc_attr( $name ); ?>[]" <?php echo matador_build_attributes( $attributes ); ?>>

				<?php foreach ( $options as $option_value => $option_name ) : ?>

					<?php
					if ( is_array( $value ) ) {
						$selected = selected( in_array( (string) $option_value, $value, true ), true, false );
					} else {
						$selected = selected( $value, $option_value, false );
					}
					?>

					<?php
					// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped -- the $selected var is safe
					printf( '<option value="%1$s" %2$s>%3$s</option>', esc_attr( $option_value ), $selected, esc_html( $option_name ) );
					// phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped
					?>

				<?php endforeach; ?>

			</select>

			<?php if ( $description ) : ?>
				<div class="matador-field-description">
					<?php echo wp_kses_post( $description ); ?>
				</div>
			<?php endif; ?>

		</div>

	</div>

<?php endif; ?>
