File: /home/adventp/www/wp-content/themes/brooklyn/unite-custom/widgets/ut_flickr_widget.php
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
class WP_Widget_Flickr extends WP_Widget {
protected $slug = 'ut_flickr';
function __construct() {
$widget_ops = array('classname' => 'ut_widget_flickr', 'description' => __( 'Displays Flickr images by user or tags.', 'unitedthemes') );
parent::__construct('ut_flickr', __('United Themes - Flickrstream', 'unitedthemes'), $widget_ops);
$this->alt_option_name = 'ut_widget_flickr';
}
function form($instance) {
if ( $instance ) {
$title = esc_attr( $instance['title'] );
$flickr_public_values = !empty($instance['ut_flickr_public_values']) ? esc_attr( $instance['ut_flickr_public_values'] ) : '';
$flickr_limit = !empty($instance['ut_flickr_limit']) ? esc_attr( $instance['ut_flickr_limit'] ) : '';
if( !$flickr_limit ) $flickr_limit = 8;
} ?>
<p>
<label for="<?php echo esc_attr( $this->get_field_id('title') ); ?>"><?php _e('Title:', 'unitedthemes'); ?>
<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 isset($title) ? esc_attr( $title ) : ''; ?>" />
</label>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id('ut_flickr_public_values') ); ?>"><?php _e('Flickr ID:', 'unitedthemes'); ?></label>
<input id="<?php echo esc_attr( $this->get_field_id('ut_flickr_public_values') ); ?>" name="<?php echo esc_attr( $this->get_field_name('ut_flickr_public_values') ); ?>" type="text" value="<?php echo isset($flickr_public_values) ? esc_attr( $flickr_public_values ) : ''; ?>" />
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id('ut_flickr_limit') ); ?>"><?php _e('Limit:', 'unitedthemes'); ?></label>
<input id="<?php echo esc_attr( $this->get_field_id('ut_flickr_limit') ); ?>" name="<?php echo esc_attr( $this->get_field_name('ut_flickr_limit') ); ?>" size="1" type="text" value="<?php echo isset($flickr_limit) ? esc_attr( $flickr_limit ) : ''; ?>" />
</p>
<?php
}
function update($new_instance, $old_instance) {
return $new_instance;
}
function widget( $args, $instance ) {
extract( $args ); extract( $instance );
$title = apply_filters( $this->slug, $title );
if($title) { $title = $before_title.do_shortcode($title).$after_title; }
/* fallback values */
$ut_flickr_limit = empty($ut_flickr_limit) ? 5 : $ut_flickr_limit;
$ut_flickr_public_values = empty($ut_flickr_public_values) ? '60616902@N03' : $ut_flickr_public_values;
$var = rand();
echo ut_safe_output( $before_widget );
echo ut_safe_output( $title ).'
<script type="text/javascript">
(function($){
$(document).ready(function($) {
function add_flickr_item( data , itemID ) {
var pic = data.items[itemID];
var smallpic = pic.media.m.replace(\'_m.jpg\', \'_s.jpg\');
setTimeout(function () {
var item = $("<a title=\'" + pic.title + "\' href=\'" + pic.link + "\' target=\'_blank\'><img width=\"75px\" height=\"75px\" src=\'" + smallpic + "\' /></a>").hide().fadeIn(600 , "easeInOutExpo", function() {
$(this).parent().addClass("loaded");
});
$(".flickr_'.$var.'").find(".ut-flickr-item-"+itemID).append(item);
}, 100 * itemID )
}
$.getJSON("https://api.flickr.com/services/feeds/photos_public.gne?id='.$ut_flickr_public_values.'&format=json&jsoncallback=?", function(data) {
for (i=1; i <= '.$ut_flickr_limit.'; i++) {
add_flickr_item(data , i);
}
});
});
})(jQuery);
</script>
<ul class="flickr_items flickr_'.$var.' clearfix">';
for($i=1; $i<=$ut_flickr_limit; $i++ ) {
echo '<li class="ut-flickr-item ut-flickr-item-'.$i.'"></li>';
}
echo '</ul>';
echo ut_safe_output( $after_widget );
}
}