'widget_flickr',
'description' => esc_html__( 'Display your Flickr photos from your flickr account.', 'bloggers-lite' ),
);
parent::__construct( 'widget-flickr', 'S → ' . esc_html__( 'Flickr Photos', 'bloggers-lite' ), $widget_ops );
$this->alt_option_name = 'widget-flickr';
add_action( 'save_post', array( $this, 'flush_widget_cache1' ) );
add_action( 'deleted_post', array( $this, 'flush_widget_cache1' ) );
add_action( 'switch_theme', array( $this, 'flush_widget_cache1' ) );
}
/**
* Function to display flicker photos
*
* @since Bloggers Lite 1.0
* @param array $args arguments from sidebar.
* @param array $instance instance of widget.
* @return return html for front end display
*/
function widget( $args, $instance ) {
$cache = array();
if ( ! $this->is_preview() ) {
$cache = wp_cache_get( 'widget-flickr1', 'widget' );
}
if ( ! is_array( $cache ) ) {
$cache = array();
}
if ( ! isset( $args['widget_id'] ) ) {
$args['widget_id'] = $this->id;
}
if ( isset( $cache[ $args['widget_id'] ] ) ) {
echo $cache[ $args['widget_id'] ];
return;
}
ob_start();
extract( $args );
$before_widget = $args['before_widget'];
$before_title = $args['before_title'];
$after_title = $args['after_title'];
$after_widget = $args['after_widget'];
$flickr_title = ( ! empty( $instance['flickr_title'] ) ) ? apply_filters( 'widget_title', $instance['flickr_title'] ) : '';
$flickr_desc = ( ! empty( $instance['flickr_desc'] ) ) ? $instance['flickr_desc'] : '';
$flickr_id = ( ! empty( $instance['flickr_id'] ) ) ? $instance['flickr_id'] : '';
$flickr_link_text = ( ! empty( $instance['flickr_link_text'] ) ) ? $instance['flickr_link_text'] : esc_html__( 'View Stream On Flickr', 'bloggers-lite' );
$flickr_count = ( ! empty( $instance['flickr_count'] ) ) ? $instance['flickr_count'] : '6';
echo $before_widget;
?>
' . $flickr_desc . ''; ?>
array(
'count' => $flickr_count,
'display' => 'latest',
'size' => 's',
'layout' => 'x',
'source' => 'user',
'user' => $flickr_id,
),
)
);
if ( is_wp_error( $response ) ) {
echo 'Error - ' . $response->get_error_message();
} else {
$body = wp_remote_retrieve_body( $response );
$dom = new DOMDocument( '1.0', 'utf-8' );
libxml_use_internal_errors( true );
$dom->loadHTML( $body );
$divs = $dom->getElementsByTagName( 'div' );
$New_doc = new DOMDocument();
foreach ( $divs as $div ) {
$n_div = $New_doc->createElement( 'div' );
$n_div->setAttribute( 'id', $div->getAttribute( 'id' ) );
$n_div->setAttribute( 'class', $div->getAttribute( 'class' ) );
$n_div->appendChild( $New_doc->importNode( $div->firstChild, true ) );
$New_doc->appendChild( $n_div );
}
$f_photos = $New_doc->SaveHTML();
echo $f_photos;
}
?>
' . $flickr_link_text . '';
echo $after_widget;
if ( ! $this->is_preview() ) {
wp_cache_set( 'widget-flickr1', $cache, 'widget' );
} else {
ob_end_flush();
}
}
/**
* @since Bloggers Lite 1.0
* @param array $new_instance updated array
* @param array $old_instance old array
* @return array $instance instance with new value
*/
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['flickr_title'] = strip_tags( $new_instance['flickr_title'] );
$instance['flickr_desc'] = strip_tags( $new_instance['flickr_desc'] );
$instance['flickr_id'] = strip_tags( $new_instance['flickr_id'] );
$instance['flickr_link_text'] = strip_tags( $new_instance['flickr_link_text'] );
$instance['flickr_count'] = strip_tags( $new_instance['flickr_count'] );
$this->flush_widget_cache1();
$alloptions = wp_cache_get( 'alloptions', 'options' );
if ( isset( $alloptions['widget-flickr'] ) ) {
delete_option( 'widget-flickr' );
}
return $instance;
}
function flush_widget_cache1() {
wp_cache_delete( 'widget-flickr1', 'widget' );
}
/**
* @since Bloggers Lite 1.0
* @param array $instance instance of widget
* @return html return html for admin side display
*/
function form( $instance ) {
$flickr_title = isset( $instance['flickr_title'] ) ? esc_attr( $instance['flickr_title'] ) : '';
$flickr_desc = isset( $instance['flickr_desc'] ) ? esc_attr( $instance['flickr_desc'] ) : '';
$flickr_id = isset( $instance['flickr_id'] ) ? esc_attr( $instance['flickr_id'] ) : '';
$flickr_link_text = isset( $instance['flickr_link_text'] ) ? esc_attr( $instance['flickr_link_text'] ) : esc_html__( 'View Stream On Flickr', 'bloggers-lite' );
$flickr_count = isset( $instance['flickr_count'] ) ? esc_attr( $instance['flickr_count'] ) : '';
?>