<?php
/**
 * Topbar social profiles
 *
 * @package OceanWP WordPress theme
 */

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

// Get social options array.
$social_options = oceanwp_social_options();

// Return if array is empty.
if ( empty( $social_options ) ) {
	return;
}

// Add classes based on topbar style.
$classes      = '';
$topbar_style = get_theme_mod( 'ocean_top_bar_style', 'one' );
if ( 'one' === $topbar_style ) {
	$classes = 'top-bar-right';
} elseif ( 'two' === $topbar_style ) {
	$classes = 'top-bar-left';
} elseif ( 'three' === $topbar_style ) {
	$classes = 'top-bar-centered';
}

// Get ID.
$get_id = get_theme_mod( 'ocean_top_bar_social_alt_template' );

// Check if page is Elementor page.
$elementor = get_post_meta( $get_id, '_elementor_edit_mode', true );

// Get content.
$get_content = oceanwp_top_bar_social_alt_content();

// Display Social alternative.
if ( $get_id ) : ?>

	<div id="top-bar-social-alt" class="clr <?php echo esc_attr( $classes ); ?>">
		<?php
		// If Elementor.
		if ( OCEANWP_ELEMENTOR_ACTIVE && $elementor ) {

			OceanWP_Elementor::get_topbar_social_alt_content();

			// If Beaver Builder.
		} elseif ( OCEANWP_BEAVER_BUILDER_ACTIVE && ! empty( $get_id ) ) {

			echo do_shortcode( '[fl_builder_insert_layout id="' . $get_id . '"]' );

			// Else.
		} else if ( class_exists( 'SiteOrigin_Panels' ) && get_post_meta( $get_id, 'panels_data', true ) ) {

			echo SiteOrigin_Panels::renderer()->render( $get_id );

		} else {

			// If Gutenberg.
			if ( ocean_is_block_template( $get_id ) ) {
				$get_content = apply_filters( 'oceanwp_top_bar_social_alt_content', do_blocks( $get_content ) );
			}

			// Display template content.
			echo do_shortcode( $get_content );

		}
		?>
	</div><!-- #top-bar-social-alt -->

	<?php
	return;

endif;
?>

<?php
// Return if there aren't any profiles defined and define var.
$profiles = get_theme_mod( 'ocean_top_bar_social_profiles' );
if ( ! $profiles ) {
	return;
}

// Get theme mods.
$link_target = get_theme_mod( 'ocean_top_bar_social_target', 'blank' );
$link_target = $link_target ? $link_target : 'blank';

$link_rel = '';
if ( 'blank' === $link_target ) {
	$link_rel = 'rel="noopener noreferrer"';
}
?>

<div id="top-bar-social" class="clr <?php echo esc_attr( $classes ); ?>">

	<ul class="clr" aria-label="<?php echo esc_attr__( 'Social links', 'oceanwp' ); ?>">

		<?php
		// Loop through social options.
		foreach ( $social_options as $key => $val ) {

			// Get URL from the theme mods.
			$url = isset( $profiles[ $key ] ) ? $profiles[ $key ] : '';

			$esc_url = esc_url( $url );

			// Get correct label.
			$label = ! empty( $val['label'] ) ? esc_attr( $val['label'] ) : '';
			if ( 'blank' === $link_target ) {
				$aria_label = 'aria-label="' . $label . ' ' . esc_attr__( '(opens in a new tab)', 'oceanwp' ) . '"';
			} else {
				$aria_label = 'aria-label="' . $label . '"';
			}

			// Display if there is a value defined.
			if ( $url ) {

				// Display link.
				echo '<li class="oceanwp-' . esc_attr( $key ) . '">';

				if ( in_array( $key, array( 'skype' ), true ) ) {
					echo '<a href="skype:' . esc_attr( $url ) . '?call" aria-label="' . esc_attr__( 'Skype (opens in your application)', 'oceanwp' ) . '" target="_self">'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above.
				} elseif ( in_array( $key, array( 'email' ), true ) ) {
					echo '<a href="mailto:' . antispambot( esc_attr( $url ) ) . '" aria-label="' . esc_attr__( 'Send email (opens in your application)', 'oceanwp' ) . '" target="_self">'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above.
				} else {
					echo '<a href="' . $esc_url . '" ' . $aria_label . ' target="_' . esc_attr( $link_target ) . '" ' . $link_rel . '>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped  -- Escaped above.
				}

				echo $val['icon_class']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped  -- Escaped during generation.

				echo '</a>';

				echo '</li>';

			} // End url check.
		} // End loop.
		?>

	</ul>

</div><!-- #top-bar-social -->
