Current File : //var/www/html/blog/wp-content/plugins/popup-maker/includes/functions/popups/template.php |
<?php
/**
* Functions for Popups Template
*
* @package PopupMaker
* @copyright Copyright (c) 2024, Code Atlantic LLC
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
/**
* Render the popup ID
*
* @param null|int|string $popup_id Popup ID.
*/
function pum_popup_ID( $popup_id = null ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid
echo absint( pum_get_popup_id( $popup_id ) );
}
/**
* Render the popup title.
*
* @param null|int $popup_id Popup ID.
*/
function pum_popup_title( $popup_id = null ) {
echo esc_html( pum_get_popup_title( $popup_id ) );
}
/**
* Render the popup content.
*
* @param null|int $popup_id Popup ID.
*/
function pum_popup_content( $popup_id = null ) {
$popup = pum_get_popup( $popup_id );
if ( ! pum_is_popup( $popup ) ) {
return;
}
$cached_content = PUM_Site_Popups::get_cache_content( $popup->ID );
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo false !== $cached_content ? $cached_content : $popup->get_content();
}
/**
* Render the chose popup elements classes.
*
* @param null $popup_id Popup ID.
* @param string $element Element to get classes for.
*/
function pum_popup_classes( $popup_id = null, $element = 'overlay' ) {
$popup = pum_get_popup( $popup_id );
if ( ! pum_is_popup( $popup ) ) {
return;
}
echo esc_attr( implode( ' ', $popup->get_classes( $element ) ) );
}
/**
* Render the popups data attribute.
*
* @param null|int $popup_id Popup ID.
*/
function pum_popup_data_attr( $popup_id = null ) {
$popup = pum_get_popup( $popup_id );
if ( ! pum_is_popup( $popup ) ) {
return;
}
echo 'data-popmake="' . esc_attr( wp_json_encode( $popup->get_data_attr() ) ) . '"';
}
/**
* Render the popup's content tabindex attribute to make focusable
* if needed.
*
* @param null|int $popup_id Popup ID.
*/
function pum_popup_content_tabindex_attr( $popup_id = null ) {
$popup = pum_get_popup( $popup_id );
if ( ! pum_is_popup( $popup ) ) {
return;
}
// Greater or equal to 0 makes it focusable.
echo 'tabindex="0"';
}
/**
* Render the popup close button text.
*
* @param null|int $popup_id Popup ID.
*/
function pum_popup_close_text( $popup_id = null ) {
$popup = pum_get_popup( $popup_id );
if ( ! pum_is_popup( $popup ) ) {
return;
}
$close_text = $popup->close_text();
// If the close text is a font awesome icon (E.g. "fas fa-camera"), add the icon instead of the text.
if ( preg_match( '/^fa[srldb]?\s.+/i', $close_text ) || preg_match( '/^fa-((solid)|(regular)|(light)|(thin)|(duotone))?\sfa[-]?.+/i', $close_text ) ) {
echo '<i class="' . esc_attr( $close_text ) . '"></i>';
} else {
echo esc_html( $close_text );
}
}