HEX
Server: LiteSpeed
System: Linux premium221.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: madepabj (2566)
PHP: 8.3.26
Disabled: NONE
Upload Files
File: //home/madepabj/public_html/wp-content/themes/rehub-theme/functions/affiliate_functions.php
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
<?php


if( !function_exists('rehub_get_woo_offer') ) {
function rehub_get_woo_offer($review_woo_link, $title_tag='h3'){
	?>
	<?php $review_woo_link = trim($review_woo_link);?>
	<?php global $woocommerce; if($woocommerce && $review_woo_link) :?>
		<?php
			$args = array(
				'post_type' 		=> 'product',
				'posts_per_page' 	=> 1,
				'no_found_rows' 	=> 1,
				'post_status' 		=> 'publish',
				'p'					=> $review_woo_link,

			);
		?>
		<?php wp_enqueue_script('rhwootabs', get_template_directory_uri() . '/js/wootabs.js', array('jquery'), '1.0', true);?>
		<?php $products = new WP_Query( $args ); if ( $products->have_posts() ) : ?>
    		<?php while ( $products->have_posts() ) : $products->the_post(); global $product; ?>
    			<?php $random_key = rand(0, 100);?>
				<?php $offer_price = $product->get_price_html() ?>
	            <?php $woolink = ($product->get_type() =='external' && $product->add_to_cart_url() !='') ? $product->add_to_cart_url() : get_post_permalink($review_woo_link) ;?>
	            <?php $offer_title = $product->get_title(); $woo_aff_links_inreview = '' ?>
	            <?php $attributes = $product->get_attributes();  ?>
	            <?php if(rehub_option('rehub_btn_text') !='') :?><?php $btn_txt = rehub_option('rehub_btn_text') ; ?><?php else :?><?php $btn_txt = esc_html__('Buy It Now', 'rehub-theme') ;?><?php endif ;?>
	            <?php $gallery_images = $product->get_gallery_image_ids(); ?>
	            <?php if (defined('\ContentEgg\PLUGIN_PATH')) :?>
	            	<?php $itemsync = \ContentEgg\application\WooIntegrator::getSyncItem($review_woo_link);?>
	            	<?php if(!empty($itemsync)){$woo_aff_links_inreview = 1;}?>
	            <?php endif;?>
	            <?php $offer_coupon = get_post_meta( $review_woo_link, 'rehub_woo_coupon_code', true ) ?>
	            <?php $offer_coupon_date = get_post_meta( $review_woo_link, 'rehub_woo_coupon_date', true ) ?>
	            <?php $offer_coupon_mask = get_post_meta( $review_woo_link, 'rehub_woo_coupon_mask', true ) ?>
	            <?php $offer_coupon_url = esc_url( $product->add_to_cart_url() ); ?>
	            <?php $post_image_videos = get_post_meta( $review_woo_link, 'rh_product_video', true ); ?>
	            <?php $coupon_style = $expired = ''; if(!empty($offer_coupon_date)) : ?>
					<?php
					$timestamp1 = strtotime($offer_coupon_date);
					if(strpos($offer_coupon_date, ':') ===false){
						$timestamp1 += 86399;
					}
					$seconds = $timestamp1 - (int)current_time('timestamp',0);
					$days = floor($seconds / 86400);
					$seconds %= 86400;
					if ($days > 0) {
					  $coupon_text = $days.' '.__('days left', 'rehub-theme');
					  $coupon_style = '';
					  $expired = 'no';
					}
					elseif ($days == 0){
					  $coupon_text = esc_html__('Last day', 'rehub-theme');
					  $coupon_style = '';
					  $expired = 'no';
					}
					else {
					  $coupon_text = esc_html__('Expired', 'rehub-theme');
					  $coupon_style = 'expired_coupon';
					  $expired = '1';
					}
					?>
	          	<?php endif ;?>
				<?php $coupon_mask_enabled = (!empty($offer_coupon) && ($offer_coupon_mask =='1' || $offer_coupon_mask =='on') && $expired!='1') ? '1' : ''; ?>
				<?php $reveal_enabled = ($coupon_mask_enabled =='1') ? ' reveal_enabled' : '';?>
				<?php $outsidelinkpart = ($coupon_mask_enabled=='1') ? ' data-codeid="'.$review_woo_link.'" data-dest="'.$offer_coupon_url.'" data-clipboard-text="'.$offer_coupon.'" class="masked_coupon"' : '';?>									            
    			<div class="rehub_woo_review clearbox woocommerce">
    				<?php if (!empty ($attributes) || !empty ($gallery_images) || !empty ($woo_aff_links_inreview)) :?>
    					<ul class="rehub_woo_tabs_menu">
				            <li><?php esc_html_e('Product', 'rehub-theme') ?></li>
				            <?php if (!empty ($attributes)) :?><li><?php esc_html_e('Specification', 'rehub-theme') ?></li><?php endif ;?>
				            <?php if (!empty ($gallery_images)) :?><li><?php esc_html_e('Photos', 'rehub-theme') ?></li><?php endif ;?>
				            <?php if (!empty ($post_image_videos)) :?><li><?php esc_html_e('Videos', 'rehub-theme') ?></li><?php endif ;?>				            
				            <?php if (!empty ($woo_aff_links_inreview)) :?><li class='woo_deals_tab'><?php esc_html_e('Deals', 'rehub-theme') ?></li><?php endif ;?>
						</ul>
						<?php endif ;?>
						<div class="rehub_feat_block rh_actions_padd <?php echo ''.$reveal_enabled.$coupon_style;?>">
							<div class="rehub_woo_review_tabs">								
					            <div class="rh_grid_image_3_col">			            
						            <div class="rh_gr_img_first offer_thumb width-150 rh-flex-center-align rh-flex-justify-center mr0 ml0 mb0 mt0">
						            	<a href="<?php echo esc_url($woolink) ;?>" target="_blank" rel="nofollow" class="re_track_btn">
											<?php echo WPSM_image_resizer::show_wp_image('woocommerce_thumbnail'); ?>
						            	</a>
						            </div>
									<div class="rh_gr_top_middle">										
						            	<<?php echo ''.$title_tag?> class="font115 mb15 mt0 mobfont110 lineheight25"><a href="<?php echo esc_url($woolink) ;?>" target="_blank" rel="nofollow" class="re_track_btn"><?php echo rh_expired_or_not($product->get_id(), 'span');?><?php echo esc_attr($offer_title) ;?></a></<?php echo ''.$title_tag?>>
						                <?php $loop_code_zone = rehub_option('woo_code_zone_loop');?>        
						                <?php if ($loop_code_zone):?>
						                    <div class="woo_code_zone_loop mb10">
						                        <?php echo do_shortcode($loop_code_zone);?>
						                    </div>
						                <?php endif;?>						            	
						                <?php if ($product->get_price() !='') : ?>
						                <?php echo '<span class="pricefont110 rehub-main-color mobpricefont90 fontbold mb10 mr10 lineheight20 floatleft"><span class="price">'.$product->get_price_html().'</span></span>';?>
						                <?php endif ;?>
						                <?php 
						                    if($product->is_on_sale() && $product->get_regular_price() && $product->get_price() > 0 && !$product->is_type( 'variable' )){
						                        $offer_price_calc = (float) $product->get_price();
						                        $offer_price_old_calc = (float) $product->get_regular_price();
						                        $sale_proc = 0 -(100 - ($offer_price_calc / $offer_price_old_calc) * 100); 
						                        $sale_proc = round($sale_proc);
						                        echo '<span class="rh-label-string mr10 mb5 floatleft">'.$sale_proc.'%</span>';
						                    }

						                ?>                                             
						                <div class="clearfix"></div>						            	
						            </div>
							        <div class="rh_gr_middle_desc font80 lineheight20">
							            <?php kama_excerpt('maxchar=150&save_tags=<ul><li>'); ?>
										<div class="woo-button-actions-area tabletblockdisplay pt5 border-top mt15">
											<?php $wishlistadd = esc_html__('Add to wishlist', 'rehub-theme');?>
											<?php $wishlistadded = esc_html__('Added to wishlist', 'rehub-theme');?>
											<?php $wishlistremoved = esc_html__('Removed from wishlist', 'rehub-theme');?>
											<?php echo RH_get_wishlist($review_woo_link, $wishlistadd, $wishlistadded, $wishlistremoved);?>
											<?php if(rehub_option('compare_page') || rehub_option('compare_multicats_textarea')) :?>           
												<?php 
													$cmp_btn_args = array(); 
													$cmp_btn_args['class']= 'rhwoosinglecompare';
													if(rehub_option('compare_woo_cats') != '') {
														$cmp_btn_args['woocats'] = esc_html(rehub_option('compare_woo_cats'));
													}
												?>                                                  
												<?php echo wpsm_comparison_button($cmp_btn_args); ?> 
											<?php endif;?>                      
										</div> 
							        </div> 					            
						            <div class="rh_gr_btn_block">					            	
							            <div class="priced_block clearfix">
							                <div>
							                	<?php if ($product->get_type() =='external' && $product->add_to_cart_url() ==''  && !empty ($woo_aff_links_inreview)) :?>
							                		<a class='btn_offer_block choose_offer_woo' href="#"><?php esc_html_e('Check Deals', 'rehub-theme') ;?></a>
							                	<?php else :?>

								                    <?php if ( $product->is_in_stock() &&  $product->add_to_cart_url() !='') : ?>
								                        <?php  echo apply_filters( 'woocommerce_loop_add_to_cart_link',
								                            sprintf( '<a href="%s" data-product_id="%s" data-product_sku="%s" class="re_track_btn woo_loop_btn btn_offer_block %s %s product_type_%s"%s%s>%s</a>',
								                            esc_url( $product->add_to_cart_url() ),
								                            esc_attr( $review_woo_link ),
								                            esc_attr( $product->get_sku() ),
								                            $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
								                            $product->supports( 'ajax_add_to_cart' ) ? 'ajax_add_to_cart' : '',
								                            esc_attr( $product->get_type() ),
								                            $product->get_type() =='external' ? ' target="_blank"' : '',
								                            $product->get_type() =='external' ? ' rel="nofollow"' : '',
								                            esc_html( $product->add_to_cart_text() )
								                            ),
								                        $product );?>
								                    <?php endif; ?> 

								                    <?php if ($coupon_mask_enabled =='1') :?>
								                        <?php wp_enqueue_script('zeroclipboard'); ?>                
								                        <a class="woo_loop_btn coupon_btn re_track_btn btn_offer_block rehub_offer_coupon masked_coupon <?php if(!empty($offer_coupon_date)) {echo ''.$coupon_style ;} ?>" href="<?php echo esc_url($woolink); ?>"<?php if ($product->get_type() =='external'){echo ' target="_blank" rel="nofollow"'; echo ''.$outsidelinkpart; } ?>>
								                            <?php if(rehub_option('rehub_mask_text') !='') :?><?php echo rehub_option('rehub_mask_text') ; ?><?php else :?><?php esc_html_e('Reveal coupon', 'rehub-theme') ?><?php endif ;?>
								                        </a>
								                    <?php else :?> 
								                        <?php if(!empty($offer_coupon)) : ?>
								                            <?php wp_enqueue_script('zeroclipboard'); ?>
								                            <div class="rehub_offer_coupon not_masked_coupon <?php if(!empty($offer_coupon_date)) {echo ''.$coupon_style ;} ?>" data-clipboard-text="<?php echo esc_html($offer_coupon) ?>">
								                                <i class="rhicon rhi-scissors fa-rotate-180"></i>
								                                <span class="coupon_text"><?php echo esc_html($offer_coupon) ?></span>
								                            </div>
								                        <?php endif ;?>                                               
								                    <?php endif;?>
								                    <?php if(!empty($offer_coupon_date)) {echo '<div class="time_offer">'.$coupon_text.'</div>';} ?>
		            							<?php endif; ?>
							                </div>
							            </div>
								        <div class="brand_logo_small">       
								        	<?php WPSM_Woohelper::re_show_brand_tax('list'); //show brand taxonomy?>
								        </div>
						            </div>
				        		</div>
			        		</div>
			        		<?php if (!empty ($attributes)) :?>
					        	<div class="rehub_woo_review_tabs">
					     			<div><?php wc_display_product_attributes($product) ;?></div>

					        	</div>
				        	<?php endif ;?>
			        		<?php if (!empty ($gallery_images)) :?>
			        			<?php wp_enqueue_script('modulobox'); wp_enqueue_style('modulobox');?>
					        	<div class="rehub_woo_review_tabs pretty_woo modulo-lightbox">
	                                <?php foreach($gallery_images as $key=>$image_gallery):?>
	                                    <?php if(!$image_gallery) continue;?>
	                                    <a data-rel="rhwoobox_<?php echo ''.$random_key;?>" data-thumb="<?php echo wp_get_attachment_url($image_gallery);?>" href="<?php echo wp_get_attachment_url($image_gallery);?>" target="_blank" class="mb10" data-title="<?php echo esc_attr(get_post_field( 'post_excerpt', $image_gallery));?>"> 
	                                        <?php WPSM_image_resizer::show_static_resized_image(array('lazy'=>false, 'src'=> wp_get_attachment_url($image_gallery), 'crop'=> false, 'height'=> 60));?>
	                                    </a>                               
	                                <?php endforeach;?>
					        	</div>
				        	<?php endif ;?>
				            <?php if (!empty ($post_image_videos)) :?>
				            	<div class="rehub_woo_review_tabs">
				            		<?php woo_custom_video_output('class=rh-flex-center-align mb10 rh_videothumb_link&title=no');?>
				            	</div>
				            <?php endif ;?>				        	
				        	<?php if (!empty ($woo_aff_links_inreview)) :?>
				        		<div class="rehub_woo_review_tabs">
									<?php echo do_shortcode('[content-egg-block template=custom/all_offers_logo post_id="'.$review_woo_link.'"]' );?>
				        		</div>
				        	<?php endif ;?>
		        		</div>
		        </div>
		        <div class="clearfix"></div>	        

    		<?php endwhile; endif;  wp_reset_query(); ?>

	<?php endif ;?>
	<?php
}
}

if( !function_exists('rehub_get_woo_list') ) {
function rehub_get_woo_list( $data_source = '', $type ='', $cat = '', $tag = '', $ids = '', $orderby = '', $order = '', $show = '', $show_coupons_only = ''){
?>
<?php $arg_array = array(
    'data_source' => $data_source,
    'type' => $type,
    'cat' => $cat,
    'tag'=> $tag,
    'ids'=> $ids,
    'orderby' => $orderby,
    'order' => $order,
    'show' => $show,
);?>
<?php echo wpsm_woolist_shortcode($arg_array);?>
<?php
}
}


/*-----------------------------------------------------------------------------------*/
# 	Main Offer Button creating
/*-----------------------------------------------------------------------------------*/

if( !function_exists('rehub_create_btn') ) { //Backward compatibility for old function
function rehub_create_btn ($btn_more='', $showme = '', $am_tag = '', $timer = '') {
	$args =  array(
		'btn_more' => $btn_more,
		'showme' => $showme,
		'am_tag' => $am_tag,
		'timer' => $timer,						
	);
	rehub_generate_offerbtn($args);
}
}


if( !function_exists('rehub_generate_offerbtn') ) {
function rehub_generate_offerbtn($args) {

	$defaults = array(
		'btn_more' => '',
		'showme' => '',
		'am_tag' => '',
		'timer' => '',
		'wrapperclass' => '',
		'coupon' => '1',
		'updateclean'=> '',
		'postId' => ''					
	);
	$args = wp_parse_args( $args, $defaults );
	extract( $args, EXTR_SKIP );
	if($postId){
		 $post_id = $postId;
	}else{
		global $post;
		$post_id = $post->ID;
	}
	

	?>
		<?php
			$offer_url = $offer_btn_text = $offer_coupon = $offer_coupon_date = $offer_coupon_mask = $offer_price_old = $coupon_style = '';
			$offer_url_exist = get_post_meta( $post_id, 'rehub_offer_product_url', true );
			$offer_url = apply_filters('rehub_create_btn_url', $offer_url_exist);
			$offer_url = apply_filters('rh_post_offer_url_filter', $offer_url);			
		 	$offer_price = get_post_meta( $post_id, 'rehub_offer_product_price', true );
			$offer_price = apply_filters('rehub_create_btn_price', $offer_price);					 			
		?>
		<?php if ($offer_url_exist) : ?>
			<?php
			 	$offer_btn_text = get_post_meta( $post_id, 'rehub_offer_btn_text', true );			 	
			 	$offer_coupon = get_post_meta( $post_id, 'rehub_offer_product_coupon', true );
			 	$offer_coupon_date = get_post_meta( $post_id, 'rehub_offer_coupon_date', true );
			 	$offer_coupon_mask = get_post_meta( $post_id, 'rehub_offer_coupon_mask', true );
			?>
			<?php $coupon_style = $expired = ''; if(!empty($offer_coupon_date)) : ?>
				<?php
					$timestamp1 = strtotime($offer_coupon_date);
					if(strpos($offer_coupon_date, ':') ===false){
						$timestamp1 += 86399;
					}
					$seconds = $timestamp1 - (int)current_time('timestamp',0);
					$days = floor($seconds / 86400);
					$seconds %= 86400;
	        		if ($days > 0) {
	        			$coupon_style = '';
	        			$expired = 'no';
	        		}
	        		elseif ($days == 0){
	        			$coupon_style = '';
	        			$expired = 'no';
	        		}
	        		else {
	        			$coupon_text = esc_html__('Expired', 'rehub-theme');
	        			$coupon_style = ' expired_coupon';
	        			$expired = '1';
	        		}
				?>
			<?php endif ;?>
			<?php do_action('post_change_expired', $expired); //Here we update our expired?>			
		<?php endif;?>
		<?php if ($offer_price) : ?>
			<?php
		 		$offer_price_old = get_post_meta( $post_id, 'rehub_offer_product_price_old', true );
		 		$offer_price_old = apply_filters('rehub_create_btn_price_old', $offer_price_old);	
			?>
		<?php endif;?>

		<?php $coupon_mask_enabled = (!empty($offer_coupon) && ($offer_coupon_mask =='1' || $offer_coupon_mask =='on') && $expired!='1') ? '1' : ''; ?> 
		<?php $reveal_enabled = ($coupon_mask_enabled =='1') ? ' reveal_enabled' : '';?>
		<?php if ($offer_price || ($offer_url && $showme !='price')) :?>
	        <div class="priced_block clearfix <?php echo ''.$reveal_enabled; echo ''.$coupon_style; ?> <?php echo esc_html($wrapperclass);?>">
	            <?php if($timer && !empty($offer_coupon_date) && $expired !=1) {
	                echo '<div class="gridcountdown mb10 mt0 mr0 ml0">';
						$year = date('Y',$timestamp1);
						$month = date('m',$timestamp1);
						$day  = date('d',$timestamp1); 
						$hour  = date('H',$timestamp1); 
						$minute  = date('i',$timestamp1); 
						echo wpsm_countdown(array('year'=> $year, 'month'=>$month, 'day'=>$day, 'minute'=>$minute, 'hour'=>$hour));
	                echo '</div>';
	            } ?>  	        	
	            <?php if($offer_price && $showme !='button') : ?>
	            	<span class="rh_price_wrapper">
	            		<span class="price_count">
	            			<span class="rh_regular_price"><?php echo esc_html($offer_price) ?></span>
	            			<?php if($offer_price_old !='' && $offer_price_old !=$offer_price) :?> <del><?php echo esc_html($offer_price_old) ; ?></del><?php endif ;?>
	            		</span>
	            	</span>
	            <?php endif ;?>
	    		<?php if($offer_url && $showme !='price') : ?>
	    			<span class="rh_button_wrapper">
		            	<a href="<?php echo esc_url ($offer_url) ?>" class="btn_offer_block re_track_btn" target="_blank" rel="nofollow sponsored">
			            <?php if($offer_btn_text !='') :?>
			            	<?php echo esc_html ($offer_btn_text); ?>
			            <?php elseif(rehub_option('rehub_btn_text') !='') :?>
			            	<?php echo rehub_option('rehub_btn_text') ; ?>
			            <?php else :?>
			            	<?php esc_html_e('Buy It Now', 'rehub-theme') ?>
			            <?php endif ;?>
			            <?php if ($am_tag == 1):?>
			            	<?php         
			            		$shop = parse_url($offer_url, PHP_URL_HOST);
	    						$shop = preg_replace('/^www\./', '', $shop);
	    						if (strpos($shop, 'am') === false) {
	    							echo '<span class="dest-shop-btn mtinside">@ '.ucfirst($shop).'</span>';
	    						}
	    					?>
			            <?php endif;?>
		            </a>
		        	</span>
	            <?php endif;?>	
		    	<?php if ($coupon_mask_enabled =='1') :?>
		    		<?php if($showme !='price') : ?>
			    		<div class="post_offer_anons">
			    			<?php wp_enqueue_script('zeroclipboard'); ?>
		                	<span class="coupon_btn re_track_btn btn_offer_block rehub_offer_coupon masked_coupon <?php if(!empty($offer_coupon_date)) {echo ''.$coupon_style ;} ?>" data-clipboard-text="<?php echo esc_html ($offer_coupon) ?>" data-codeid="<?php echo (int)$post_id?>" data-dest="<?php echo esc_url($offer_url) ?>">
		                		<?php if($offer_btn_text !='') :?>
			            			<?php echo esc_html ($offer_btn_text) ; ?>
		                		<?php elseif(rehub_option('rehub_mask_text') !='') :?>
		                			<?php echo rehub_option('rehub_mask_text') ; ?>
		                		<?php else :?>
		                			<?php esc_html_e('Reveal coupon', 'rehub-theme') ?>
		                		<?php endif ;?>
		                	</span>
		            	</div>
	            	<?php endif;?>
		    	<?php else : ?>
					<?php if(!empty($offer_coupon) && $showme !='price' && $coupon =='1') : ?>
						<?php wp_enqueue_script('zeroclipboard'); ?>
					  	<div class="rehub_offer_coupon not_masked_coupon <?php if(!empty($offer_coupon_date)) {echo ''.$coupon_style ;} ?>" data-clipboard-text="<?php echo esc_html($offer_coupon) ?>"><span class="coupon_text"><?php echo esc_html($offer_coupon); ?></span> <i class="rhicon rhi-scissors fa-rotate-180"></i>
					  	</div>
				  	<?php endif;?>		    		
		        <?php endif; ?>	            	        
	        </div>
        <?php endif ;?>
    	<?php if ($showme !='price') :?>
    		<?php if ( $btn_more =='both' || (!$offer_url && $btn_more =='yes')) :?>
				<?php if (rehub_option('rehub_readmore_text') !=''): ?>
			  		<a href="<?php the_permalink();?>" class="btn_more"><?php echo strip_tags(rehub_option('rehub_readmore_text'));?></a>
			  	<?php else: ?>
					<a href="<?php the_permalink();?>" class="btn_more"><?php esc_html_e('READ MORE  +', 'rehub-theme') ;?></a>
			  	<?php endif ?>
		  	<?php endif ;?>
    	<?php endif ;?>
		<?php if ($updateclean) :?>
			<?php 
				$offer_price_clean = rehub_price_clean($offer_price); 
				$offer_price_clean_old = get_post_meta( $post_id, 'rehub_main_product_price', true );
				if ( $offer_price_clean !='' && $offer_price_clean_old !='' && $offer_price_clean != $offer_price_clean_old ){
					update_post_meta($post_id, 'rehub_main_product_price', $offer_price_clean); 
				}
				elseif($offer_price_clean !='' && $offer_price_clean_old =='') {
					update_post_meta($post_id, 'rehub_main_product_price', $offer_price_clean); 
				}
			?> 
		<?php endif ;?>

	<?php
}
}

if( !function_exists('rehub_create_affiliate_link') ) {
function rehub_create_affiliate_link() {
$out='';
global $post;
if ($post->post_type == 'product'){
	global $product;
	$offer_url_exist = $product->add_to_cart_url();
}
else{
	$offer_url_exist = get_post_meta( $post->ID, 'rehub_offer_product_url', true );
}
$offer_url_exist = apply_filters('rehub_create_btn_url', $offer_url_exist);
if(!empty($offer_url_exist) ) :
	$offer_url = apply_filters('rh_post_offer_url_filter', $offer_url_exist );
	$out = esc_url($offer_url); 
else :
	$out = get_the_permalink();
endif;
return $out;
}
}


if( !function_exists('rehub_create_price_for_list') ) {
function rehub_create_price_for_list($id) {
	?>

		<?php
			$offer_price = get_post_meta($id, 'rehub_offer_product_price', true );
			$offer_price = apply_filters('rehub_create_btn_price', $offer_price);
		if (!empty($offer_price)) : ?>			
    		<span class="simple_price_count greencolor fontnormal">
    			<?php $offer_price_old = get_post_meta($id, 'rehub_offer_product_price_old', true );?>
    			<?php echo esc_html($offer_price) ?>
    			<?php if($offer_price_old !='' && $offer_price_old !='0') :?> <del class="greycolor font80"><?php echo esc_html($offer_price_old) ; ?></del><?php endif ;?>
    		</span>
        <?php elseif ('product' == get_post_type($id)) : ?>
        	<?php global $product;?>
        	<span class="simple_price_count greencolor fontnormal"><?php echo ''.$product->get_price_html();?></span>        	
	    <?php endif ;?>	    

	<?php
}
}

/*-----------------------------------------------------------------------------------*/
# 	Quick offer function
/*-----------------------------------------------------------------------------------*/

if( !function_exists('rehub_quick_offer') ) {
function rehub_quick_offer($id=''){
	global $post;
	$postid = (!empty($id)) ? (int)$id : $post->ID;

	$offer_post_url = get_post_meta( $postid, 'rehub_offer_product_url', true );
	$offer_post_url = apply_filters('rehub_create_btn_url', $offer_post_url);
	$offer_url = apply_filters('rh_post_offer_url_filter', $offer_post_url );
	$offer_price = get_post_meta( $postid, 'rehub_offer_product_price', true );
	$offer_title = get_post_meta( $postid, 'rehub_offer_name', true );
	$offer_thumb = get_post_meta( $postid, 'rehub_offer_product_thumb', true );
	$offer_btn_text = get_post_meta( $postid, 'rehub_offer_btn_text', true );
	$offer_price_old = get_post_meta( $postid, 'rehub_offer_product_price_old', true );
	$offer_coupon = get_post_meta( $postid, 'rehub_offer_product_coupon', true );
	$offer_coupon_date = get_post_meta( $postid, 'rehub_offer_coupon_date', true );
	$offer_coupon_mask = get_post_meta( $postid, 'rehub_offer_coupon_mask', true );
	$offer_desc = get_post_meta( $postid, 'rehub_offer_product_desc', true );
	$offer_brand_url = esc_url(get_post_meta( $postid, 'rehub_offer_logo_url', true ));
	$disclaimer = get_post_meta($postid, 'rehub_offer_disclaimer', true);
	include(rh_locate_template('inc/parts/singleofferpart.php'));		
}
}

/*-----------------------------------------------------------------------------------*/
# 	Hook offer after content
/*-----------------------------------------------------------------------------------*/

if( !function_exists('set_content_end') ) {
function set_content_end($content) {
	global $post;

	if( is_feed() || !is_singular()) return $content;

	$output = '';
	ob_start();
	wp_link_pages(array( 'before' => '<div class="page-link"><span class="page-link-title">' . esc_html__( 'Pages:', 'rehub-theme' ).'</span>', 'after' => '</div>', 'pagelink' => '<span>%</span>' ));
	$output .= ob_get_clean();

	$posttype = $post->post_type;

	if ($posttype == 'post' || $posttype == 'blog'){ 
		//Old deprecated Review post format
		$reviewformat = get_post_meta($post->ID, 'rehub_framework_post_type', true);
		if(($reviewformat == 'review' || rehub_option('type_user_review') == 'full_review') && !has_block('rehub/reviewbox', $post)) :
			$review_post = rehub_get_review_data();
			if(empty($review_post['review_post_product_shortcode'])) :
				ob_start();
				rehub_get_review();
				$output .= ob_get_clean();
			endif;	
		endif;
	}


	return $content.$output;
}
}
add_filter ('the_content', 'set_content_end');


//Save data from CE
function rehub_sort_price_ce ($a, $b) {
	if (!$a['price']) return 1;
	if (!$b['price']) return -1;
	return ($a['price'] < $b['price']) ? -1 : 1;
}
if (!function_exists('rehub_save_meta_ce')) {
    function rehub_save_meta_ce($data, $module_id, $post_id) {
		if (!$post_id){
			global $post;
			if (isset($post)){
				$post_id = $post->ID;
			}
			else{
				return false; // Error: no POST ID
			}
		}
        $cegg_field_array = rehub_option('save_meta_for_ce');
        $cegg_fields = array();
    	if (!empty($cegg_field_array) && is_array($cegg_field_array)) {

        	foreach ($cegg_field_array as $cegg_field) {
	        	if ($cegg_field == 'none' || $cegg_field == ''){ continue;}
        		$cegg_field_value = \ContentEgg\application\components\ContentManager::getViewData($cegg_field, $post_id);
        		if (!empty ($cegg_field_value) && is_array($cegg_field_value)) {
                    foreach ($cegg_field_value as $key => $value) {
                        $value['module_id'] = $cegg_field;
                        $cegg_fields[$key] = $value;
                    }        			
        			//$cegg_fields += $cegg_field_value;
        		}		
        	}

        	$postsync = get_post_meta($post_id, '_rh_post_offer_sync_ce', true); 
			if (!empty($cegg_fields) && is_array($cegg_fields)) {

				//Check how to sync
	        	if($postsync){
	        		if($postsync == 'none'){
	        			delete_post_meta($post_id, '_rehub_product_unique_id');
	        			delete_post_meta($post_id, '_rehub_module_ce_id');	        			
	        			return false;
	        		}
	        		elseif($postsync == 'lowest'){
	        			$keyupdate = 0;
	        			usort($cegg_fields, 'rehub_sort_price_ce'); 
	        		}
	        		else{
	        			$keyupdate = $postsync;
	        			if(!isset($cegg_fields[$keyupdate])){
	        				update_post_meta($post_id, '_rh_post_offer_sync_ce', 'lowest'); 
			        		$keyupdate = 0;
			        		usort($cegg_fields, 'rehub_sort_price_ce');
	        			}
	        		}
	        	}
	        	else{
	        		$keyupdate = 0;
	        		usort($cegg_fields, 'rehub_sort_price_ce'); 
	        	}

				$price_sale = $price_old = $merchant = $unique_id = $logo = $domain = '';        				
				$currency_code = (!empty($cegg_fields[$keyupdate]['currencyCode'])) ? $cegg_fields[$keyupdate]['currencyCode'] : '';
	    		if(!empty ($cegg_fields[$keyupdate]['price'])) { //Saving price with price pattern
	    			$locale = \ContentEgg\application\helpers\CurrencyHelper::getInstance(\ContentEgg\application\admin\GeneralConfig::getInstance()->option('lang'));
					$price_sale = \ContentEgg\application\helpers\TemplateHelper::formatPriceCurrency($cegg_fields[$keyupdate]['price'], $currency_code);
	    		}	
	    		if(!empty ($cegg_fields[$keyupdate]['priceOld'])) {
	    			$price_old = \ContentEgg\application\helpers\TemplateHelper::formatPriceCurrency($cegg_fields[$keyupdate]['priceOld'], $currency_code);
	    		}
	    		if(!empty ($cegg_fields[$keyupdate]['unique_id'])) {
	    			$unique_id = $cegg_fields[$keyupdate]['unique_id']; 
	    		}	    		
				if ('product' == get_post_type($post_id)) {
					if(!empty($cegg_fields[$keyupdate]['percentageSaved'])) {
						update_post_meta($post_id, '_rehub_offer_discount', $cegg_fields[$keyupdate]['percentageSaved']);
					}else{
						delete_post_meta($post_id, '_rehub_offer_discount');
					}										
				}	
				else {
					if(isset($cegg_fields[$keyupdate]['price']) && $cegg_fields[$keyupdate]['price'] == '0'){
						delete_post_meta($post_id, 'rehub_main_product_price');
					}else{
						update_post_meta($post_id, 'rehub_main_product_price', $cegg_fields[$keyupdate]['price']);
					}			
		    		if(!empty($cegg_fields[$keyupdate]['currencyCode'])){
		    			update_post_meta($post_id, 'rehub_main_product_currency', $cegg_fields[$keyupdate]['currencyCode']);
		    		}
			    	update_post_meta($post_id, 'rehub_offer_product_price', $price_sale);
			    	if ($price_old == '') {
			    		delete_post_meta($post_id, 'rehub_offer_product_price_old');
			    	}
			    	else{
			    		update_post_meta($post_id, 'rehub_offer_product_price_old', $price_old);
			    	}	
					if(!empty($cegg_fields[$keyupdate]['percentageSaved'])) {
						update_post_meta($post_id, '_rehub_offer_discount', $cegg_fields[$keyupdate]['percentageSaved']);
					}else{
						delete_post_meta($post_id, '_rehub_offer_discount');
					}			    		    					 
		    		update_post_meta($post_id, 'rehub_offer_product_url', $cegg_fields[$keyupdate]['url']);	 
		    		if(!empty ($cegg_fields[$keyupdate]['title'])) {
		    			update_post_meta($post_id, 'rehub_offer_name', esc_html($cegg_fields[$keyupdate]['title'])); 
		    		}
		    		if(!empty ($cegg_fields[$keyupdate]['domain'])) {
		    			$domain = $cegg_fields[$keyupdate]['domain'];
		    		}		    		
		    		elseif(!empty ($cegg_fields[$keyupdate]['extra']['domain'])) {
		    			$domain = $cegg_fields[$keyupdate]['extra']['domain']; 
		    		}		
            		update_post_meta($post_id, 'rehub_offer_domain', $domain);            			 
	    			    			    			    		
		    		if(!empty ($cegg_fields[$keyupdate]['description'])) {
		    			update_post_meta($post_id, 'rehub_offer_product_desc', esc_html($cegg_fields[$keyupdate]['description'])); 
		    		}
		    		if(!empty ($cegg_fields[$keyupdate]['img'])) {
		    			update_post_meta($post_id, 'rehub_offer_product_thumb', $cegg_fields[$keyupdate]['img']); 
		    		}
		    		if(!empty ($cegg_fields[$keyupdate]['module_id'])) {
		    			update_post_meta($post_id, '_rehub_module_ce_id', $cegg_fields[$keyupdate]['module_id']); 
		    		}else{
		    			delete_post_meta($post_id, '_rehub_module_ce_id');		    
		    		}
		    		if($unique_id) {
		    			update_post_meta($post_id, '_rehub_product_unique_id', $unique_id); 
		    		}
					else{
		    			delete_post_meta($post_id, '_rehub_product_unique_id');		    
		    		}		    		

	    		}	        	

			}
    	}
    }
}
add_action('content_egg_save_data', 'rehub_save_meta_ce', 13, 3);


//////////////////////////////////////////////////////////////////
//EXPIRE FUNCTION
//////////////////////////////////////////////////////////////////
add_action('post_change_expired', 'post_change_expired_function', 10, 1);
if (!function_exists('post_change_expired_function')) {
function post_change_expired_function($expired=''){
	global $post;
	if (isset($post)){
		$post_id = $post->ID;
	}
	else{
		return false; // Error: no POST ID
	}
	$expired_exist = get_post_meta($post_id, 're_post_expired', true);
	if($expired ==1 && $expired_exist !=1){
		update_post_meta($post_id, 're_post_expired', 1);
		wp_set_object_terms($post_id, 'yes', 'offerexpiration', false );
	}
	elseif($expired =='no'){
		update_post_meta($post_id, 're_post_expired', 0);
		wp_set_object_terms($post_id, NULL, 'offerexpiration', false );
	}
	elseif($expired_exist==0){
	}		
	elseif($expired_exist==''){
		update_post_meta($post_id, 're_post_expired', 0);
		wp_set_object_terms($post_id, NULL, 'offerexpiration', false );
	}
}
}

if (!function_exists('rh_expired_or_not')) {
function rh_expired_or_not($id, $type='class'){
	if (empty($id) || !is_numeric($id)) return;
	$expired = get_post_meta($id, 're_post_expired', true);
	if ($type == 'class'){
		if ($expired == true) {
			return ' rh-expired-class';
		}
	}
	if ($type == 'span'){
		if ($expired == true) {
			return '<span class="rh-expired-notice">'.__('Expired', 'rehub-theme').'</span>';
		}
	}	
}
}


//////////////////////////////////////////////////////////////////
//REVIEWS IN FRONTEND FUNCTION
//////////////////////////////////////////////////////////////////
if ( !function_exists( 'rh_review_frontend_fields' ) ) {
function rh_review_frontend_fields($current_values, $form_id){
	$criteriaNamesArray = $review_post_criteria = array();	
	$review_heading = $review_summary = $criteriaInputs = $review_proses = $review_conses = '';
	$reviewCriteria = rh_get_front_review_fields(); //rehub_option('rh_front_review_fields');
	if (!empty($reviewCriteria[$form_id])){
		$currentReviewscore = 0;
		if(!empty($current_values['post_id'])){
			$currentReview = get_post_meta( $current_values['post_id'], 'review_post' );
			$currentReviewscore = (get_post_meta( $current_values['post_id'], 'rehub_review_overall_score', true ) !='') ? get_post_meta( $current_values['post_id'], 'rehub_review_overall_score', true ) * 10 : 0;
		}
		if (!empty($currentReview)){
			$review_heading = $currentReview[0][0]['review_post_heading'];
			$review_summary = $currentReview[0][0]['review_post_summary_text'];
			$review_proses = $currentReview[0][0]['review_post_pros_text'];
			$review_conses = $currentReview[0][0]['review_post_cons_text'];					
		}
		wp_enqueue_style('jquery.nouislider'); 
		wp_enqueue_script('jquery.nouislider'); 
		wp_enqueue_style('rhuserreviews');		
		$reviewCriteria = $reviewCriteria[$form_id];
	    
		for($i = 0; $i < count($reviewCriteria); $i++) {
			$criteriaNamesArray[$i] = $reviewCriteria[$i];
			$scorevalue = (!empty($currentReview[0][0]['review_post_criteria'][$i]['review_post_score'])) ? $currentReview[0][0]['review_post_criteria'][$i]['review_post_score'] : 0;
			$criteriaInputs .= '<label for="criteria_input_'.$i.'">'.$reviewCriteria[$i].'</label>';
			$criteriaInputs .= '<input id="criteria_input_'.$i.'" type="hidden" name="criteria_score_'.$i.'" value="'.$scorevalue.'" class="criteria_hidden_input'.$i.'" /><span class="criteria_visible_input'.$i.'"></span><div class="rh_front_criteria"></div>';
		};
		$criteriaInputs .= '<div class="your_total_score">'.__('Your total score','rehub-theme').' <span class="user_reviews_view_score"><span class="userstar-rating"><span style="width: '.$currentReviewscore.'%"></span></span></span></div><input type="hidden" name="criteria_names" value="'.implode(",", $criteriaNamesArray).'" />';

	    ?> 
	    <div id="user_reviews_in_frontend" class="rate_bar_wrap pt10 mt30">
	    	<div class="wpfepp-form-field-container">
	    		<label><?php esc_html_e('Review heading', 'rehub-theme');?></label>
	        	<input type="text" name="review_heading" value="<?php echo ''.$review_heading; ?>" />
	        </div>
	        <div class="wpfepp-form-field-container">
				<label><?php esc_html_e('Review summary', 'rehub-theme');?></label>
	        	<textarea name="review_summary"><?php echo ''.$review_summary; ?></textarea>
	        </div>
	        <div class="wpfepp-form-field-container">
				<label><?php esc_html_e('PROS. Add each from separate line', 'rehub-theme');?></label>
	        	<textarea name="review_post_pros_text"><?php echo ''.$review_proses; ?></textarea>
	        </div>
	        <div class="wpfepp-form-field-container">
				<label><?php esc_html_e('CONS. Add each from separate line', 'rehub-theme');?></label>
	        	<textarea name="review_post_cons_text"><?php echo ''.$review_conses; ?></textarea>
	        </div>	        	        
	        <div class="wpfepp-form-field-container">        
	        	<?php echo ''.$criteriaInputs; ?>
	        </div>
	    </div>
	    <?php		
	}
}
}
/* Save Review fields from RH Frontend plugin */
if ( !function_exists( 'rh_review_frontend_actions' ) ) {
function rh_review_frontend_actions($data, $form_id){
    $criterianames = $data['criteria_names'];
    $postid = $data['post_id'];
    $posttype = get_post_type($postid);
    if (!empty($criterianames)){
    	$criterianames = explode(',', $criterianames);
		$review_post_criteria = array();
		$review_criteria_overall = $total_counter = 0;
		$postscore = '';    	
		for( $i = 0; $i < count($criterianames); $i++ ) {
			$review_name = $criterianames[$i];
			$review_score = 'criteria_score_' . $i;			
			$review_post_criteria[] = array( 'review_post_name' => $review_name, 'review_post_score' => $data[$review_score] );
			$review_criteria_overall += (float) $data[$review_score];
			$total_counter ++;
		}    
		if( $review_criteria_overall !=0 && $total_counter !=0) {
			$postscore =  $review_criteria_overall / $total_counter ;
			$postscore = round($postscore, 1);			
		} 					
    }
    if($posttype == 'product'){

        $fields = array();
        if( !empty($data['review_heading'] ) ) {
            update_post_meta( $postid, '_review_heading', sanitize_text_field( $data['review_heading'] ) );
            $fields[] = '_review_heading';
        }
        if( !empty($data['review_summary'] ) ) {
            update_post_meta( $postid, '_review_post_summary_text', sanitize_textarea_field( $data['review_summary'] ) );
            $fields[] = '_review_post_summary_text';
        }
        if( !empty($data['review_post_pros_text'] ) ) {
            update_post_meta( $postid, '_review_post_pros_text', sanitize_textarea_field( $data['review_post_pros_text'] ) );
            $fields[] = '_review_post_pros_text';
        }
        if( !empty($data['review_post_cons_text'] ) ) {
            update_post_meta( $postid, '_review_post_cons_text', sanitize_textarea_field( $data['review_post_cons_text'] ) );
            $fields[] = '_review_post_cons_text';
        }
        // Collect Review criteria data
        if( !empty($review_post_criteria) ) {
            foreach($review_post_criteria as $index=>$value){
                update_post_meta( $postid, '_review_score_criteria_'.$total_counter, sanitize_text_field( $value['review_post_score']));
            }
            $review_post_s_array = rh_serialize_data_review( $review_post_criteria );
            update_post_meta( $postid, '_review_post_criteria', $review_post_s_array );
            $fields[] = '_review_post_criteria';
        }
		if (!empty($postscore)) {
			update_post_meta($postid, 'rehub_review_overall_score', $postscore );
		}
		update_post_meta( $postid, 'rehub_review_woo_fields', rh_serialize_data_review( $fields ) );	
    }else{
		$review_post_array = array (
		  array (
			'review_post_heading' => $data['review_heading'],
			'review_post_summary_text' => $data['review_summary'],
			'review_post_pros_text' => $data['review_post_pros_text'],	
			'review_post_cons_text' => $data['review_post_cons_text'],			
			'review_post_product_shortcode' => '0',
			'review_post_score_manual' => '',
			'review_post_criteria' => $review_post_criteria
		  )
		);    
		$review_post_s_array = rh_serialize_data_review( $review_post_array );
		update_post_meta($postid, 'review_post', $review_post_s_array );
		if (!empty($postscore)) {
			update_post_meta($postid, 'rehub_review_overall_score', $postscore );
		}	
		$data_post_fields = array( 'rehub_framework_post_type', 'video_post', 'gallery_post', 'review_post', 'music_post' );
		update_post_meta($postid, 'rehub_post_fields', rh_serialize_data_review( $data_post_fields ) );	
		update_post_meta($postid, 'rehub_framework_post_type', 'review' );
    }
}
}

/* Recount Review fields for RH Frontend plugin */
function rh_get_front_review_fields(){
	$reviewData = array();
	$reviewCriterias = rehub_option('rh_front_review_fields');
	
	if(empty($reviewCriterias))
		return $reviewData;
	
	if(stripos( $reviewCriterias, ':' )){
		$reviewCriteriasArray = array_map('trim', explode(PHP_EOL, $reviewCriterias));
		foreach( $reviewCriteriasArray as $reviewCriteria ){
			$criteriaelements = explode(':', $reviewCriteria);
			if(is_numeric($criteriaelements[0])){
				$criterianames = explode(',', $criteriaelements[1]);
				$reviewData[$criteriaelements[0]] = $criterianames;
			}
		}
	}else{
		$formidforreview = rehub_option('rh_front_reviewform_id');
		$reviewFormIDs = array_map( 'trim', explode( ",", $formidforreview ) );
		$criterianames = explode(',', $reviewCriterias);
		foreach( $reviewFormIDs as $reviewFormID ){
			$reviewData[$reviewFormID] = $criterianames;
		}
	}
	return $reviewData;
}

/* Add Review fields for RH Frontend plugin */
if (rehub_option('rh_front_review_fields') !='') {
	$reviewInputData = rh_get_front_review_fields();
	if( !empty( $reviewInputData ) ){
		foreach ($reviewInputData as $reviewFormID => $reviewInputForm) {
			add_action('wpfepp_form_'.$reviewFormID.'_actions', 'rh_review_frontend_actions', 10, 2);
			add_action('wpfepp_form_'.$reviewFormID.'_fields', 'rh_review_frontend_fields', 10, 2);
		}
	}
}

add_action( 'pre_get_posts', 'rehub_change_post_query' ); //Here we change and extend post loop data
if (!function_exists('rehub_change_post_query')){
	function rehub_change_post_query($q){
		if (rehub_option('rehub_post_exclude_expired') == '1') {
		    if (!is_admin() && (is_post_type_archive('post') || is_category() || is_home() || is_feed()) && $q->get('post_type')=='post') {
			    $q->set( 'tax_query', array(
			    	'relation' => 'AND',
	                array(
	                    'taxonomy' => 'offerexpiration',
	                    'field'    => 'name',
	                    'terms'    => 'yes',
	                    'operator' => 'NOT IN',
	                )			    	 				    	   	
			    ));
			}
		}	
	}
}

if ( !function_exists( 'rh_get_post_ids_on_sale' ) ) {
	function rh_get_post_ids_on_sale() {
		global $wpdb;

		// Load from cache
		$post_ids_on_sale = get_transient( 'rh_posts_onsale' );

		// Valid cache found
		if ( false !== $post_ids_on_sale ) {
			return $post_ids_on_sale;
		}

		$on_sale_posts = $wpdb->get_results( "
			SELECT post.ID, post.post_parent FROM `$wpdb->posts` AS post
			LEFT JOIN `$wpdb->postmeta` AS meta ON post.ID = meta.post_id
			LEFT JOIN `$wpdb->postmeta` AS meta2 ON post.ID = meta2.post_id
			WHERE post.post_type IN ( 'post' )
				AND post.post_status = 'publish'
				AND meta.meta_key = 'rehub_offer_product_url'
				AND meta2.meta_key = 'rehub_offer_product_price'
				AND CAST( meta.meta_value AS CHAR ) != ''
				AND CAST( meta2.meta_value AS CHAR ) != ''
			GROUP BY post.ID;
		" );

		$post_ids_on_sale = array_unique( array_map( 'absint', array_merge( wp_list_pluck( $on_sale_posts, 'ID' ), array_diff( wp_list_pluck( $on_sale_posts, 'post_parent' ), array( 0 ) ) ) ) );

		set_transient( 'rh_posts_onsale', $post_ids_on_sale, apply_filters( 'rh_update_posts_onsale', DAY_IN_SECONDS * 7 ) );

		return $post_ids_on_sale;
	}
}

if(!function_exists('rh_ce_found_total_offers')){
function rh_ce_found_total_offers($post_id){
	$module_ids = \ContentEgg\application\components\ModuleManager::getInstance()->getAffiliateParsers($only_active = true);
	$total = 0;
	if(!empty($module_ids)){
		$module_ids = array_keys($module_ids);
		foreach ($module_ids as $module_id)
		{
		$data = \ContentEgg\application\components\ContentManager::getViewData($module_id, $post_id);
		$total += count($data);
		}		
	}
	return $total;
}	
}

//////////////////////////////////////////////////////////////////
// AJAX COUPON
//////////////////////////////////////////////////////////////////

if( !function_exists('coupon_get_code') ) {
function coupon_get_code(){
    //check_ajax_referer( 'coupon-nonce', 'security' );

    $codeid = (!empty($_GET['codeid'])) ? (int)$_GET['codeid'] : '';
    if( empty($codeid) ){
        return;
    }    
    $code = get_post( $codeid );
    $codeid = $code->ID;
    $shop = $thumb_enable = $printout = $sale_proc = $coupontext = '';
    if( !empty( $code ) ){
        if ('product' == get_post_type($codeid)) {
            $offer_coupon = get_post_meta( $codeid, 'rehub_woo_coupon_code', true );
            $term_ids =  wc_get_product_terms($codeid, 'store', array("fields" => "ids")); 
            if (!empty($term_ids) && ! is_wp_error($term_ids)) {
                $term_id = $term_ids[0];
                $termobj = get_term_by('id', $term_id, 'store');
                $termname = $termobj->name;             
                $brand_url = get_term_meta( $term_id, 'brandimage', true );
                $brand_link = get_term_link( $term_id );
            }
            if (!empty ($brand_url)) {
                $term_brand_image = esc_url($brand_url);
            }   
             
            if (!empty($brand_link)){
                $shop .= '<a href="' . esc_url( $brand_link ) . '" class="shop_in_cpn font80 fontitalic blockstyle greycolor mt10">';
            }
            if (!empty($term_brand_image)) :
                $showbrandimg = new WPSM_image_resizer();
                $showbrandimg->height = '30';
                $showbrandimg->src = $term_brand_image;
                $shop .= '<img src="'.$showbrandimg->get_resized_url().'" alt="'.$termname.'" style="max-width:100px" /> ';                                    
            endif;
            if (!empty($brand_link)){
                $shop .= $termname.'</a>';
            }

            $args = array(
                'post_type'         => 'product',
                'posts_per_page'    => 1,
                'no_found_rows'     => 1,
                'post_status'       => 'publish',
                'p'                 => $codeid,

            );          
            $products = new WP_Query( $args );
            if ( $products->have_posts() ) : while ( $products->have_posts() ) : $products->the_post();
            global $product;
            $offer_link = esc_url( $product->add_to_cart_url() );
            $offer_link = apply_filters('rh_post_offer_url_filter', $offer_link, $codeid );               
            $offer_coupon_date = get_post_meta(get_the_ID(), 'rehub_woo_coupon_date', true );
            $offer_coupon = get_post_meta(get_the_ID(), 'rehub_woo_coupon_code', true );
            $offer_couponimgurl = get_post_meta(get_the_ID(), 'rehub_woo_coupon_coupon_img_url', true );
        	
        	if ($product->is_on_sale() && !$product->is_type( 'variable' ) && $product->get_regular_price() && $product->get_price() > 0 ){
	            $offer_price_calc = (float) $product->get_price();
	            $offer_price_old_calc = (float) $product->get_regular_price();
	            $sale_proc = 100 - ($offer_price_calc / $offer_price_old_calc) * 100; 
	            $sale_proc = round($sale_proc); 
            }

            endwhile; endif;  wp_reset_postdata();
        }
        else{
            $thumb_enable = '1';
            $offer_coupon = get_post_meta( $codeid, 'rehub_offer_product_coupon', true ); 
            $offer_link = get_post_meta( $codeid, 'rehub_offer_product_url', true );
            $offer_link = apply_filters('rehub_create_btn_url', $offer_link, $codeid);
            $offer_link = apply_filters('rh_post_offer_url_filter', $offer_link, $codeid );
            $term_ids =  wp_get_post_terms($codeid, 'dealstore', array("fields" => "ids")); 
            $offer_desc = get_post_meta( $codeid, 'rehub_offer_product_desc', true );
            $offer_coupon_date = get_post_meta( $codeid, 'rehub_offer_coupon_date', true );
            $offer_couponimgurl = get_post_meta( $codeid, 'rehub_offer_product_thumb', true );
            if(!empty($offer_coupon_date)){
				$timestamp1 = strtotime($offer_coupon_date);
				if(strpos($offer_coupon_date, ':') ===false){
					$timestamp1 += 86399;
				}
                $seconds = $timestamp1 - (int)current_time('timestamp',0);
                $days = floor($seconds / 86400);
                $seconds %= 86400;
                if ($days > 0) {
                    $coupon_text = $days.' '.__('days left', 'rehub-theme');
                }
                elseif ($days == 0){
                    $coupon_text = esc_html__('Last day', 'rehub-theme');
                }
                else {
                    $coupon_text = esc_html__('Expired', 'rehub-theme');
                }                
            }else{
                $coupon_text = esc_html__('No expiration date', 'rehub-theme');
            }
            if (!empty($term_ids) && ! is_wp_error($term_ids)) {
                $term_id = $term_ids[0];
                $termobj = get_term_by('id', $term_id, 'dealstore');
                $termname = $termobj->name;             
                $brand_url = get_term_meta( $term_id, 'brandimage', true );
                $brand_link = get_term_link( $term_id );
            }
            if (!empty ($brand_url)) {
                $term_brand_image = esc_url($brand_url);
            }   
             
            if (!empty($brand_link)){
                $shop .= '<a href="' . esc_url( $brand_link ) . '" class="shop_in_cpn font80 fontitalic blockstyle greycolor mt10">';
            }
            if (!empty($term_brand_image)) :
                $showbrandimg = new WPSM_image_resizer();
                $showbrandimg->height = '30';
                $showbrandimg->src = $term_brand_image;
                $shop .= '<img src="'.$showbrandimg->get_resized_url().'" alt="'.$termname.'" /> ';                                    
            endif;
            if (!empty($brand_link)){
                $shop .= $termname.'</a>';
            }           
        }
        $posttitle = get_the_title($codeid);
		$printout .= '<script type="text/javascript">
			jQuery.getScript("'.get_template_directory_uri() . '/js/printcoupon.js");
		</script>';
        $printid = mt_rand().'printid'; 
        $printout .= '<div id="printcoupon'.$printid.'" class="printmecoupondiv"><div class="printcoupon"><div class="printcouponwrap"><div class="printcouponheader"><div class="printcoupontitle">'.$posttitle.'</div>';
        $printout .= '<div class="expired_print_coupon">';
        if(!empty($offer_coupon_date)):
            $printout .= esc_html__('Use before:', 'rehub-theme').esc_html($offer_coupon_date);
        endif;
        $printout .= '</div>';
        $printout .= '<div class="storeprint">'.$shop.'</div>';
        $printout .= '</div><div class="printcouponcentral">';
        if($sale_proc){
            $printout .= '<span class="save_proc_woo_print">';   
            $printout .= '<span class="countprintsale">'.$sale_proc.'</span><span class="procprintsale">%</span><span class="wordprintsale">'.__('Save', 'rehub-theme').'</span></span>'; 
        }
        $printout .= '<div class="printcoupon_wrap">'.esc_html($offer_coupon).'</div></div>';                     
        $printout .= '<div class="printcoupondesc"><div class="printimage">'.get_the_post_thumbnail( $codeid, 'shop_thumbnail' ).'</div>';  
        $printout .= '<span>'.$code->post_excerpt.'</span></div>';                                              
        $printout .= '<div class="couponprintend">'.__('Get more coupons on:', 'rehub-theme').'<span> '.site_url().'</span></div></div></div>';
        if($offer_couponimgurl !='') :
        	$printout .= '<div class="printcouponimg"><img src="'.esc_url($offer_couponimgurl).'" alt="Use coupon image" /></div>';
        endif ;                 
        $printout .= '</div><div class="print_coupon_icon_inside_c lineheight15"><span class="printthecoupon inlinestyle font110 mt10 mb20 cursorpointer whitecolor" data-printid="'.$printid.'">'.__('Print coupon', 'rehub-theme').'</span></div>';          
         
        $offer_coupon_clicks = get_post_meta( $codeid, 'rehub_offer_clicks_count', true );
        if (empty($offer_coupon_clicks)){$offer_coupon_clicks = 0;}
        $offer_coupon_clicks = absint($offer_coupon_clicks) + 1;
        update_post_meta($codeid, 'rehub_offer_clicks_count', $offer_coupon_clicks);

        $response = '<div id="coupon_code_in_modal" class="rhhidden" data-couponid="'.$codeid.'">';
        $response .= '<div class="coupon_code_in_modal"><div class="coupon_top_part text-center violetgradient_bg padd20"><div class="re_title_inmodal rehub-main-font whitecolor font150 pt5 pb15">'.__('Here is your coupon code', 'rehub-theme').'</div>';
        $response .= '<div class="add_modal_coupon font80"><span class="text_copied_coupon pinkLcolor">'.__('Code is copied. Use code on site.', 'rehub-theme').'</span></div>';      

        $response .= '<div class="coupon_modal_coupon position-relative"><div class="cpn_modal_container text-center position-relative roundborder8 inlinestyle"><input type="text" size=20 class="code text-center" value="'.$offer_coupon.'" readonly=""></div>';
        $response .= $printout;
        $response .= '</div></div>';
        $response .='<a href="'.$offer_link.'" target="_blank" rel="nofollow sponsored" class="text-center cpn_btn_inner font150 pb10 pl30 pr30 pt10 rehub-main-btn-bg rehub_main_btn cpn_btn_inner position-relative">'.__('Go to Website', 'rehub-theme').'</a>';

        $cashbacknotice = get_post_meta($codeid, '_notice_custom', true);
        if($cashbacknotice){
            $response .= '<div class="rehub-main-font rehub-main-color text-center font120 cash_n_modal pb15">'.$cashbacknotice.'</div>';
        }  

        $response .= '<div class="cpn_info_bl padd20 flowhidden">';
        $response .= '<div class="cpn_post_title width-80-calc floatleft">';
		$verify = get_post_meta( $codeid, 'rehub_offer_verify_label', true );
		if($verify) {
			$response .= '<span class="verifymeta mr5 mb10 greencolor blockstyle"><i class="rhicon rhi-shield-check"></i> '.esc_attr($verify).'</span>';
		} 
            $response .= '<div class="cpn_title font120 greycolor mb10 fontitalic">'.$posttitle.$shop.'</div>';  
            if(isset($offer_desc)){
                $response .= '<div class="cpn_desc greycolor mb10 fontitalic">'.esc_html($offer_desc).'</div>';
            }
            if($coupontext){
            	$response .= '<div class="coupon_expire mb5 lineheight20">'.__('Valid until:', 'rehub-theme').' <span class="rehub-main-color">'.esc_html($coupon_text).'</span></div>';
        	}
            if($offer_coupon_clicks > 5){
                $response .= '<div class="cpn_rvl_count mb10 lineheight20">'.__('Revealed:', 'rehub-theme').' <span class="rehub-main-color">'.(int)$offer_coupon_clicks.'</span></div>';
            }
                    
        $response .='</div>';
        $response .='<div class="thumb_in_modalcoupon floatright">'.getHotThumb($codeid, false, false).'</div>';
        $response .='</div>';
        if(rehub_option('rehub_ads_coupon_area') !=''){
            $response .='<div class="mt25 rh-line"></div><div class="coupon_custom_code_area">'.do_shortcode(rehub_option('rehub_ads_coupon_area')).'</div>';

        }

        $response .='</div>';
        $response .='</div>';
        $response .='</div>';
    }
    else{
        $response = esc_html__( 'Offer does not exists', 'rehub-theme' );
    }

    echo  ''.$response ;
}
}

if( !function_exists('ce_printRel') ) {
function ce_printRel(){
    if (method_exists('\ContentEgg\application\helpers\TemplateHelper', 'getRelValue'))
        $rel = \ContentEgg\application\helpers\TemplateHelper::getRelValue();
    else
        $rel = 'nofollow sponsored';
    return ' rel="' . esc_attr($rel) . '"';
}
}

?>