'stainedglass_socialicons',
'description' => __('Display Social Media Links.', 'stainedglass' ));
/* Widget control settings. */
$control_ops = array(
'width' => 250,
'height' => 250,
'id_base' => 'stainedglass_socialicons_widget');
/* Create the widget. */
parent::__construct( 'stainedglass_socialicons_widget', __( 'GL Social Media Icons', 'stainedglass' ), $widget_ops, $control_ops );
}
function widget( $args, $instance ) {
// Widget output
extract($args);
$defaults = $this->get_defaults();
$instance = wp_parse_args( (array) $instance, $defaults );
$classes = '';
if( $instance['is_vertical'] != '' )
$classes = 'vertical';
else
$classes = 'horizontal';
if( $instance['is_small'] != '' )
$classes .= ' small';
else
$classes .= ' big';
$out = '
';
foreach($instance as $id => $icon) {
if(trim($icon) != '' && $id != 'is_vertical' & $id != 'is_small' & $id != 'title') {
$out .= ' ';
}
}
$out .= '
';
//print the widget for the sidebar
echo $before_widget;
if(trim($instance['title']) !== '') echo $before_title.esc_html($instance['title']).$after_title;
echo $out;
echo $after_widget;
}
function update( $new_instance, $old_instance ) {
// Save widget options
foreach ( $new_instance as $key => $instance ) {
if( $key == 'title' || $key == 'is_small' || $key == 'is_vertical' )
$new_instance[$key] = esc_html($new_instance[$key]);
else
$new_instance[$key] = esc_url_raw($new_instance[$key]);
}
return $new_instance;
}
function form( $instance ) {
// Output admin widget options form
// Set up some default widget settings.
$defaults = $this->get_defaults();
$instance = wp_parse_args( (array) $instance, $defaults );
$icons = $this->social_icons();
$instance = wp_parse_args( (array) $instance, $icons );
stainedglass_echo_input_text( $this, 'title', $instance, __( 'Title: ', 'stainedglass' ), 0);
stainedglass_echo_input_checkbox( $this, 'is_small', $instance, __( 'Small Icons.', 'stainedglass'));
stainedglass_echo_input_checkbox( $this, 'is_vertical', $instance, __( 'Vertical Icons.', 'stainedglass'));
foreach ($icons as $id => $icon) {
stainedglass_echo_input_text( $this, $id, $instance, $id);
}
}
function get_defaults() {
return array('title' => '',
'is_small' => '',
'is_vertical' => '',
);
}
function echo_input_text($name, $instance, $title, $show_mage = 1) { ?>
/>
'',
'twitter' => '',
'google' => '',
'wordpress' => '',
'blogger' => '',
'yahoo' => '',
'youtube' => '',
'myspace' => '',
'livejournal' => '',
'linkedin' => '',
'friendster' => '',
'friendfeed' => '',
'digg' => '',
'delicious' => '',
'aim' => '',
'ask' => '',
'buzz' => '',
'tumblr' => '',
'flickr' => '',
'rss' => '',
);
foreach ($icons as $id => $icon) {
$icons[$id] = get_theme_mod($id, '');
}
return $icons;
}
}
/* Register widget*/
function stainedglass_register_social_widgets() {
register_widget( 'stainedglass_SocialIcons' );
}
add_action( 'widgets_init', 'stainedglass_register_social_widgets' );