Function Reference: geodir_get_post_package_info_on_listing

Summary

This function has not been documented yet.

Source Code

function geodir_get_post_package_info_on_listing($info, $post, $post_type = ''){
	// if post is array convert to object
	if(!is_object($post) && !empty($post)){  $post = json_decode(json_encode($post), FALSE);}
		  
	$listing_type = isset($_REQUEST['listing_type']) ? $_REQUEST['listing_type'] : '';
	$package_id = '';

	if(!is_object($post) && isset($post['post_type']) && $post['post_type'] != '')
		$listing_type = $post['post_type'];
	
	if(is_object($post) && isset($post->ID) && isset($post->package_id)){
		$package_id = $post->package_id;
	}
		
	if(isset($_REQUEST['package_id'])){
		
		$package_id = $_REQUEST['package_id'];
		
	}elseif(isset($post->package_id) || ((isset($_REQUEST['post_type']) || isset($post->post_type)) && $package_id ) || (isset($post->ID) && $package_id = geodir_get_post_meta($post->ID,'package_id')) ){
		
		$listing_type = isset($post->post_type) ? $post->post_type : $listing_type;
		$package_id = isset($post->package_id) ? $post->package_id : $package_id;
		
	}elseif(($listing_type != '' && isset($post->pid) && $post->pid != '') || (isset($_REQUEST['pid']) && $_REQUEST['pid'] != '' && !isset($_REQUEST['post_type']))){
		
		$post_id = isset($post->pid) ? $post->pid : $_REQUEST['pid'];
		
		$package_id = geodir_get_post_meta($post_id,'package_id');
		
	}
	
	if(empty($package_id)){
		
		if(empty($listing_type))
			$listing_type = isset($post->post_type) ? $post->post_type : '';
		
		$all_postypes = geodir_get_posttypes();
		
		if($post_type != '' && in_array($post_type, $all_postypes))
			$listing_type = $post_type;
		
		$default_package = geodir_get_default_package($listing_type);
		
		if(!empty($default_package))
			$package_id = $default_package->pid;
		
	}
	
	return $info = geodir_get_package_info($package_id);

}