<?php   
/* 
Plugin Name: Sidebar latest news
Description: Sidebar latest news from category.
Version: 1.0 
Author: Stefan Naumovski 
*/    

add_action( 'widgets_init', 'featured_posts_widget_medium' );

function featured_posts_widget_medium() {register_widget( 'featured_posts_medium' );}

class featured_posts_medium extends WP_Widget {
	
	/* Register widget with WordPress. */
	
	function __construct() {
		parent::__construct(
			'sidebar_latest_news_tn', // Widget ID
			'One column category', // Name
			array( 'description' =>'One column featured category - your latest posts from a selected category', ) // Args
			);}
		
		/* Front-end display of widget. */
		
		public function widget( $args, $instance ) {
			$title = apply_filters( 'widget_title', $instance['title'] );
			$categories = $instance['categories'];
			$number = $instance['number'];
			$smalltmb = $instance['smalltmb'];
			
			echo $args['before_widget'];
			if ( ! empty( $title ) ){
				echo $args['before_title'] . $title . $args['after_title'];}
				elseif( empty( $title ) ){echo '<span class="sidebar-title-line"></span>';}
			?>
			
<div class="one-column-category">
	<ul class="featured-posts-category-small">
	<?php $tn_posts = new WP_Query(array( 'cat' => $categories, 'posts_per_page' => 1, 'ignore_sticky_posts' => 1 )); while ( $tn_posts->have_posts()) : $tn_posts->the_post(); ?>
		<li>
			<div class="small-featured-posts-image">
			<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) { ?>
			<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail('small-thumb'); ?></a>
			<?php } ?>
            </div><!--small-featured-posts-image-->
				<div class="small-featured-posts-text">
				<span class="category-sidebar-news"><?php $category = get_the_category(); if($category[0]){echo '<a href="'.get_category_link($category[0]->term_id ).'">'.$category[0]->cat_name.'</a>';} ?></span>
					<div class="small-featured-posts-title"><h2><a href="<?php the_permalink() ?>" class="small-featured-posts-title"><?php the_title(); ?></a></h2>
                    </div><!--small-featured-posts-title-->
                    <span class="tiny-date">Posted <?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?></span>
				</div><!--small-featured-posts-text-->
		</li>
	<?php endwhile; ?>
	</ul>
    
	<?php if($smalltmb) { ?>	
	<ul class="featured-posts-category-tiny">
	<?php $tn_posts = new WP_Query(array( 'cat' => $categories, 'posts_per_page' => $number, 'offset' => 1, 'ignore_sticky_posts' => 1)); while ( $tn_posts->have_posts()) : $tn_posts->the_post(); ?>
		<li>
			<div class="tiny-featured-posts-image">
			<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) { ?>
			<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail('tiny-thumb'); ?></a>
			<?php } ?>
			</div><!--tiny-featured-posts-image-->
			<div class="tiny-featured-posts-text">
           		<span class="post-arrow"><?php echo get_option('tn_sign_before_link'); ?></span>
				<h2><a href="<?php the_permalink() ?>" class="tiny-featured-posts-title"><?php the_title(); ?></a>
                 <span class="tiny-date">Posted <?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?></span>
                 </h2>
			</div><!--tiny-featured-posts-text-->
		</li>
		<?php endwhile; ?>
	</ul>
	<?php } ?>
</div><!--featured-category-medium-->

	<?php

	/* After widget. */
	
	echo $args['after_widget'];
	}


	/* Widget settings. */


	function update( $new_instance, $old_instance ) {
		$instance = $old_instance;
		
	/* Strip tags. */
		
		$instance['title'] = strip_tags( $new_instance['title'] );
		$instance['number'] = strip_tags( $new_instance['number'] );
		$instance['smalltmb'] = $new_instance['smalltmb'];
		$instance['categories'] = $new_instance['categories'];
		
		return $instance;
	}
	
	
	function form( $instance ) {
		
	/* Default widget settings. */
		
		$defaults = array( 'title' => 'One column category', 'number' => 5, 'smalltmb' => 'on');
		$instance = wp_parse_args( (array) $instance, $defaults ); ?>
	
		<!-- Widget Title-->
		<p>
			<label for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label>
			<input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:90%;" />
		</p>
			
		<!-- Category -->
		<p>
			<label for="<?php echo $this->get_field_id('categories'); ?>">(Optional)Select Category:</label>
			<select id="<?php echo $this->get_field_id('categories'); ?>" name="<?php echo $this->get_field_name('categories'); ?>" style="width:100%;">
				<option value='all' <?php if ('all' == (isset($instance['categories']))) echo 'selected="selected"'; ?>>All Categories</option>
				<?php $categories = get_categories('hide_empty=0&depth=1&type=post'); ?>
				<?php foreach($categories as $category) { ?>
				<option value='<?php echo $category->term_id; ?>' <?php if(isset($instance['categories'])){ if ($category->term_id == $instance['categories']) echo 'selected="selected"';}?>><?php echo $category->cat_name; ?></option>
				<?php } ?>
			</select>
		</p>
						
		<!-- Small thumbs -->
		<p>
			<label for="<?php echo $this->get_field_id( 'smalltmb' ); ?>">Show small thumbnail posts:</label>
			<input type="checkbox" id="<?php echo $this->get_field_id( 'smalltmb' ); ?>" name="<?php echo $this->get_field_name( 'smalltmb' ); ?>" <?php checked( (bool) $instance['smalltmb'], true ); ?> />
		</p>	
				
		<!-- Number of posts -->
		<p>
			<label for="<?php echo $this->get_field_id( 'number' ); ?>">Number of small thumbnail posts to show:</label>
			<input id="<?php echo $this->get_field_id( 'number' ); ?>" name="<?php echo $this->get_field_name( 'number' ); ?>" value="<?php echo $instance['number']; ?>" size="3" />
		</p>
    
<?php }} ?>