PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/myvideomania.com/wp-content/plugins/post-and-page-builder/includes/Widget/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //home/trave494/myvideomania.com/wp-content/plugins/post-and-page-builder/includes/Widget/Logo.php |
<?php /** * File: Logo.php * * Create a post component. * * @since 1.14.0 * @package Boldgrid_Components * @subpackage Boldgrid_Components_Shortcode * @author BoldGrid <support@boldgrid.com> * @link https://boldgrid.com */ namespace Boldgrid\PPB\Widget; /** * Class: Logo * * Create a logo component. * * @since 1.14.0 */ class Logo extends \WP_Widget { /** * Default widget wrappers. * * @since 1.14.0 * @var array */ public static $widgetArgs = array( 'before_title' => '', 'after_title' => '', 'before_widget' => '<div class="widget">', 'after_widget' => '</div>', ); /** * Default values. * * @since 1.14.0 * @var array Default values. */ public $defaults = [ ]; /** * Setup the widget configurations. * * @since 1.14.0 */ public function __construct() { parent::__construct( 'boldgrid_component_logo', __( 'Site Logo', 'boldgrid-editor' ), array( 'classname' => 'bgc-logo', 'description' => __( 'Inserts the site\'s logo into your header.', 'boldgrid-editor' ) ) ); } /** * Update a widget with a new configuration. * * @since 1.14.0 * * @param array $new_instance New instance configuration. * @param array $old_instance Old instance configuration. * @return array Updated instance config. */ public function update( $new_instance, $old_instance ) { $instance = $new_instance; return $instance; } /** * Render a widget. * * @since 1.14.0 * * @param array $args General widget configurations. * @param array $instance Widget instance arguments. */ public function widget( $args, $instance ) { $logo_switch_val = isset( $instance['bgc_logo_switch'] ) ? $instance['bgc_logo_switch'] : 'site_logo'; $alt_logo = ! empty( $instance['bgc_alt_logo'] ); if ( 'site_logo' === $logo_switch_val ) { $logo_id = get_theme_mod( 'custom_logo' ); } else { $logo_id = $alt_logo ? $instance['bgc_alt_logo'] : ''; } $align_class = ! empty( $instance['bgc_logo_alignment'] ) ? $this->get_align_class( $instance['bgc_logo_alignment'] ) : 'center'; echo '<a class="bgc_logo' . ( $alt_logo ? ' alt-logo' : ' custom-logo-link' ) . '" style="display:flex;justify-content:' . $align_class . ';" href="'. get_home_url() . '">'; if ( wp_get_attachment_image( $logo_id, 'full' ) ) { echo wp_get_attachment_image( $logo_id, 'full', false, array( 'class' => 'custom-logo' ) ); } else { echo '<p class="bgc_logo_placeholder custom-logo"><span class="dashicons dashicons-format-image"></span><span class="placeholder_text">'; esc_html_e( '[Site Logo]', 'boldgrid-editor' ); } echo '</span></p></a>'; } /** * Get Alignment Class * * This takes the alignment information passed from the form * and converts it into a usable class name for bgtfw. * * @since 1.14.0 * * @param string $align_value Value passed from form. * @return string Alignment class. */ public function get_align_class( $align_value ) { $align_class = 'c'; switch ( $align_value ) { case ( 'left' ): $align_class = 'flex-start'; break; case ( 'right' ): $align_class = 'flex-end'; break; default: $align_class = 'center'; break; } return $align_class; } /** * Print form styles * * @since 1.14.0 */ public function print_form_styles() { ?> <style> .bgc.buttonset { display: flex; flex-wrap: wrap; } .bgc.buttonset .switch-label { background: rgba(0, 0, 0, 0.1); border: 1px rgba(0, 0, 0, 0.1); color: #555d66; margin: 0; text-align: center; padding: 0.5em 1em; flex-grow: 1; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; justify-items: center; -ms-flex-line-pack: center; align-content: center; cursor: pointer; } .bgc.buttonset .switch-input:checked + .switch-label { background-color: #00a0d2; color: rgba(255, 255, 255, 0.8); } </style> <?php } /** * Prints Logo Switch Control * * @since 1.14.0 * * @param array $instance Widget instance configs. */ public function print_logo_switch( $instance ) { $field_name = $this->get_field_name( 'bgc_logo_switch' ); $selected_switch = ! empty( $instance['bgc_logo_switch'] ) ? $instance['bgc_logo_switch'] : 'site_logo'; ?> <h4><?php _e( 'Choose Logo', 'boldgrid-editor' ); ?></h4> <div class="buttonset bgc logo_switch"> <input class="switch-input screen-reader-text bgc" type="radio" value="site_logo" name="<?php echo $field_name; ?>" id="<?php echo $this->get_field_id( 'bgc_logo_switch_site_logo' ); ?>" <?php echo 'site_logo' === $selected_switch ? 'checked' : '';?> > <label class="switch-label switch-label-on " for="<?php echo $this->get_field_id( 'bgc_logo_switch_site_logo' ); ?>">Use Site Logo</label> <input class="switch-input screen-reader-text bgc" type="radio" value="alt_logo" name="<?php echo $field_name; ?>" id="<?php echo $this->get_field_id( 'bgc_logo_switch_alt_logo' ); ?>" <?php echo 'alt_logo' === $selected_switch ? 'checked' : '';?> > <label class="switch-label switch-label-off bgc" for="<?php echo $this->get_field_id( 'bgc_logo_switch_alt_logo' ); ?>">Use Alternate Logo</label> </div> <?php } /** * Print Site Logo selector / previewer * * @since 1.14.0 * * @param array $instance Widget instance configs. */ public function print_site_logo( $instance ) { $name = 'crio-premium-site-logo-preview'; $value = get_theme_mod( 'custom_logo' ); $image_size = 'full'; $image_attributes = wp_get_attachment_image_src( $value, $image_size ); ?> <div class="bgc site_logo_selection"> <div class="bgtfw-custom-meta__description"> <p class="description"> <?php esc_html_e( 'Site Logo', 'boldgrid-editor' ); ?> </p> </div> <?php if ( $image_attributes ) { ?> <div> <a href="#" class="crio_premium_image_button"><img src="<?php echo esc_attr( $image_attributes[0] ); ?>" style="max-width:95%;display:block;" /></a> <?php wp_nonce_field( 'crio_premium_update_site_logo', 'crio_premium_update_site_logo_nonce' ); ?> <input type="hidden" name="<?php echo esc_attr( $name ); ?>" id="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( $value ); ?>" /> <p class="crio_premium_image_desc" style="display:inline-block"><?php esc_html_e( 'Click the image to edit or update', 'boldgrid-editor' ); ?></p> <a href="#" class="crio_premium_remove_image_button" style="display:inline-block;display:inline-block"><?php esc_html_e( 'Remove Image', 'boldgrid-editor' ); ?></a> </div> <?php } else { ?> <div> <a href="#" class="crio_premium_image_button button"><?php esc_html_e( 'Upload Image', 'boldgrid-editor' ); ?></a> <?php wp_nonce_field( 'crio_premium_update_site_logo', 'crio_premium_update_site_logo_nonce' ); ?> <input type="hidden" name="<?php echo esc_attr( $name ); ?>" id="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( $value ); ?>" /> <p class="crio_premium_image_desc" style="display:none"><?php esc_html_e( 'Click the image to edit or update', 'boldgrid-editor' ); ?></p> <a href="#" class="crio_premium_remove_image_button" style="display:inline-block;display:none"><?php esc_html_e( 'Remove Image', 'boldgrid-editor' ); ?></a> </div> <?php } ?> </div> <?php } /** * Print Alt Logo selector / previewer * * @since 1.14.0 * * @param array $instance Widget instance configs. */ public function print_alt_logo( $instance ) { $name = 'crio-premium-alt-logo-preview'; $field_name = $this->get_field_name( 'bgc_alt_logo' ); $selected_alt_logo = ! empty( $instance['bgc_alt_logo'] ) ? $instance['bgc_alt_logo'] : ''; $image_size = 'full'; $image_attributes = wp_get_attachment_image_src( $selected_alt_logo, $image_size ); ?> <div class="bgc alt_logo_selection"> <div class="bgtfw-custom-meta__description"> <p class="description"> <?php esc_html_e( 'Alternate Logo', 'boldgrid-editor' ); ?> </p> </div> <?php if ( $image_attributes ) { ?> <div> <a href="#" class="crio_premium_image_button"><img src="<?php echo esc_attr( $image_attributes[0] ); ?>" style="max-width:95%;display:block;" /></a> <input type="hidden" name="<?php echo $field_name; ?>" id="<?php echo $field_name; ?>" value="<?php echo esc_attr( $selected_alt_logo ); ?>" /> <p class="crio_premium_image_desc" style="display:inline-block"><?php esc_html_e( 'Click the image to edit or update', 'boldgrid-editor' ); ?></p> <a href="#" class="crio_premium_remove_image_button" style="display:inline-block;display:inline-block"><?php esc_html_e( 'Remove Image', 'boldgrid-editor' ); ?></a> </div> <?php } else { ?> <div> <a href="#" class="crio_premium_image_button button"><?php esc_html_e( 'Upload Image', 'boldgrid-editor' ); ?></a> <input type="hidden" name="<?php echo $field_name; ?>" id="<?php echo $field_name; ?>" value="<?php echo esc_attr( $selected_alt_logo ); ?>" /> <p class="crio_premium_image_desc" style="display:none"><?php esc_html_e( 'Click the image to edit or update', 'boldgrid-editor' ); ?></p> <a href="#" class="crio_premium_remove_image_button" style="display:inline-block;display:none"><?php esc_html_e( 'Remove Image', 'boldgrid-editor' ); ?></a> </div> <?php } ?> </div> <?php } /** * Prints Alignment Control * * @since 1.14.0 * * @param array $instance Widget instance configs. */ public function print_alignment_control( $instance ) { $field_name = $this->get_field_name( 'bgc_logo_alignment' ); $selected_align = ! empty( $instance['bgc_logo_alignment'] ) ? $instance['bgc_logo_alignment'] : 'center'; ?> <h4><?php _e( 'Choose Logo Alignment', 'boldgrid-editor' ); ?></h4> <div class="buttonset bgc"> <input class="switch-input screen-reader-text bgc" type="radio" value="left" name="<?php echo $field_name; ?>" id="<?php echo $this->get_field_id( 'bgc_logo_align_left' ); ?>" <?php echo 'left' === $selected_align ? 'checked' : '';?> > <label class="switch-label switch-label-on " for="<?php echo $this->get_field_id( 'bgc_logo_align_left' ); ?>"><span class="dashicons dashicons-editor-alignleft"></span>Left</label> <input class="switch-input screen-reader-text bgc" type="radio" value="center" name="<?php echo $field_name; ?>" id="<?php echo $this->get_field_id( 'bgc_logo_align_center' ); ?>" <?php echo 'center' === $selected_align ? 'checked' : '';?> > <label class="switch-label switch-label-off bgc" for="<?php echo $this->get_field_id( 'bgc_logo_align_center' ); ?>"><span class="dashicons dashicons-editor-aligncenter"></span>Center</label> <input class="switch-input screen-reader-text bgc" type="radio" value="right" name="<?php echo $field_name; ?>" id="<?php echo $this->get_field_id( 'bgc_logo_align_right' ); ?>" <?php echo 'right' === $selected_align ? 'checked' : '';?> > <label class="switch-label switch-label-off bgc" for="<?php echo $this->get_field_id( 'bgc_logo_align_right' ); ?>"><span class="dashicons dashicons-editor-alignright"></span>Right</label> </div> <?php } /** * Print our a form that allowing the widget configs to be updated. * * @since 1.14.0 * * @param array $instance Widget instance configs. */ public function form( $instance ) { $this->print_logo_switch( $instance ); $this->print_site_logo( $instance ); $this->print_alt_logo( $instance ); $this->print_alignment_control( $instance ); $this->print_form_styles(); } }