403Webshell
Server IP : 213.186.33.2  /  Your IP : 216.73.216.39
Web Server : Apache
System : Linux webm005.cluster102.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User : symetry ( 21728)
PHP Version : 8.2.31
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/symetry/www/wp-content/plugins/popularis-extra/library/extra-widgets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/symetry/www/wp-content/plugins/popularis-extra/library/extra-widgets/social-widget.php
<?php
/**
 * Social widget.
 *
 * @package Popularis Extra
 */
// Exit if accessed directly
if (!defined('ABSPATH')) {
    exit;
}

if (!class_exists('Popularis_Extra_Social_Widget')) {

    class Popularis_Extra_Social_Widget extends WP_Widget {

        /**
         * Register widget with WordPress.
         *
         * @since 1.0.0
         */
        public function __construct() {

            // Declare social services array
            $this->social_services_array = apply_filters('popularis_social_widget_profiles', array(
                'twitter' => array(
                    'name' => 'Twitter',
                    'url' => '',
                ),
                'facebook' => array(
                    'name' => 'Facebook',
                    'url' => '',
                ),
                'instagram' => array(
                    'name' => 'Instagram',
                    'url' => '',
                ),
                'google-plus' => array(
                    'name' => 'GooglePlus',
                    'url' => '',
                ),
                'linkedin' => array(
                    'name' => 'LinkedIn',
                    'url' => '',
                ),
                'pinterest' => array(
                    'name' => 'Pinterest',
                    'url' => '',
                ),
                'yelp' => array(
                    'name' => 'Yelp',
                    'url' => '',
                ),
                'dribbble' => array(
                    'name' => 'Dribbble',
                    'url' => '',
                ),
                'flickr' => array(
                    'name' => 'Flickr',
                    'url' => '',
                ),
                'vk' => array(
                    'name' => 'VK',
                    'url' => '',
                ),
                'github' => array(
                    'name' => 'GitHub',
                    'url' => '',
                ),
                'tumblr' => array(
                    'name' => 'Tumblr',
                    'url' => '',
                ),
                'skype' => array(
                    'name' => 'Skype',
                    'url' => '',
                ),
                'trello' => array(
                    'name' => 'Trello',
                    'url' => '',
                ),
                'foursquare' => array(
                    'name' => 'Foursquare',
                    'url' => '',
                ),
                'xing' => array(
                    'name' => 'Xing',
                    'url' => '',
                ),
                'vimeo-square' => array(
                    'name' => 'Vimeo',
                    'url' => '',
                ),
                'vine' => array(
                    'name' => 'Vine',
                    'url' => '',
                ),
                'youtube' => array(
                    'name' => 'Youtube',
                    'url' => '',
                ),
                'rss' => array(
                    'name' => 'RSS',
                    'url' => '',
                ),
            ));

            // Start up widget
            parent::__construct(
                    'popularis_social',
                    esc_html__('Popularis: Social Icons', 'popularis-extra'),
                    array(
                        'classname' => 'widget-populariswp-social social-widget',
                        'description' => esc_html__('Display your social media icons.', 'popularis-extra'),
                        'customize_selective_refresh' => true,
                    )
            );

            // Since 1.3.8
            add_action('admin_head-widgets.php', array($this, 'social_widget_style'));
            add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
            add_action('admin_footer-widgets.php', array($this, 'print_scripts'));
        }

        /**
         * Custom widget style
         *
         * @since 1.3.8
         *
         * @param string $hook_suffix
         */
        public function social_widget_style() {
            ?>
            <style>
                .populariswp-social-widget-services-list { padding-top: 10px; }
                .populariswp-social-widget-services-list li { cursor: move; background: #fafafa; padding: 10px; border: 1px solid #e5e5e5; margin-bottom: 10px; }
                .populariswp-social-widget-services-list li p { margin: 0 }
                .populariswp-social-widget-services-list li label { margin-bottom: 3px; display: block; color: #222; }
                .populariswp-social-widget-services-list li label span.fa { margin-right: 10px }
                .populariswp-social-widget-services-list .placeholder { border: 1px dashed #e3e3e3 }
                .populariswp-widget-select { width: 100% }
                .color-label { display: block; margin-bottom: 5px; }
            </style>
            <?php
        }

        /**
         * Enqueue scripts.
         *
         * @since 1.3.8
         *
         * @param string $hook_suffix
         */
        public function enqueue_scripts($hook_suffix) {
            if ('widgets.php' !== $hook_suffix) {
                return;
            }

            wp_enqueue_style('wp-color-picker');
            wp_enqueue_script('wp-color-picker');
            wp_enqueue_script('underscore');
        }

        /**
         * Print scripts.
         *
         * @since 1.3.8
         */
        public function print_scripts() {
            ?>
            <script>
                (function ($) {
                    $(document).ajaxSuccess(function (e, xhr, settings) {
                        var widget_id_base = 'popularis_social';
                        if (settings.data.search('action=save-widget') != -1 && settings.data.search('id_base=' + widget_id_base) != -1) {
                            PopulariswpSortServices();
                        }
                    });

                    function PopulariswpSortServices() {
                        $('.populariswp-social-widget-services-list').each(function () {
                            var id = $(this).attr('id');
                            $('#' + id).sortable({
                                placeholder: "placeholder",
                                opacity: 0.6
                            });
                        });
                    }

                    PopulariswpSortServices();

                    function initColorPicker(widget) {
                        widget.find('.color-picker').wpColorPicker({
                            change: _.throttle(function () { // For Customizer
                                $(this).trigger('change');
                            }, 3000)
                        });
                    }

                    function onFormUpdate(event, widget) {
                        initColorPicker(widget);
                    }

                    $(document).on('widget-added widget-updated', onFormUpdate);

                    $(document).ready(function () {
                        $('#widgets-right .widget:has(.color-picker)').each(function () {
                            initColorPicker($(this));
                        });
                    });
                }(jQuery));
            </script>
            <?php
        }

        /**
         * Front-end display of widget.
         *
         * @see WP_Widget::widget()
         * @since 1.0.0
         *
         * @param array $args     Widget arguments.
         * @param array $instance Saved values from database.
         */
        public function widget($args, $instance) {

            // Get social services and 
            $social_services = isset($instance['social_services']) ? $instance['social_services'] : '';

            // Return if no services defined
            if (!$social_services) {
                return;
            }

            // Define vars
            $title = isset($instance['title']) ? apply_filters('widget_title', $instance['title']) : '';
            $style = isset($instance['style']) ? $instance['style'] : '';
            $transition = isset($instance['transition']) ? $instance['transition'] : '';
            $target = isset($instance['target']) ? $instance['target'] : '';
            $size = isset($instance['size']) ? $instance['size'] : '';
            $font_size = isset($instance['font_size']) ? $instance['font_size'] : '';
            $border_radius = isset($instance['border_radius']) ? $instance['border_radius'] : '';

            // Sanitize vars
            $size = $size ? $size : '';
            $font_size = $font_size ? $font_size : '';
            $border_radius = $border_radius ? $border_radius : '';

            // Inline style
            $add_style = '';
            if ($size && 'simple' != $style) {
                $add_style .= 'height:' . esc_attr($size) . ';width:' . esc_attr($size) . ';line-height:' . esc_attr($size) . ';';
            }
            if ($font_size) {
                $add_style .= 'font-size:' . esc_attr($font_size) . ';';
            }
            if ($border_radius && 'simple' != $style) {
                $add_style .= 'border-radius:' . esc_attr($border_radius) . ';';
            }
            if ($add_style) {
                $add_style = ' style="' . esc_attr($add_style) . '"';
            }

            // Before widget hook
            echo $args['before_widget'];

            // Display title
            if ($title) {
                echo $args['before_title'] . esc_html($title) . $args['after_title'];
            }

            // Display the social icons. 
            ?>
            <ul class="populariswp-social-icons <?php echo esc_attr($transition); ?> style-<?php echo esc_attr($style); ?>">
                <?php
                // Original Array
                $social_services_array = $this->social_services_array;

                // Loop through each item in the array
                foreach ($social_services as $key => $val) {
                    $link = !empty($social_services[$key]['url']) ? $social_services[$key]['url'] : null;
                    $name = $social_services_array[$key]['name'];
                    if ($link) {
                        $key = 'vimeo-square' == $key ? 'vimeo' : $key;
                        $icon = 'youtube' == $key ? 'youtube-play' : $key;
                        $icon = 'pinterest' == $key ? 'pinterest-p' : $icon;
                        $icon = 'bloglovin' == $key ? 'heart' : $icon;
                        $icon = 'vimeo-square' == $key ? 'vimeo' : $icon;

                        if ('skype' == $key) {
                            $link = 'skype:' . esc_attr($link) . '?call';
                        } else {
                            $link = esc_url($link);
                        }

                        echo '<li class="populariswp-' . esc_attr($key) . '">';

                        echo '<a href="' . $link . '" title="' . esc_attr($name) . '" ' . wp_kses_post($add_style) . ' target="_' . esc_attr($target) . '">';

                        echo '<i class="fa fa-' . esc_attr($icon) . '"></i>';

                        echo '</a>';

                        echo '</li>';
                    }
                }
                ?>
            </ul>

            <?php $this->colors($args, $instance); ?>

            <?php
            // After widget hook
            echo $args['after_widget'];
        }

        /**
         * Sanitize widget form values as they are saved.
         *
         * @see WP_Widget::update()
         * @since 1.0.0
         *
         * @param array $new_instance Values just sent to be saved.
         * @param array $old_instance Previously saved values from database.
         *
         * @return array Updated safe values to be saved.
         */
        public function update($new_instance, $old_instance) {
            // Sanitize data
            $instance = $old_instance;
            $instance['title'] = !empty($new_instance['title']) ? strip_tags($new_instance['title']) : null;
            $instance['style'] = !empty($new_instance['style']) ? strip_tags($new_instance['style']) : 'light';
            $instance['transition'] = !empty($new_instance['transition']) ? strip_tags($new_instance['transition']) : 'rotate';
            $instance['target'] = !empty($new_instance['target']) ? strip_tags($new_instance['target']) : 'blank';
            $instance['size'] = !empty($new_instance['size']) ? strip_tags($new_instance['size']) : '';
            $instance['border_radius'] = !empty($new_instance['border_radius']) ? strip_tags($new_instance['border_radius']) : '';
            $instance['bg_color'] = !empty($new_instance['bg_color']) ? sanitize_hex_color($new_instance['bg_color']) : '';
            $instance['bg_hover_color'] = !empty($new_instance['bg_hover_color']) ? sanitize_hex_color($new_instance['bg_hover_color']) : '';
            $instance['color'] = !empty($new_instance['color']) ? sanitize_hex_color($new_instance['color']) : '';
            $instance['color_hover'] = !empty($new_instance['color_hover']) ? sanitize_hex_color($new_instance['color_hover']) : '';
            $instance['border_color'] = !empty($new_instance['border_color']) ? sanitize_hex_color($new_instance['border_color']) : '';
            $instance['border_hover_color'] = !empty($new_instance['border_hover_color']) ? sanitize_hex_color($new_instance['border_hover_color']) : '';
            $instance['font_size'] = !empty($new_instance['font_size']) ? strip_tags($new_instance['font_size']) : '';
            $instance['social_services'] = $new_instance['social_services'];
            return $instance;
        }

        /**
         * Back-end widget form.
         *
         * @see WP_Widget::form()
         * @since 1.0.0
         *
         * @param array $instance Previously saved values from database.
         */
        public function form($instance) {

            $instance = wp_parse_args((array) $instance, array(
                'title' => esc_attr__('Follow Us', 'popularis-extra'),
                'style' => esc_html__('Light', 'popularis-extra'),
                'transition' => esc_html__('Rotate', 'popularis-extra'),
                'font_size' => '',
                'border_radius' => '',
                'bg_color' => '',
                'bg_hover_color' => '',
                'color' => '',
                'color_hover' => '',
                'border_color' => '',
                'border_hover_color' => '',
                'target' => 'blank',
                'size' => '',
                'social_services' => $this->social_services_array
            ));
            ?>

            <p>
                <label for="<?php echo esc_attr($this->get_field_id('title')); ?>"><?php esc_html_e('Title', 'popularis-extra'); ?>:</label> 
                <input class="widefat" id="<?php echo esc_attr($this->get_field_id('title')); ?>" name="<?php echo esc_attr($this->get_field_name('title')); ?>" type="text" value="<?php echo esc_attr($instance['title']); ?>" />
            </p>

            <p>
                <label for="<?php echo esc_attr($this->get_field_id('style')); ?>"><?php esc_html_e('Style:', 'popularis-extra'); ?></label>
                <select class='widefat' name="<?php echo esc_attr($this->get_field_name('style')); ?>" id="<?php echo esc_attr($this->get_field_id('style')); ?>">
                    <option value="light" <?php selected($instance['style'], 'light') ?>><?php esc_html_e('Light', 'popularis-extra'); ?></option>
                    <option value="dark" <?php selected($instance['style'], 'dark') ?>><?php esc_html_e('Dark', 'popularis-extra'); ?></option>
                    <option value="colored" <?php selected($instance['style'], 'colored') ?>><?php esc_html_e('Colored', 'popularis-extra'); ?></option>
                    <option value="simple" <?php selected($instance['style'], 'simple') ?>><?php esc_html_e('Simple', 'popularis-extra'); ?></option>
                </select>
            </p>

            <p>
                <label for="<?php echo esc_attr($this->get_field_id('transition')); ?>"><?php esc_html_e('Transition:', 'popularis-extra'); ?></label>
                <select class='widefat' name="<?php echo esc_attr($this->get_field_name('transition')); ?>" id="<?php echo esc_attr($this->get_field_id('transition')); ?>">
                    <option value="no-transition" <?php selected($instance['transition'], 'no-transition') ?>><?php esc_html_e('None', 'popularis-extra'); ?></option>
                    <option value="float" <?php selected($instance['transition'], 'float') ?>><?php esc_html_e('Float', 'popularis-extra'); ?></option>
                    <option value="rotate" <?php selected($instance['transition'], 'rotate') ?>><?php esc_html_e('Rotate', 'popularis-extra'); ?></option>
                    <option value="zoomout" <?php selected($instance['transition'], 'zoomout') ?>><?php esc_html_e('Zoom Out', 'popularis-extra'); ?></option>
                </select>
            </p>

            <p>
                <label for="<?php echo esc_attr($this->get_field_id('target')); ?>"><?php esc_html_e('Link Target', 'popularis-extra'); ?>:</label>
                <br />
                <select class="populariswp-widget-select" name="<?php echo esc_attr($this->get_field_name('target')); ?>" id="<?php echo esc_attr($this->get_field_id('target')); ?>">
                    <option value="blank" <?php selected($instance['target'], 'blank') ?>><?php esc_html_e('Blank', 'popularis-extra'); ?></option>
                    <option value="self" <?php selected($instance['target'], 'self') ?>><?php esc_html_e('Self', 'popularis-extra'); ?></option>
                </select>
            </p>

            <p>
                <label for="<?php echo esc_attr($this->get_field_id('size')); ?>"><?php esc_html_e('Dimensions', 'popularis-extra'); ?>:</label>
                <input class="widefat" id="<?php echo esc_attr($this->get_field_id('size')); ?>" name="<?php echo esc_attr($this->get_field_name('size')); ?>" type="text" value="<?php echo esc_attr($instance['size']); ?>" />
                <small><?php esc_html_e('Example:', 'popularis-extra'); ?> 40px</small>
            </p>

            <p>
                <label for="<?php echo esc_attr($this->get_field_id('font_size')); ?>"><?php esc_html_e('Font Size', 'popularis-extra'); ?>:</label>
                <input class="widefat" id="<?php echo esc_attr($this->get_field_id('font_size')); ?>" name="<?php echo esc_attr($this->get_field_name('font_size')); ?>" type="text" value="<?php echo esc_attr($instance['font_size']); ?>" />
                <small><?php esc_html_e('Example:', 'popularis-extra'); ?> 18px</small>
            </p>

            <p>
                <label for="<?php echo esc_attr($this->get_field_id('border_radius')); ?>"><?php esc_html_e('Border Radius', 'popularis-extra'); ?></label>
                <input class="widefat" id="<?php echo esc_attr($this->get_field_id('border_radius')); ?>" name="<?php echo esc_attr($this->get_field_name('border_radius')); ?>" type="text" value="<?php echo esc_attr($instance['border_radius']); ?>" />
                <small><?php esc_html_e('Example:', 'popularis-extra'); ?> 4px</small>
            </p>

            <p>
                <label class="color-label" for="<?php echo esc_attr($this->get_field_id('bg_color')); ?>"><?php esc_html_e('Background Color', 'popularis-extra'); ?></label>
                <input class="color-picker" id="<?php echo esc_attr($this->get_field_id('bg_color')); ?>" name="<?php echo esc_attr($this->get_field_name('bg_color')); ?>" type="text" value="<?php echo esc_attr($instance['bg_color']); ?>" />
            </p>

            <p>
                <label class="color-label" for="<?php echo esc_attr($this->get_field_id('bg_hover_color')); ?>"><?php esc_html_e('Background Color Hover', 'popularis-extra'); ?></label>
                <input class="color-picker" id="<?php echo esc_attr($this->get_field_id('bg_hover_color')); ?>" name="<?php echo esc_attr($this->get_field_name('bg_hover_color')); ?>" type="text" value="<?php echo esc_attr($instance['bg_hover_color']); ?>" />
            </p>

            <p>
                <label class="color-label" for="<?php echo esc_attr($this->get_field_id('color')); ?>"><?php esc_html_e('Color', 'popularis-extra'); ?></label>
                <input class="color-picker" id="<?php echo esc_attr($this->get_field_id('color')); ?>" name="<?php echo esc_attr($this->get_field_name('color')); ?>" type="text" value="<?php echo esc_attr($instance['color']); ?>" />
            </p>

            <p>
                <label class="color-label" for="<?php echo esc_attr($this->get_field_id('color_hover')); ?>"><?php esc_html_e('Color Hover', 'popularis-extra'); ?></label>
                <input class="color-picker" id="<?php echo esc_attr($this->get_field_id('color_hover')); ?>" name="<?php echo esc_attr($this->get_field_name('color_hover')); ?>" type="text" value="<?php echo esc_attr($instance['color_hover']); ?>" />
            </p>

            <p>
                <label class="color-label" for="<?php echo esc_attr($this->get_field_id('border_color')); ?>"><?php esc_html_e('Border Color', 'popularis-extra'); ?></label>
                <input class="color-picker" id="<?php echo esc_attr($this->get_field_id('border_color')); ?>" name="<?php echo esc_attr($this->get_field_name('border_color')); ?>" type="text" value="<?php echo esc_attr($instance['border_color']); ?>" />
            </p>

            <p>
                <label class="color-label" for="<?php echo esc_attr($this->get_field_id('border_hover_color')); ?>"><?php esc_html_e('Border Color Hover', 'popularis-extra'); ?></label>
                <input class="color-picker" id="<?php echo esc_attr($this->get_field_id('border_hover_color')); ?>" name="<?php echo esc_attr($this->get_field_name('border_hover_color')); ?>" type="text" value="<?php echo esc_attr($instance['border_hover_color']); ?>" />
            </p>

            <?php
            $field_id_services = $this->get_field_id('social_services');
            $field_name_services = $this->get_field_name('social_services');
            ?>
            <h3 style="margin-top:20px;margin-bottom:0;"><?php esc_html_e('Social Links', 'popularis-extra'); ?></h3>
            <ul id="<?php echo esc_attr($field_id_services); ?>" class="populariswp-social-widget-services-list">
                <input type="hidden" id="<?php echo esc_attr($field_name_services); ?>" value="<?php echo esc_attr($field_name_services); ?>">
                <input type="hidden" id="<?php echo esc_attr(wp_create_nonce('populariswp_fontawesome_social_widget_nonce')); ?>">
                <?php
                // Social array
                $social_services_array = $this->social_services_array;
                // Get current services display
                $display_services = isset($instance['social_services']) ? $instance['social_services'] : '';
                // Loop through social services to display inputs
                foreach ($display_services as $key => $val) {
                    $url = !empty($display_services[$key]['url']) ? $display_services[$key]['url'] : null;
                    $name = $social_services_array[$key]['name'];
                    ?>
                    <li id="<?php echo esc_attr($field_id_services); ?>_0<?php echo esc_attr($key); ?>">
                        <p>
                            <label for="<?php echo esc_attr($field_id_services); ?>-<?php echo esc_attr($key); ?>-name"><?php echo esc_attr(strip_tags($name)); ?>:</label>
                            <input type="hidden" id="<?php echo esc_attr($field_id_services); ?>-<?php echo esc_attr($key); ?>-url" name="<?php echo esc_attr($field_name_services . '[' . $key . '][name]'); ?>" value="<?php echo esc_attr($name); ?>">
                            <input type="text" class="widefat" id="<?php echo esc_attr($field_id_services); ?>-<?php echo esc_attr($key); ?>-url" name="<?php echo esc_attr($field_name_services . '[' . $key . '][url]'); ?>" value="<?php echo esc_attr($url); ?>" />
                        </p>
                    </li>
                <?php } ?>
            </ul>

            <?php
        }

        /**
         * Colors
         *
         * @since 1.3.8
         *
         * @param array $instance Previously saved values from database.
         */
        public function colors($args, $instance) {
            // get the widget ID
            $id = $args['widget_id'];

            // Define vars
            $bg_color = isset($instance['bg_color']) ? sanitize_hex_color($instance['bg_color']) : '';
            $bg_hover_color = isset($instance['bg_hover_color']) ? sanitize_hex_color($instance['bg_hover_color']) : '';
            $color = isset($instance['color']) ? sanitize_hex_color($instance['color']) : '';
            $color_hover = isset($instance['color_hover']) ? sanitize_hex_color($instance['color_hover']) : '';
            $border_color = isset($instance['border_color']) ? sanitize_hex_color($instance['border_color']) : '';
            $border_hover_color = isset($instance['border_hover_color']) ? sanitize_hex_color($instance['border_hover_color']) : '';
            ?>

            <?php
            if ($bg_color || $bg_hover_color || $color || $color_hover || $border_color || $border_hover_color) :
                ?>
                <style>
                    #<?php echo $id; ?>.widget-populariswp-social ul li a { 
                        <?php
                        if ($bg_color) {
                            echo 'background-color:' . $bg_color;
                        }
                        ?>;
                        <?php
                        if ($color) {
                            echo 'color:' . $color;
                        }
                        ?>;
                        <?php
                        if ($border_color) {
                            echo 'border-color:' . $border_color;
                        }
                        ?>;
                    }

                    #<?php echo $id; ?>.widget-populariswp-social ul li a:hover { 
                        <?php
                        if ($bg_hover_color) {
                            echo 'background-color:' . $bg_hover_color;
                        }
                        ?>;
                        <?php
                        if ($color_hover) {
                            echo 'color:' . $color_hover . '!important';
                        }
                        ?>;
                        <?php
                        if ($border_hover_color) {
                            echo 'border-color:' . $border_hover_color . '!important';
                        }
                        ?>;
                    }
                </style>
            <?php endif; ?>

            <?php
        }

    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit