File: /home/adventp/www/wp-content/themes/brooklyn/unite-custom/widgets/ut_social.php
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
class WP_Widget_Social extends WP_Widget {
protected $slug = 'ut_social';
public $profiles = array(
array(
'value' => 'fa-adn',
'label' => 'Alpha'
),
array(
'value' => 'fa-android',
'label' => 'Android'
),
array(
'value' => 'fa-apple',
'label' => 'Apple'
),
array(
'value' => 'fa-behance',
'label' => 'Behance'
),
array(
'value' => 'fa-bitbucket',
'label' => 'Bitbucket'
),
array(
'value' => 'fa-btc',
'label' => 'Bitcoin'
),
array(
'value' => 'fa-codepen',
'label' => 'Codepen'
),
array(
'value' => 'fa-delicious',
'label' => 'Delicious'
),
array(
'value' => 'fa-deviantart',
'label' => 'Deviantart'
),
array(
'value' => 'fa-digg',
'label' => 'Digg'
),
array(
'value' => 'fa-dribbble',
'label' => 'Dribbble'
),
array(
'value' => 'fa-dropbox',
'label' => 'Dropbox'
),
array(
'value' => 'fa-facebook',
'label' => 'Facebook'
),
array(
'value' => 'fa-flickr',
'label' => 'Flickr'
),
array(
'value' => 'fa-foursquare',
'label' => 'Foursquare'
),
array(
'value' => 'fa-github',
'label' => 'Github'
),
array(
'value' => 'fa-gittip',
'label' => 'Gittip'
),
array(
'value' => 'fa-google-plus',
'label' => 'Google Plus'
),
array(
'value' => 'fa-instagram',
'label' => 'Instagram'
),
array(
'value' => 'fa-jsfiddle',
'label' => 'JSFiddle'
),
array(
'value' => 'fa-linkedin',
'label' => 'LinkedIn'
),
array(
'value' => 'fa-medium',
'label' => 'Medium'
),
array(
'value' => 'fa-meetup',
'label' => 'Meetup'
),
array(
'value' => 'fa-modx',
'label' => 'ModX'
),
array(
'value' => 'fa-reddit',
'label' => 'Reddit'
),
array(
'value' => 'fa-paypal',
'label' => 'Paypal'
),
array(
'value' => 'fa-pinterest',
'label' => 'Pinterest'
),
array(
'value' => 'fa-skype',
'label' => 'Skype'
),
array(
'value' => 'fa-soundcloud',
'label' => 'Soundcloud'
),
array(
'value' => 'fa-snapchat',
'label' => 'Snapchat'
),
array(
'value' => 'fa-telegram',
'label' => 'Telegram'
),
array(
'value' => 'fa-tumblr',
'label' => 'Tumblr'
),
array(
'value' => 'fa-brands fa-x-twitter',
'label' => 'Twitter'
),
array(
'value' => 'fa-twitch',
'label' => 'Twitch'
),
array(
'value' => 'fa-vimeo-square',
'label' => 'Vimeo'
),
array(
'value' => 'fa-vk',
'label' => 'VK'
),
array(
'value' => 'fa-xing',
'label' => 'Xing'
),
array(
'value' => 'fa-youtube',
'label' => 'Youtube'
),
array(
'value' => 'fa-spotify',
'label' => 'Spotify'
)
);
function __construct() {
$widget_ops = array('classname' => 'ut_widget_social clearfix', 'description' => __( 'Displays Social Icons!', 'unitedthemes') );
parent::__construct('ut_social', __('United Themes - Social Media Widget', 'unitedthemes'), $widget_ops);
$this->alt_option_name = 'ut_widget_social';
}
function widget( $args, $instance ) {
extract( $args );
$title = ( !empty( $instance['title'] ) ) ? $instance['title'] : '' ;
$style = ( !empty( $instance['style'] ) ) ? $instance['style'] : 'style-1' ;
echo ut_safe_output( $before_widget ); ?>
<?php if( !empty( $title ) ) echo '<h3 class="widget-title"><span>' . $title . '</span></h3>'; ?>
<?php
if( $style == 'style-1' ) {
echo '<ul class="ut-sociallinks ut-sociallinks-horizontal">';
foreach( $this->profiles as $profile ) {
$link = !empty( $instance[str_replace( '-', '_', $profile['value'] )] ) ? esc_url( $instance[str_replace( '-', '_', $profile['value'] )] ) : '' ;
if( !empty( $link ) ) {
echo '<li>';
echo '<a href="'. esc_url( $link ) . '" target="_blank"><i class="fa ' . esc_attr( $profile['value'] ) . '"></i></a>';
echo '</li>';
}
}
echo '</ul>';
}
if( $style == 'style-2' ) {
echo '<ul class="ut-sociallinks ut-sociallinks-vertical">';
foreach( $this->profiles as $profile ) {
$link = !empty( $instance[str_replace( '-', '_', $profile['value'] )] ) ? esc_url( $instance[str_replace( '-', '_', $profile['value'] )] ) : '' ;
$text = str_replace('fa-','', $profile['value']);
$text = str_replace('-square','', $text);
$text = str_replace('-round','', $text);
$text = str_replace('-',' ', $text);
if( !empty( $link ) ) {
echo '<li>';
echo '<a href="'. esc_url( $link ) . '" target="_blank"><i class="fa ' . esc_attr( $profile['value'] ) . '"></i><span>' . $text . '</span></a>';
echo '</li>';
}
}
echo '</ul>';
}
echo ut_safe_output( $after_widget );
}
function update($new_instance, $old_instance) {
return $new_instance;
}
function form( $instance ) {
$title = !empty( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
$style = !empty( $instance['style'] ) ? esc_attr( $instance['style'] ) : 'style-1';
?>
<p>
<label for="<?php echo esc_attr( $this->get_field_id('title') ); ?>"><?php esc_html_e('Title:', 'unitedthemes'); ?></label>
<input type="text" name="<?php echo esc_attr( $this->get_field_name('title') ); ?>" value="<?php echo esc_attr( $title ); ?>" class="widefat" id="<?php echo esc_attr( $this->get_field_id('title') ); ?>" />
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id('style') ); ?>"><?php esc_html_e('Style:', 'unitedthemes'); ?></label>
<select name="<?php echo esc_attr( $this->get_field_name('style') ); ?>" class="widefat" id="<?php echo esc_attr( $this->get_field_id('style') ); ?>">
<option value="style-1" <?php selected( $style, 'style-1'); ?>><?php esc_html_e('Style 1 (horizontal)', 'unitedthemes'); ?></option>
<option value="style-2" <?php selected( $style, 'style-2'); ?>><?php esc_html_e('Style 2 (vertical)', 'unitedthemes'); ?></option>
</select>
</p>
<?php foreach( $this->profiles as $profile ) : ?>
<?php $value = ( !empty($instance[str_replace( '-', '_', $profile['value'] )]) ) ? $instance[str_replace( '-', '_', $profile['value'] )] : '' ; ?>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( str_replace( '-', '_', $profile['value'] ) ) ); ?>"><?php echo esc_html( $profile['label'] ); ?></label>
<input type="text" name="<?php echo esc_attr( $this->get_field_name( str_replace( '-', '_', $profile['value'] ) ) ); ?>" value="<?php echo esc_attr( $value ); ?>" class="widefat" id="<?php echo esc_attr( $this->get_field_id( str_replace( '-', '_', $profile['value'] ) ) ); ?>" />
</p>
<?php endforeach; ?>
<?php }
}