Function Reference: geodir_display_post_upgrade_link

Summary

This function has not been documented yet.

Source Code

function geodir_display_post_upgrade_link() {
	global $post, $preview; 
	
	if (!$preview) {
		if (is_user_logged_in() && $post->post_author == get_current_user_id()) {
			$post_id = $post->ID;
			$post_package_id = isset($post->package_id) ? $post->package_id : '';
			
			if (isset($_REQUEST['pid']) && $_REQUEST['pid'] != '') {
				$post_id = (int)$_REQUEST['pid'];
				
				if (empty($post_package_id))
					$post_package_id = geodir_get_post_meta($post_id, 'package_id', true);
			}
			
			$postlink = get_permalink(get_option('geodir_add_listing_page'));
			$editlink = geodir_getlink($postlink, array('pid' => $post_id), false);
			
			$post_status = get_post_status( $post_id );
			
			// show renew link before pre expiry days * 2
			$post_expire_date = isset($post->expire_date) ? $post->expire_date : '';
			$preexpiry_notice = false;
			
			if (get_option('geodir_listing_preexpiry_notice_disable') && get_option('geodir_listing_preexpiry_notice_days')!='' && $post_expire_date != '0000-00-00' && $post_expire_date != '' && geodir_strtolower($post_expire_date) != 'never' && strtotime($post_expire_date) > strtotime(date('01-01-1970'))) {
				$preexpiry_date = strtotime($post_expire_date) - (DAY_IN_SECONDS * get_option('geodir_listing_preexpiry_notice_days') * 2);
				$preexpiry_notice = $preexpiry_date <= strtotime(date('Y-m-d')) ? true : false;
			}
			
			$action_link = __('Upgrade Listing', 'geodir_payments');
			if ($post_status == 'draft' || $preexpiry_notice) {
				$action_link = __('Renew Listing', 'geodir_payments');
			} else {
				$package_info = geodir_get_package_info( $post_package_id );
				
				if ( !empty( $package_info ) && isset( $package_info->has_upgrades ) && !$package_info->has_upgrades ) {
					return;
				}
			}
	
			$upgradelink = geodir_getlink($editlink, array('package_id' => $post_package_id), false);  
			
			echo '';
		}
	}
}