MOON
Server: Apache
System: Linux server.netcommlabs.in 3.10.0-1160.83.1.el7.x86_64 #1 SMP Wed Jan 25 16:41:43 UTC 2023 x86_64
User: dermova (1051)
PHP: 5.4.45
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/dermova/www/me/wp-content/plugins/ajax-load-more/core/classes/class.alm-shortcode.php
<?php
/**
 * Ajax Load More shortcode
 *
 * Returns the [ajax_load_more] shortcode.
 *
 * @author   Darren Cooney
 * @since    2.10.1
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if( !class_exists('ALM_SHORTCODE') ):
   
   class ALM_SHORTCODE {
      
      
      static $counter = 0;      
      
      
      /**
	    * alm_render_shortcode
	    * 
   	 * Parse & Render ALM Shortcode.
   	 *
   	 * @since 2.10.1
   	 * @return $ajaxloadmore
   	 */
   	 
      public static function alm_render_shortcode($atts){
         
         global $post;
                  
   		$options = get_option( 'alm_settings' );  		
   		self::$counter++;   		
   		
   		// Define page slug
   		$slug = '';
   		if(!is_archive()){
   			// If not an archive page, set the post slug
   			if(is_front_page() || is_home()){
   				$slug = 'home';
   			}else{
   			   $slug = $post->post_name;
            }
   		}
   		
   		// Custom CSS for Layouts - Only run this once.
   		if(has_action('alm_layouts_custom_css')){
      		do_action('alm_layouts_custom_css', self::$counter);   		
         }
   		
   		extract(shortcode_atts(array(
   			'restapi' => false,
   			'restapi_base' => '/wp-json',
   			'restapi_namespace' => 'ajaxloadmore',
   			'restapi_endpoint' => 'posts',
   			'restapi_template_id' => '',
   			'restapi_debug' => false,
   			'comments' => false,
   			'comments_per_page' => '5',
   			'comments_type' => 'comment',
   			'comments_style' => 'ol',
   			'comments_template' => 'none',
   			'comments_callback' => '',
   			'comments_post_id' => 'null',
      		'previous_post' => false,
      		'previous_post_id' => 'null',
      		'previous_post_taxonomy' => '',
   			'cache' => 'false',		
   			'cache_id' => '',	
   			'paging' => 'false',
   			'paging_controls' => 'false',
   			'paging_show_at_most' => '7',
   			'paging_classes' => '',
   			'preloaded' => 'false',
   			'preloaded_amount' => '5',
   			'seo' => 'false',
   			'repeater' => 'default',
   			'theme_repeater' => 'null',
   			'alternate' => false,
   			'alternate_sequence' => '',
   			'alternate_sequence_max' => '0',
   			'alternate_repeater' => 'null',
   			'alternate_theme_repeater' => 'null',
   			'post_type' => 'post',
   			'post_format' => '',
   			'category' => '',	
   			'category__not_in' => '',	
   			'tag' => '',
   			'tag__not_in' => '',
   			'taxonomy' => '',
   			'taxonomy_terms' => '',
   			'taxonomy_operator' => '',	
   			'taxonomy_relation' => '',	
   			'meta_key' => '',
   			'meta_value' => '',
   			'meta_compare' => '',
   			'meta_relation' => '',
   			'meta_type' => '',
   			'year' => '',
   			'month' => '',
   			'day' => '',
   			'author' => '',
   			'search' => '',					
   			'custom_args' => '',				
   			'post_status' => '',					
   			'order' => 'DESC',
   			'orderby' => 'date',
   			'post__in' => '',
   			'post__not_in' => '',
   			'exclude' => '',
   			'offset' => '0',
   			'posts_per_page' => '5',
   			'scroll' => 'true',
   			'scroll_distance' => '150',
   			'max_pages' => '5',
   			'pause_override' => 'false',
   			'pause' => 'false',
   			'destroy_after' => '',
   			'transition' => 'slide',
   			'transition_speed' => '250',
   			'transition_container' => 'true',
   			'images_loaded' => 'false',
   			'button_label' => apply_filters('alm_button_label', __('Older Posts', 'ajax-load-more')),
   			'button_loading_label' => '',	
   			'container_type' => '',	
   			'css_classes' => '',		
   		), $atts));
   
   		
   		// Enqueue core Ajax Load More JS   	     	
      	wp_enqueue_script( 'ajax-load-more' );	       			
   		
   		// Enqueue add-on JS   		
   		if(has_action('alm_seo_installed') && $seo === 'true'){
      		wp_enqueue_script( 'ajax-load-more-seo' );
   		}   		
   		if(has_action('alm_paging_installed') && $paging === 'true'){
      		wp_enqueue_script( 'ajax-load-more-paging' );
         }         
         if(has_action('alm_prev_post_installed') && $previous_post === 'true'){
      		wp_enqueue_script( 'ajax-load-more-previous-post' );            
         }       
         if(has_action('alm_layouts_installed')){
      		//wp_enqueue_script( 'ajax-load-more-layouts' );  // Not yet :)           
         }
   					
         if($previous_post === 'true')
            $previous_post === true;  
   		
   		if($seo === "true" || $previous_post)				
            $transition_container = "true";
         
         if($restapi === 'true'){
            $restapi = true;  
            
            $preloaded = false;
         }
          
         // Get container elements (ul | div)
         
   		$container_element = 'ul';
   		if($options['_alm_container_type'] == '2' || $previous_post)
   			$container_element = 'div';
   			
   		// override shortcode param	
   		if($container_type){ 
      		$container_element = $container_type;
   		}
   		
   		// Previous post override
   		if($previous_post){
      		$posts_per_page = 1;
   			$container_element = 'div';
   		}
   		
   		// Comments
   		if($comments === 'true'){
   			$container_element = $comments_style;
   		}         
   		
   		// Get extra classnames
   		$classname = '';
   		if(isset($options['_alm_classname']))
   			$classname = ' '.$options['_alm_classname'];
   		
   		// Get button color
   		$btn_color = '';
   		if(isset($options['_alm_btn_color']))
   			$btn_color = ' '.$options['_alm_btn_color'];
   		
   		// Get paging color
   		$paging_color = '';
   		if(isset($options['_alm_paging_color']) && has_action('alm_paging_installed'))
   			$paging_color = ' paging-'.$options['_alm_paging_color'];
   		
   		// Get Layouts activated
   		$alm_layouts = '';
   		if(has_action('alm_layouts_installed'))
   			$alm_layouts = ' alm-layouts';
   		
   		// Get btn classnames
   		$button_classname = '';
   		if(isset($options['_alm_btn_classname']))
   			$button_classname = $options['_alm_btn_classname'];
   		
   		
   		// Language support   		
   		$lang = defined('ICL_LANGUAGE_CODE') ? ICL_LANGUAGE_CODE : ''; // WPML - http://wpml.org   		
   		if (function_exists('pll_current_language')) // Polylang - https://wordpress.org/plugins/polylang/
   		   $lang = pll_current_language();   		   
         if (function_exists('qtrans_getLanguage')) // qTranslate - https://wordpress.org/plugins/qtranslate/
   		   $lang = qtrans_getLanguage();  
         
   		$wp_posts_per_page = get_option( 'posts_per_page' ); // Posts per page	- settings -> reading
   		
   		/* If $wp_posts_per_page > than shortcode value then $posts_per_page to $wp_posts_per_page */
   		if(has_action('alm_seo_installed') && $wp_posts_per_page > $posts_per_page && $seo === 'true')
      		$posts_per_page = $wp_posts_per_page;  
      	
      	
      	$paging_container_class = '';      	
      	if($paging === 'true'){
         	$paging_container_class = ' alm-paging-wrap';         	
         	$preloaded = "false";         	
         }
             				   	
   		
   		// Start ALM object   		
   		$ajaxloadmore = '';   				
   				
         $ajaxloadmore .= apply_filters('alm_before_container', ''); // ALM Core Filter Hook
         
         // Build canonical URL
         // - Check the page/post type and then get the correct base url for the page.
         
         // Date
         if(is_date()){
            // Is archive page
            $archive_year = get_the_date('Y');
            $archive_month = get_the_date('m');
            $archive_day = get_the_date('d');            
            if(is_year()){
              $canonicalURL = get_year_link( $archive_year );
            }
            if(is_month()){
              $canonicalURL = get_month_link( $archive_year, $archive_month );
            }
            if(is_day()){
              $canonicalURL = get_month_link( $archive_year, $archive_month, $archive_day );
            }            
         }
         // Frontpage
         elseif(is_front_page()){
            $canonicalURL = get_home_url().'/';
         }
         // Home (Blog Default)
         elseif(is_home()){
            $canonicalURL = get_permalink(get_option('page_for_posts'));
         }
         // Category
         elseif(is_category()){
            $cur_cat_id = get_cat_id( single_cat_title('',false) );
            $canonicalURL = get_category_link($cur_cat_id);
         }
         // Tag
         elseif(is_tag()){
            $cur_tag_id = get_query_var('tag_id');
            $canonicalURL = get_tag_link($cur_tag_id);
         } 
         // Author
         elseif(is_author()){
            $author_id = get_the_author_meta('ID');
            $canonicalURL = get_author_posts_url($author_id);
         } 
         // Taxonomy
         elseif(is_tax()){
            $tax_term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy' ));
            $tax_id = $tax_term->term_id;
            $canonicalURL = get_term_link($tax_id);
         }
         // post_type
         elseif(is_post_type_archive()){
            $post_type_archive = get_post_type();
            $canonicalURL = get_post_type_archive_link($post_type_archive);            
         }       
         else{            
            $canonicalURL = get_permalink();
         } 
          // End build canonical URL
          
         
         // ALM Wrapper 		
   		$ajaxloadmore .= '<div id="ajax-load-more" class="ajax-load-more-wrap'. $btn_color .''. $paging_color .''. $alm_layouts .'" data-id="" data-canonical-url="'. $canonicalURL .'" data-slug="'. $slug .'">';
   		
   		
   		// Previous Post
   		// - Set other add-on params to false
   		if($previous_post){
      		$preloaded = false;
      		$seo = false;
      		$paging = false;
      		$cache = false;
      		$comments = false;
   		}
   		
   		// Comments
   		// - Set other add-on params to false
   		if($comments){
      		$previous_post = false;
      		//$preloaded = false; // Fixed in Comments v1.1
      		$seo = false;
      		$paging = false;
      		$cache = false;
   		}
   		
   		
   		
   		// ********************************
   		// Preloaded Add-on
   		// Retreive preloaded posts and append to ajax load more object
   		if(has_action('alm_preload_installed') && $preloaded === 'true'){   
   		   
   		   $preloaded_output = '';
   		   $preload_offset = $offset;
   		   
   		   // If SEO, set $preloaded_amount to $posts_per_page
   		   if(has_action('alm_seo_installed') && $seo === 'true'){
   		      $preloaded_amount = $posts_per_page; 
            }
            
   		   // If Paging, set $preloaded_amount to $posts_per_page
            if($paging === 'true'){
   		      $preloaded_amount = $posts_per_page; 
   		      $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
   		      if($paged > 1){
      		      $preload_offset = $preloaded_amount * ($paged-2);
   		      }
            }    
            
      		$preloaded_arr = array( // Create preload data array
         		'comments'           => $comments,
      			'comments_per_page'  => $comments_per_page,
      			'comments_type'      => $comments_type,
      			'comments_style'     => $comments_style,
      			'comments_template'  => $comments_template,
      			'comments_callback'  => $comments_callback,
      			'comments_post_id'   => $comments_post_id,
         		'post_type'          => $post_type,
         		'post_format'        => $post_format,
         		'category'           => $category,
         		'category__not_in'   => $category__not_in,
         		'tag'                => $tag,
         		'tag__not_in'        => $tag__not_in,
         		'taxonomy'           => $taxonomy,
         		'taxonomy_terms'     => $taxonomy_terms,
         		'taxonomy_operator'  => $taxonomy_operator,
         		'taxonomy_relation'  => $taxonomy_relation,
         		'meta_key'           => $meta_key,
         		'meta_value'         => $meta_value,
         		'meta_compare'       => $meta_compare,
               'meta_relation'      => $meta_relation,
               'meta_type'          => $meta_type,
         		'year'               => $year,
         		'month'              => $month,
         		'day'                => $day,
         		'author'             => $author,
         		'post__in'           => $post__in,
         		'post__not_in'       => $post__not_in,
         		'search'             => $search,			
               'custom_args'        => $custom_args,
         		'post_status'        => $post_status,
         		'order'              => $order,
         		'orderby'            => $orderby,
         		'exclude'            => $exclude,
         		'offset'             => $preload_offset,      		
         		'posts_per_page'     => $preloaded_amount,  
         		'lang'               => $lang,  
               'css_classes'        => $css_classes,		  		
            );   
                    		
            $type = alm_get_repeater_type($repeater); 	
            
            if(!$comments){
               $args = apply_filters('alm_preload_args', $preloaded_arr); // Create preloaded $args            
               $args = apply_filters('alm_modify_query_args', $args, $slug); // ALM Core Filter Hook
               
      			$alm_preload_query = new WP_Query($args);
      			$alm_total_posts = $alm_preload_query->found_posts - $offset;
               $output = '';
               $noscript = '';               	         
               
               // Alternating Templates
               if($alternate === 'true' && has_action('alm_alternating_installed')){
                  $alternate_sequence_array = '';
                  if($alternate_sequence === 'even'){
                     $alternate_sequence_array = 'even';
                  }else{
                     $alternate_sequence_array = explode(',', $alternate_sequence);
                  }
      				$global_repeater = $repeater;
      				$global_type = $type;
      				$global_theme_repeater = $theme_repeater;
      			}      			
               
      			if ($alm_preload_query->have_posts()) :
      				$alm_loop_count = 0; // Count var
      				$alm_page = 0; // Set page to 0
      				$alm_found_posts = $alm_total_posts;
      				$alm_current = 0;
      			   while ($alm_preload_query->have_posts()) : $alm_preload_query->the_post();
      			   	$alm_loop_count++; 
         	         $alm_current++;
         	         $alm_item = $alm_loop_count; // Get current item in loop 	   	         
         	         
         	         // Alternating Templates
         	         if($alternate === 'true' && has_action('alm_alternating_installed')){
      	   	         if (function_exists('alm_alternate_is_in_array')) {
         	   	         if(alm_alternate_is_in_array($alm_current, $alternate_sequence_array)){ // If $alm_current is found in array
            	   	         if($alternate_theme_repeater != 'null' && has_filter('alm_get_theme_repeater')){
               	   	         $theme_repeater = $alternate_theme_repeater;
                  			   }else{
                     			   $repeater = $alternate_repeater;
                     			   $type = alm_get_repeater_type($repeater);
                  			   }  
               			   }else{ // Reset $repeater values
                  			   $repeater = $global_repeater;
                  			   $type = $global_type;
                  			   $theme_repeater = $global_theme_repeater;
               			   } 
            			   }
         			   }    	
         			   		   	
         			   $output .= apply_filters('alm_preload_inc', $repeater, $type, $theme_repeater, $alm_found_posts, $alm_page, $alm_item, $alm_current);
      
                  endwhile; wp_reset_query();
                  
                  if(has_action('alm_seo_installed') && $seo === 'true'){ // If SEO, add noscript paging
                     // Create noscript paging for SEO if preload and seo are enabled
                     $noscript = alm_paging_no_script($alm_preload_query);
                  }
                  
      			endif;
      			
      			$preloaded_output .= '<'.$container_element.' class="alm-listing alm-preloaded'. $classname .' '. $css_classes .'" data-total-posts="'. $alm_total_posts .'">';
      			if($seo === "true") $preloaded_output .= '<div class="alm-reveal alm-seo" data-page="1" data-url="'.$canonicalURL.'">';
      			      			
      			$preloaded_output .= $output;
      			
      			if($seo === "true") $preloaded_output .= '</div>';      			
      			$preloaded_output .= '</'.$container_element.'>';   			
      			
      			if(has_action('alm_seo_installed')){ // If SEO, add noscript paging
      			   $preloaded_output .= $noscript;
      			}
      			
      			// Reset templates (custom and theme) if $alternate is true
      			if($alternate === 'true' && has_action('alm_alternating_installed')){
      				$repeater = $global_repeater;
      				$type = $global_type;
      				$theme_repeater = $theme_repeater;
      			}
            } 
            
            // Preloaded Comments
            else {    
                   
         		if(has_action('alm_comments_installed') && $comments){         		
         		   $preloaded_comments = apply_filters('alm_comments_preloaded', $preloaded_arr); //[located in comments add-on]                                     
                  $preloaded_output .= '<'.$comments_style.' class="alm-listing alm-preloaded commentlist alm-comments-preloaded '. $classname .' '. $css_classes .'">';
                  if($seo === "true") $preloaded_output .= '<div class="alm-reveal alm-seo" data-page="1" data-url="'.$canonicalURL.'">';
                  
                  $preloaded_output .= $preloaded_comments;
                 
                  if($seo === "true") $preloaded_output .= '</div>';
                  $preloaded_output .= '</'.$container_element.'>';
               }
               
            }            
   			
   			$ajaxloadmore .= $preloaded_output; // Add $preloaded_output data to $ajaxloadmore
         }
         // End Preload Posts
         // ********************************    
         
         $listing_class = 'alm-listing';
         
         // If comments	
   		if($comments === 'true'){
      		$listing_class = 'commentlist alm-comments';
   		}
   		
   		$ajaxloadmore .= '<'.$container_element.' class="'.$listing_class.' alm-ajax'. $paging_container_class .' '. $classname . ' '. $css_classes .'"'; // Build ALM container       		
   		
   		
   		// Alternating Templates Add-on   		
   		if(has_action('alm_alternating_installed') && $alternate === 'true'){   		   
   		   $alternate_return = apply_filters(
   		   	'alm_alternating_templates_shortcode', 
   		   	$alternate, 
   		   	$alternate_sequence, 
   		   	$alternate_sequence_max, 
   		   	$alternate_repeater, 
   		   	$alternate_theme_repeater
   		   );   		   	
   			$ajaxloadmore .= $alternate_return;		
         }
   		
   		// Cache Add-on   		
   		if(has_action('alm_cache_installed') && $cache === 'true'){   		   
   		   $cache_return = apply_filters(
   		   	'alm_cache_shortcode', 
   		   	$cache, 
   		   	$cache_id, 
   		   	$options
   		   );   		   	
   			$ajaxloadmore .= $cache_return;		
         }
   		
   		// Comments Add-on   		
   		if(has_action('alm_comments_installed') && $comments === 'true'){  		   
   		   $comments_return = apply_filters(
   		   	'alm_comments_shortcode', 
      		   $comments, 
      		   $comments_per_page, 
      		   $comments_type, 
      		   $comments_style,
      		   $comments_template, 
      		   $comments_callback,
      		   $comments_post_id
   		   );    		    		   	
   			$ajaxloadmore .= $comments_return;		
         }
   		
   		// REST API Add-on   		
   		if(has_action('alm_rest_api_installed') && $restapi === true){  		   
   		   $restapi_return = apply_filters(
   		   	'alm_rest_api_shortcode', 
      		   'true',
      		   $restapi_base,
      		   $restapi_namespace,
      		   $restapi_endpoint,
      		   $restapi_template_id,
      		   $restapi_debug
   		   );    		    		   	
   			$ajaxloadmore .= $restapi_return;		
         }
         
   		
   		// Paging Add-on
         if(has_action('alm_paging_installed') && $paging === 'true'){   		   
   		   $paging_return = apply_filters(
   		   	'alm_paging_shortcode', 
   		   	$paging, 
   		   	$paging_controls, 
   		   	$paging_show_at_most, 
   		   	$paging_classes, 
   		   	$options
   		   );   		   	
   			$ajaxloadmore .= $paging_return;		
         } 
   		
   		
   		// Preloaded Add-on
         if(has_action('alm_preload_installed') && $preloaded === 'true'){
   		   $ajaxloadmore .= ' data-preloaded="'.$preloaded.'"';	
            $ajaxloadmore .= ' data-preloaded-amount="'.$preloaded_amount.'"';
   		}   
   		   
   		   			
   		// SEO Add-on
   		if(has_action('alm_seo_installed') && $seo === 'true'){   		   
   		   $seo_return = apply_filters(
   		      'alm_seo_shortcode', 
   		      $seo, 
   		      $preloaded, 
   		      $options
            );   		   	
   			$ajaxloadmore .= $seo_return;		
         } 
   		   
   		   			
   		// Previous Post Post Add-on   		
   		if(has_action('alm_prev_post_installed') && $previous_post){   		
   		   $prev_post_return = apply_filters(
   		   	'alm_prev_post_shortcode', 
   		   	$previous_post_id, 
   		   	$previous_post_taxonomy,
   		   	$options
   		   );   		   	
   			$ajaxloadmore .= $prev_post_return;		
         }    		
   		
   		$ajaxloadmore .= ' data-repeater="'.$repeater.'"';   		
   		if($theme_repeater != 'null'){
      		$ajaxloadmore .= ' data-theme-repeater="'.$theme_repeater.'"';  
         } 			
   		$ajaxloadmore .= ' data-post-type="'.$post_type.'"';
   		$ajaxloadmore .= ' data-post-format="'.$post_format.'"';
   		$ajaxloadmore .= ' data-category="'.$category.'"';
   		$ajaxloadmore .= ' data-category-not-in="'.$category__not_in.'"';
   		$ajaxloadmore .= ' data-tag="'.$tag.'"';
   		$ajaxloadmore .= ' data-tag-not-in="'.$tag__not_in.'"';
   		$ajaxloadmore .= ' data-taxonomy="'.$taxonomy.'"';
   		$ajaxloadmore .= ' data-taxonomy-terms="'.$taxonomy_terms.'"';
   		$ajaxloadmore .= ' data-taxonomy-operator="'.$taxonomy_operator.'"';
   		$ajaxloadmore .= ' data-taxonomy-relation="'.$taxonomy_relation.'"';
   		$ajaxloadmore .= ' data-meta-key="'.$meta_key.'"';
   		$ajaxloadmore .= ' data-meta-value="'.$meta_value.'"';
   		$ajaxloadmore .= ' data-meta-compare="'.$meta_compare.'"';
   		$ajaxloadmore .= ' data-meta-relation="'.$meta_relation.'"';
   		$ajaxloadmore .= ' data-meta-type="'.$meta_type.'"';
   		$ajaxloadmore .= ' data-year="'.$year.'"';
   		$ajaxloadmore .= ' data-month="'.$month.'"';
   		$ajaxloadmore .= ' data-day="'.$day.'"';
   		$ajaxloadmore .= ' data-author="'.$author.'"';
   		$ajaxloadmore .= ' data-post-in="'.$post__in.'"';
   		$ajaxloadmore .= ' data-post-not-in="'.$post__not_in.'"';
   		$ajaxloadmore .= ' data-exclude="'.$exclude.'"';
   		$ajaxloadmore .= ' data-search="'.$search.'"';
   		$ajaxloadmore .= ' data-custom-args="'.$custom_args.'"';
   		$ajaxloadmore .= ' data-post-status="'.$post_status.'"';
   		$ajaxloadmore .= ' data-order="'.$order.'"';
   		$ajaxloadmore .= ' data-orderby="'.$orderby.'"';
   		$ajaxloadmore .= ' data-offset="'.$offset.'"';	
   		$ajaxloadmore .= ' data-posts-per-page="'.$posts_per_page.'"';         
   		$ajaxloadmore .= ' data-lang="'.$lang.'"';
   		$ajaxloadmore .= ' data-scroll="'.$scroll.'"';
   		$ajaxloadmore .= ' data-scroll-distance="'.$scroll_distance.'"';
   		$ajaxloadmore .= ' data-max-pages="'.$max_pages.'"';
   		$ajaxloadmore .= ' data-pause-override="'.$pause_override.'"';
   		$ajaxloadmore .= ' data-pause="'.$pause.'"';
   		$ajaxloadmore .= ' data-button-label="'.$button_label.'"';
   		if(!empty($button_loading_label)){
   		   $ajaxloadmore .= ' data-button-loading-label="'.$button_loading_label.'"';      		
   		}
         $ajaxloadmore .= ' data-button-class="'.$button_classname.'"';
   		$ajaxloadmore .= ' data-destroy-after="'.$destroy_after.'"';
   		$ajaxloadmore .= ' data-transition="'.$transition.'"';
   		if($transition_speed !== '250')   		   
   		   $ajaxloadmore .= ' data-transition-speed="'.$transition_speed.'"';
   		if($transition_container === 'false')   		   
   		   $ajaxloadmore .= ' data-transition-container="'.$transition_container.'"';
   		$ajaxloadmore .= ' data-images-loaded="'.$images_loaded.'"';
   		   		
   		$ajaxloadmore .= '>';
   		   		
   		
   		// Previous Post Add-on       
         // - Get first post and append to ajax load more object
   		if(has_action('alm_prev_post_installed') && $previous_post){ 
      		$repeater_type = preg_split('/(?=\d)/', $repeater, 2); // split $repeater at number to retrieve type
      		$repeater_type = $repeater_type[0]; // (default | repeater | template_)       		
      		if($theme_repeater != 'null' && has_filter('alm_get_theme_repeater')){
               $repeater_type = null;
            }              
            // Get next post include and build the output from the next post filter    
            $previous_post_output = '<div class="alm-reveal alm-previous-post post-'. $previous_post_id .'" data-url="'. get_permalink($previous_post_id) .'" data-title="'. get_the_title($previous_post_id) .'" data-id="'. $previous_post_id .'">'; // Set the post id .alm-reveal div
      		$previous_post_output .= apply_filters('alm_prev_post_inc', $repeater, $repeater_type, $theme_repeater, $previous_post_id, $post_type);
            $previous_post_output .= '</div>';
   			$ajaxloadmore .= $previous_post_output; // Add $next_post_output data to $ajaxloadmore
   
         }
         // End Previous Post         
   		
   		
   		$ajaxloadmore .= '</'.$container_element.'>';
   		 
         $ajaxloadmore .= apply_filters('alm_before_button', ''); //  ALM Core Filter Hook
         
   		$ajaxloadmore .= '</div>';	
   		
         $ajaxloadmore .= apply_filters('alm_after_container', ''); //  ALM Core Filter Hook  
                 
         
   		// REST API Add-on - add template to page
   		if(has_action('alm_rest_api_installed') && $restapi){
      		if($theme_repeater != 'null' && has_action('alm_get_rest_theme_repeater')){
         		do_action('alm_get_rest_theme_repeater', $theme_repeater);
            } else {
   			   $rest_type = alm_get_repeater_type($repeater);
   			   do_action('alm_get_rest_api_template', $repeater, $rest_type);
   			}
   		} 
   			
   		return $ajaxloadmore; // End ALM object
      }
   
   }

endif;