????

Your IP : 216.73.216.174


Current Path : /home2/morganrand/www/wp-content/plugins/pinwheel-slider/includes/addons/
Upload File :
Current File : /home2/morganrand/www/wp-content/plugins/pinwheel-slider/includes/addons/taxonomy.php

<?php /* Custom Taxonomy Template tag and Shortcode */
//For displaying taxonomy specific posts in chronologically reverse order
function pinwheel_carousel_posts_on_slider_taxonomy($max_posts='5', $post_type='post', $taxonomy='category', $term='', $offset=0, $out_echo = '1', $set='', $show='', $operator='',$data=array() ,$query='' ) {
    	$r_array=array();
	$default_pinwheel_slider_settings=get_pinwheel_slider_default_settings();
	$pinwheel_slider_options='pinwheel_slider_options'.$set;
	$pinwheel_slider_curr=get_option($pinwheel_slider_options);
	$pinwheel_slider = get_option('pinwheel_slider_options');
	if(!isset($pinwheel_slider_curr) or !is_array($pinwheel_slider_curr) or empty($pinwheel_slider_curr)){$pinwheel_slider_curr=$pinwheel_slider;$set='';}
	$pinwheel_slider_curr= populate_pinwheel_current($pinwheel_slider_curr);
	global $wpdb, $table_prefix;	
	$rand = $pinwheel_slider_curr['rand'];
	if(isset($rand) and $rand=='1'){
		$orderby = 'rand';
	}
	else {
		$orderby = 'date';
	}
	if(isset($data['author']) and $data['author'] !='' )$author=$data['author'];
	else $author='0';
	
	//$show introduced in version 1.0.1
	if( $show == 'per_tax' and $term ){
		$posts=array();$j=0;
		foreach($term as $term_slug){
			$args=array(
					'numberposts'		=> '1',
					'offset'		=> $offset,
					'orderby'		=> $orderby,
					'post_type'		=> $post_type,
					'post_status'		=> 'publish',
					'author'		=> $author,
					'tax_query'		=> array( array('taxonomy' => $taxonomy,'field' => 'slug','terms' => $term_slug	) )
				);
			//filter hook
			$args=apply_filters('pinwheel_svtaxonomy_args',$args);
			$posts_arr=get_posts( $args );
			$posts[]=$posts_arr[0];
			$j++;
			if( $j == $max_posts ){
				break;
			}
		}
	}
	else{
		if(!empty($query)) {
				//decode the json encoded string into array for $query introduced in v1.2 for multiple taxonomy 
				$query = str_replace("(", "[", $query);
				$query = str_replace(")", "]", $query);
				$qarr=json_decode($query, true);	//query attribute in shortcode/template tag to mention multiple taxanomies
				$taxarray = $qarr['tax'];
				$taxarray['relation'] = $qarr['relation'];
				//extract the posts
				$args=array(
						'numberposts'     => $max_posts,
						'offset'          => $offset,
						'orderby'		  => $orderby,
						'post_type'       => $post_type,
						'post_status'     => 'publish',
						'author'		  => $author,
						'tax_query' => $taxarray
					);
				//filter hook
				$args=apply_filters('pinwheel_svtaxonomy_args',$args);
				$posts = get_posts( $args );
			}	
			
			else if( (!is_array($term) and !empty($term)) or (is_array($term) and count($term) > 0) ) {
				$tax_query_array=array('taxonomy' => $taxonomy,'field' => 'slug','terms' => $term	);
				if( !empty($operator) ){
					$tax_query_array['operator']=$operator;
				}
				//extract the posts
				$args=array(
						'numberposts'     => $max_posts,
						'offset'          => $offset,
						'orderby'	  => $orderby,
						'post_type'       => $post_type,
						'post_status'     => 'publish',
						'author'	  => $author,
						'tax_query'	  => array( $tax_query_array )
					);
				//filter hook
				$args=apply_filters('pinwheel_svtaxonomy_args',$args);
				$posts = get_posts( $args );
			}
			else{
				//extract the posts
				$args=array(
						'numberposts'     => $max_posts,
						'offset'          => $offset,
						'orderby' 	  => $orderby,
						'post_type'       => $post_type,
						'post_status'     => 'publish',
						'author'	  => $author
					);
				//filter hook
				$args=apply_filters('pinwheel_svtaxonomy_args',$args);
				$posts = get_posts( $args );
			}
	} //$show ends

	$r_array=pinwheel_global_posts_processor( $posts, $pinwheel_slider_curr, $out_echo,$set,$data );
	return $r_array;
}

function get_pinwheel_slider_taxonomy($args='') {
    	$defaults=array('post_type'=>'post', 'taxonomy'=>'category','term'=>'', 'set'=>'', 'offset'=>0, 'show'=>'', 'operator'=>'','data'=>array(),  'query'=>'' );
	$args = wp_parse_args( $args, $defaults );
	extract( $args );
	$default_pinwheel_slider_settings=get_pinwheel_slider_default_settings();
	// If setting set is 1 then set to blank	
	if($set == '1') $set = '';
	$pinwheel_slider_options='pinwheel_slider_options'.$set;
	$pinwheel_slider_curr=get_option($pinwheel_slider_options);
	$pinwheel_slider = get_option('pinwheel_slider_options');
	if(!isset($pinwheel_slider_curr) or !is_array($pinwheel_slider_curr) or empty($pinwheel_slider_curr)){$pinwheel_slider_curr=$pinwheel_slider;$set='';}
	$pinwheel_slider_curr= populate_pinwheel_current($pinwheel_slider_curr);
	$handle_string='';
	if(!empty($term))$handle_string='_t'.str_replace(',','_',$term);
	if(isset($data['author']) and $data['author'] != '' )$author=$data['author'];
	else $author='0';
	// pass type in case of ecom slider
	if($taxonomy=='wpsc_product_category') $data['type'] = 'ecom';

	$handle_string.=(($author!='0')?('_a'.str_replace(',','_',$author)):'');
	if(!empty($term))$term=explode(',',$term);
	$slider_handle='pinwheel_slider'.$handle_string;
	$r_array = pinwheel_carousel_posts_on_slider_taxonomy($pinwheel_slider_curr['no_posts'], $post_type, $taxonomy, $term, $offset, '0', $set, $show, $operator,$data, $query); 
	get_global_pinwheel_slider($slider_handle,$r_array,$pinwheel_slider_curr,$set,'1',$data);
} 

function return_pinwheel_slider_taxonomy($post_type='post', $taxonomy='category', $term='', $set='', $offset=0,$show='', $operator='',$data=array(), $query='') {
	$slider_html='';
	$default_pinwheel_slider_settings=get_pinwheel_slider_default_settings();
	// If setting set is 1 then set to blank	
	if($set == '1') $set = '';

	$pinwheel_slider_options='pinwheel_slider_options'.$set;
	$pinwheel_slider_curr=get_option($pinwheel_slider_options);
	$pinwheel_slider = get_option('pinwheel_slider_options');
	if(!isset($pinwheel_slider_curr) or !is_array($pinwheel_slider_curr) or empty($pinwheel_slider_curr)){$pinwheel_slider_curr=$pinwheel_slider;$set='';}
	$pinwheel_slider_curr= populate_pinwheel_current($pinwheel_slider_curr);
	$handle_string='';
	if(!empty($term))$handle_string='_t'.str_replace(',','_',$term);
	if(isset($data['author']) and $data['author'] != '' )$author=$data['author'];
	else $author='0';
	$handle_string.=(($author!='0')?('_a'.str_replace(',','_',$author)):'');
	if(!empty($term))$term=explode(',',$term);
	$slider_handle='pinwheel_slider'.$handle_string;
	$data['slider_handle']=$slider_handle;
	// pass type in case of ecom slider
	if($taxonomy=='wpsc_product_category') $data['type'] = 'ecom';

	$r_array = pinwheel_carousel_posts_on_slider_taxonomy($pinwheel_slider_curr['no_posts'], $post_type, $taxonomy, $term, $offset, '0', $set, $show, $operator,$data, $query); 
	//get slider 
	$output_function='return_global_pinwheel_slider';
	$slider_html=$output_function($slider_handle,$r_array,$pinwheel_slider_curr,$set,$data);

	return $slider_html;
}

function pinwheel_slider_taxonomy_shortcode($atts) {

	extract(shortcode_atts(array(
		'post_type'=>'post', 
		'taxonomy'=>'category',
		'term' => '',
		'set' => '',
		'offset'=>'0',
		'show'=>'',
		'operator'=>'',
		'author'=>'',
		'query'=>'',
	), $atts));
	$data=array();
	$data['author']=$author;
	return return_pinwheel_slider_taxonomy($post_type,$taxonomy,$term,$set,$offset,$show,$operator,$data,$query);
}
add_shortcode('pinwheeltaxonomy', 'pinwheel_slider_taxonomy_shortcode');
?>