File: /var/www/html/wp-content/plugins/loginpress/classes/customizer/class-loginpress-promo.php
<?php
/**
* LoginPress Promo Control Class.
*
* Class for Promotion.
*
* @package LoginPress
* @since 1.0.17
* @version 1.5.12
* @access public
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Exit if WP_Customize_Control does not exist.
if ( ! class_exists( 'WP_Customize_Control' ) ) {
return null;
}
/**
* LoginPress Promo Control Class.
*
* Customizer control for LoginPress promotions.
*
* @since 1.0.17
* @version 1.5.12
*/
class LoginPress_Promo extends WP_Customize_Control {
/**
* The type of customize control being rendered.
*
* @since 1.0.17
* @access public
* @var string
*/
public $type = 'promotion';
/**
* The type of customize control being rendered.
*
* @since 1.0.17
* @access public
* @var string
*/
public $thumbnail;
/**
* Promotion text for the Controller.
*
* @since 1.0.17
* @access public
* @var string
*/
public $promo_text;
/**
* Promotion link for the Controller.
*
* @since 1.0.17
* @access public
* @var string
*/
public $link;
/**
* Enqueue scripts/styles.
*
* @since 1.0.17
* @access public
* @return void
*/
public function enqueue() {
}
/**
* Displays the control content.
*
* @since 1.0.17
* @access public
* @return void
*/
public function render_content() {
?>
<span class="customize-control-title">
<?php echo esc_attr( $this->label ); ?>
<?php if ( ! empty( $this->description ) ) : ?>
<span class="description customize-control-description"><?php echo esc_html( $this->description ); ?></span>
<?php endif; ?>
</span>
<div id="input_<?php echo esc_attr( $this->id ); ?>" class="image">
<div class="loginpress_promo_thumbnail">
<a href="<?php echo esc_url( $this->link ); ?>" target="_blank">
<div class="customizer-promo-overlay">
<span class="customizer-promo-text"><?php echo esc_html( $this->promo_text ); ?></span>
</div>
<img src="<?php echo esc_url( $this->thumbnail ); ?>" alt="<?php echo esc_attr( $this->id ); ?>" title="<?php echo esc_attr( $this->id ); ?>">
</a>
</div> <!-- .loginpress_promo_thumbnail -->
</div>
<?php
}
}
// phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- Reason: local helper function used only in this file.
if ( ! function_exists( 'loginpress_promo_control_css' ) ) {
/**
* Add Customizer css for LoginPress Promo Control.
*
* @return void
*/
function loginpress_promo_control_css() {
?>
<style>
.loginpress_promo_thumbnail a{
display: inline-block;
position: relative;
border:5px solid transparent;
}
.loginpress_promo_thumbnail a .customizer-promo-overlay{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(204, 204, 204, 0.8);
content: '';
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
opacity: 0;
visibility: hidden;
-webkit-transform: scale(.5);
-moz-transform: scale(.5);
-ms-transform: scale(.5);
transform: scale(.5);
}
.customizer-promo-text{
line-height:1.2;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%);
width: 100%;
font-size: 25px;
color: #000;
z-index: 100;
text-align: center;
opacity: 0;
}
.loginpress_promo_thumbnail a:hover{
border-color: #ccc;
}
.loginpress_promo_thumbnail a:hover .customizer-promo-text{
opacity: 1;
}
.loginpress_promo_thumbnail a:hover .customizer-promo-overlay{
opacity: 1;
visibility: visible;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
</style>
<?php
}
}
add_action( 'customize_controls_print_styles', 'loginpress_promo_control_css' );
// phpcs:enable Universal.Files.SeparateFunctionsFromOO.Mixed
?>