Your IP : 216.73.216.162


Current Path : /home/x/b/o/xbodynamge/namtation/wp-content/
Upload File :
Current File : /home/x/b/o/xbodynamge/namtation/wp-content/frontend.php.tar

home/xbodynamge/lebauwcentre/wp-content/plugins/wordpress-seo/src/deprecated/frontend/frontend.php000064400000016716151126501730027756 0ustar00<?php
/**
 * Backwards compatibility class for WPSEO_Frontend.
 *
 * @package Yoast\YoastSEO\Backwards_Compatibility
 */

use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
use Yoast\WP\SEO\Presenters\Canonical_Presenter;
use Yoast\WP\SEO\Presenters\Meta_Description_Presenter;
use Yoast\WP\SEO\Presenters\Rel_Next_Presenter;
use Yoast\WP\SEO\Presenters\Rel_Prev_Presenter;
use Yoast\WP\SEO\Presenters\Robots_Presenter;
use Yoast\WP\SEO\Surfaces\Helpers_Surface;

/**
 * Class WPSEO_Frontend
 *
 * @codeCoverageIgnore Because of deprecation.
 */
class WPSEO_Frontend {

	/**
	 * Instance of this class.
	 *
	 * @var WPSEO_Frontend
	 */
	public static $instance;

	/**
	 * The memoizer for the meta tags context.
	 *
	 * @var Meta_Tags_Context_Memoizer
	 */
	private $context_memoizer;

	/**
	 * The WPSEO Replace Vars object.
	 *
	 * @var WPSEO_Replace_Vars
	 */
	private $replace_vars;

	/**
	 * The helpers surface.
	 *
	 * @var Helpers_Surface
	 */
	private $helpers;

	/**
	 * WPSEO_Frontend constructor.
	 */
	public function __construct() {
		$this->context_memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
		$this->replace_vars     = YoastSEO()->classes->get( WPSEO_Replace_Vars::class );
		$this->helpers          = YoastSEO()->classes->get( Helpers_Surface::class );
	}

	/**
	 * Catches call to methods that don't exist and might deprecated.
	 *
	 * @param string $method    The called method.
	 * @param array  $arguments The given arguments.
	 *
	 * @return mixed
	 */
	public function __call( $method, $arguments ) {
		_deprecated_function( $method, 'WPSEO 14.0' );

		$title_methods = [
			'title',
			'fix_woo_title',
			'get_content_title',
			'get_seo_title',
			'get_taxonomy_title',
			'get_author_title',
			'get_title_from_options',
			'get_default_title',
			'force_wp_title',
		];
		if ( in_array( $method, $title_methods, true ) ) {
			return $this->get_title();
		}

		return null;
	}

	/**
	 * Retrieves an instance of the class.
	 *
	 * @return static The instance.
	 */
	public static function get_instance() {
		if ( is_null( self::$instance ) ) {
			self::$instance = new self();
		}

		return self::$instance;
	}

	/**
	 * Outputs the canonical value.
	 *
	 * @param bool $echo        Whether or not to output the canonical element.
	 * @param bool $un_paged    Whether or not to return the canonical with or without pagination added to the URL.
	 * @param bool $no_override Whether or not to return a manually overridden canonical.
	 *
	 * @return string|void
	 */
	public function canonical( $echo = true, $un_paged = false, $no_override = false ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		$presenter    = new Canonical_Presenter();
		/** This filter is documented in src/integrations/front-end-integration.php */
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;

		if ( ! $echo ) {
			return $presenter->get();
		}

		echo $presenter->present();
	}

	/**
	 * Retrieves the meta robots value.
	 *
	 * @return string
	 */
	public function get_robots() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		return $presentation->robots;
	}

	/**
	 * Outputs the meta robots value.
	 */
	public function robots() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation            = $this->get_current_page_presentation();
		$presenter               = new Robots_Presenter();
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;
		echo $presenter->present();
	}

	/**
	 * Determine $robots values for a single post.
	 *
	 * @param array $robots  Robots data array.
	 * @param int   $post_id The post ID for which to determine the $robots values, defaults to current post.
	 *
	 * @return array
	 */
	public function robots_for_single_post( $robots, $post_id = 0 ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();

		return $presentation->robots;
	}

	/**
	 * Used for static home and posts pages as well as singular titles.
	 *
	 * @param object|null $object If filled, object to get the title for.
	 *
	 * @return string The content title.
	 */
	private function get_title( $object = null ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		$title        = $presentation->title;

		return $this->replace_vars->replace( $title, $presentation->source );
	}

	/**
	 * This function adds paging details to the title.
	 *
	 * @param string $sep         Separator used in the title.
	 * @param string $seplocation Whether the separator should be left or right.
	 * @param string $title       The title to append the paging info to.
	 *
	 * @return string
	 */
	public function add_paging_to_title( $sep, $seplocation, $title ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		return $title;
	}

	/**
	 * Add part to title, while ensuring that the $seplocation variable is respected.
	 *
	 * @param string $sep         Separator used in the title.
	 * @param string $seplocation Whether the separator should be left or right.
	 * @param string $title       The title to append the title_part to.
	 * @param string $title_part  The part to append to the title.
	 *
	 * @return string
	 */
	public function add_to_title( $sep, $seplocation, $title, $title_part ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		if ( $seplocation === 'right' ) {
			return $title . $sep . $title_part;
		}

		return $title_part . $sep . $title;
	}

	/**
	 * Adds 'prev' and 'next' links to archives.
	 *
	 * @link http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
	 */
	public function adjacent_rel_links() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();

		$rel_prev_presenter               = new Rel_Prev_Presenter();
		$rel_prev_presenter->presentation = $presentation;
		$rel_prev_presenter->helpers      = $this->helpers;
		$rel_prev_presenter->replace_vars = $this->replace_vars;
		echo $rel_prev_presenter->present();

		$rel_next_presenter               = new Rel_Next_Presenter();
		$rel_next_presenter->presentation = $presentation;
		$rel_next_presenter->helpers      = $this->helpers;
		$rel_next_presenter->replace_vars = $this->replace_vars;
		echo $rel_next_presenter->present();
	}

	/**
	 * Outputs the meta description element or returns the description text.
	 *
	 * @param bool $echo Echo or return output flag.
	 *
	 * @return string
	 */
	public function metadesc( $echo = true ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation            = $this->get_current_page_presentation();
		$presenter               = new Meta_Description_Presenter();
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;

		if ( ! $echo ) {
			return $presenter->get();
		}
		$presenter->present();
	}

	/**
	 * Returns the current page presentation.
	 *
	 * @return Indexable_Presentation The current page presentation.
	 */
	private function get_current_page_presentation() {
		$context = $this->context_memoizer->for_current_page();
		/** This filter is documented in src/integrations/front-end-integration.php */
		return apply_filters( 'wpseo_frontend_presentation', $context->presentation, $context );
	}
}
plugins/themeisle-companion/obfx_modules/beaver-widgets/modules/services/includes/frontend.php000064400000002704151136527730035161 0ustar00home/xbodynamge/www/wp-content<?php
/**
 * This file is used to render services module.
 * You have access to two variables in this file:
 *
 * $module An instance of your module class.
 * $settings The module's settings.
 */

$columns = $settings->column_number;
$services = $settings->services;
$services_nb = sizeof( $services );
$card_layout = $settings->card_layout;
$container_class = $card_layout === 'yes' ? 'obfx-card obfx-service' : 'obfx-service';
if ( ! empty( $columns ) ) {
	echo '<div class="obfx-services-section">';
	foreach ( $services as $service ) {
		echo '<div class="obfx-service-wrapper">';
			echo '<div class="' . esc_attr( $container_class ) . '">';
				$title = $service->title;
				$text = $service->text;
				$icon = $service->icon;
				$link = $service->link;

		if ( ! empty( $icon ) ) {
			$icon_color = ! empty( $service->icon_color ) ? '#' . $service->icon_color : '#d6d6d6';
			echo '<div class="obfx-service-icon" style="color:' . esc_attr( $icon_color ) . '"><i class="' . esc_attr( $icon ) . '"></i></div>';
		}
		if ( ! empty( $title ) ) {
			if ( ! empty( $link ) ) {
				echo '<a class="obfx-service-title" href="' . esc_url( $link ) . '" target="_blank">';
			}
			echo '<h4 class="obfx-service-title">' . wp_kses_post( $title ) . '</h4>';
			if ( ! empty( $link ) ) {
				echo '</a>';
			}
		}

		if ( ! empty( $text ) ) {
			echo '<p class="obfx-service-content">' . wp_kses_post( $text ) . '</p>';
		}

			echo '</div>';
		echo '</div>';
	}
	echo '</div>';

}
home/xbodynamge/www/wp-content/plugins/wordpress-seo/src/deprecated/frontend/frontend.php000064400000016716151141737210026123 0ustar00<?php
/**
 * Backwards compatibility class for WPSEO_Frontend.
 *
 * @package Yoast\YoastSEO\Backwards_Compatibility
 */

use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
use Yoast\WP\SEO\Presenters\Canonical_Presenter;
use Yoast\WP\SEO\Presenters\Meta_Description_Presenter;
use Yoast\WP\SEO\Presenters\Rel_Next_Presenter;
use Yoast\WP\SEO\Presenters\Rel_Prev_Presenter;
use Yoast\WP\SEO\Presenters\Robots_Presenter;
use Yoast\WP\SEO\Surfaces\Helpers_Surface;

/**
 * Class WPSEO_Frontend
 *
 * @codeCoverageIgnore Because of deprecation.
 */
class WPSEO_Frontend {

	/**
	 * Instance of this class.
	 *
	 * @var WPSEO_Frontend
	 */
	public static $instance;

	/**
	 * The memoizer for the meta tags context.
	 *
	 * @var Meta_Tags_Context_Memoizer
	 */
	private $context_memoizer;

	/**
	 * The WPSEO Replace Vars object.
	 *
	 * @var WPSEO_Replace_Vars
	 */
	private $replace_vars;

	/**
	 * The helpers surface.
	 *
	 * @var Helpers_Surface
	 */
	private $helpers;

	/**
	 * WPSEO_Frontend constructor.
	 */
	public function __construct() {
		$this->context_memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
		$this->replace_vars     = YoastSEO()->classes->get( WPSEO_Replace_Vars::class );
		$this->helpers          = YoastSEO()->classes->get( Helpers_Surface::class );
	}

	/**
	 * Catches call to methods that don't exist and might deprecated.
	 *
	 * @param string $method    The called method.
	 * @param array  $arguments The given arguments.
	 *
	 * @return mixed
	 */
	public function __call( $method, $arguments ) {
		_deprecated_function( $method, 'WPSEO 14.0' );

		$title_methods = [
			'title',
			'fix_woo_title',
			'get_content_title',
			'get_seo_title',
			'get_taxonomy_title',
			'get_author_title',
			'get_title_from_options',
			'get_default_title',
			'force_wp_title',
		];
		if ( in_array( $method, $title_methods, true ) ) {
			return $this->get_title();
		}

		return null;
	}

	/**
	 * Retrieves an instance of the class.
	 *
	 * @return static The instance.
	 */
	public static function get_instance() {
		if ( is_null( self::$instance ) ) {
			self::$instance = new self();
		}

		return self::$instance;
	}

	/**
	 * Outputs the canonical value.
	 *
	 * @param bool $echo        Whether or not to output the canonical element.
	 * @param bool $un_paged    Whether or not to return the canonical with or without pagination added to the URL.
	 * @param bool $no_override Whether or not to return a manually overridden canonical.
	 *
	 * @return string|void
	 */
	public function canonical( $echo = true, $un_paged = false, $no_override = false ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		$presenter    = new Canonical_Presenter();
		/** This filter is documented in src/integrations/front-end-integration.php */
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;

		if ( ! $echo ) {
			return $presenter->get();
		}

		echo $presenter->present();
	}

	/**
	 * Retrieves the meta robots value.
	 *
	 * @return string
	 */
	public function get_robots() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		return $presentation->robots;
	}

	/**
	 * Outputs the meta robots value.
	 */
	public function robots() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation            = $this->get_current_page_presentation();
		$presenter               = new Robots_Presenter();
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;
		echo $presenter->present();
	}

	/**
	 * Determine $robots values for a single post.
	 *
	 * @param array $robots  Robots data array.
	 * @param int   $post_id The post ID for which to determine the $robots values, defaults to current post.
	 *
	 * @return array
	 */
	public function robots_for_single_post( $robots, $post_id = 0 ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();

		return $presentation->robots;
	}

	/**
	 * Used for static home and posts pages as well as singular titles.
	 *
	 * @param object|null $object If filled, object to get the title for.
	 *
	 * @return string The content title.
	 */
	private function get_title( $object = null ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		$title        = $presentation->title;

		return $this->replace_vars->replace( $title, $presentation->source );
	}

	/**
	 * This function adds paging details to the title.
	 *
	 * @param string $sep         Separator used in the title.
	 * @param string $seplocation Whether the separator should be left or right.
	 * @param string $title       The title to append the paging info to.
	 *
	 * @return string
	 */
	public function add_paging_to_title( $sep, $seplocation, $title ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		return $title;
	}

	/**
	 * Add part to title, while ensuring that the $seplocation variable is respected.
	 *
	 * @param string $sep         Separator used in the title.
	 * @param string $seplocation Whether the separator should be left or right.
	 * @param string $title       The title to append the title_part to.
	 * @param string $title_part  The part to append to the title.
	 *
	 * @return string
	 */
	public function add_to_title( $sep, $seplocation, $title, $title_part ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		if ( $seplocation === 'right' ) {
			return $title . $sep . $title_part;
		}

		return $title_part . $sep . $title;
	}

	/**
	 * Adds 'prev' and 'next' links to archives.
	 *
	 * @link http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
	 */
	public function adjacent_rel_links() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();

		$rel_prev_presenter               = new Rel_Prev_Presenter();
		$rel_prev_presenter->presentation = $presentation;
		$rel_prev_presenter->helpers      = $this->helpers;
		$rel_prev_presenter->replace_vars = $this->replace_vars;
		echo $rel_prev_presenter->present();

		$rel_next_presenter               = new Rel_Next_Presenter();
		$rel_next_presenter->presentation = $presentation;
		$rel_next_presenter->helpers      = $this->helpers;
		$rel_next_presenter->replace_vars = $this->replace_vars;
		echo $rel_next_presenter->present();
	}

	/**
	 * Outputs the meta description element or returns the description text.
	 *
	 * @param bool $echo Echo or return output flag.
	 *
	 * @return string
	 */
	public function metadesc( $echo = true ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation            = $this->get_current_page_presentation();
		$presenter               = new Meta_Description_Presenter();
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;

		if ( ! $echo ) {
			return $presenter->get();
		}
		$presenter->present();
	}

	/**
	 * Returns the current page presentation.
	 *
	 * @return Indexable_Presentation The current page presentation.
	 */
	private function get_current_page_presentation() {
		$context = $this->context_memoizer->for_current_page();
		/** This filter is documented in src/integrations/front-end-integration.php */
		return apply_filters( 'wpseo_frontend_presentation', $context->presentation, $context );
	}
}
home/xbodynamge/namtation/wp-content/plugins/wordpress-seo/src/deprecated/frontend/frontend.php000064400000016716151150414040027262 0ustar00<?php
/**
 * Backwards compatibility class for WPSEO_Frontend.
 *
 * @package Yoast\YoastSEO\Backwards_Compatibility
 */

use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
use Yoast\WP\SEO\Presenters\Canonical_Presenter;
use Yoast\WP\SEO\Presenters\Meta_Description_Presenter;
use Yoast\WP\SEO\Presenters\Rel_Next_Presenter;
use Yoast\WP\SEO\Presenters\Rel_Prev_Presenter;
use Yoast\WP\SEO\Presenters\Robots_Presenter;
use Yoast\WP\SEO\Surfaces\Helpers_Surface;

/**
 * Class WPSEO_Frontend
 *
 * @codeCoverageIgnore Because of deprecation.
 */
class WPSEO_Frontend {

	/**
	 * Instance of this class.
	 *
	 * @var WPSEO_Frontend
	 */
	public static $instance;

	/**
	 * The memoizer for the meta tags context.
	 *
	 * @var Meta_Tags_Context_Memoizer
	 */
	private $context_memoizer;

	/**
	 * The WPSEO Replace Vars object.
	 *
	 * @var WPSEO_Replace_Vars
	 */
	private $replace_vars;

	/**
	 * The helpers surface.
	 *
	 * @var Helpers_Surface
	 */
	private $helpers;

	/**
	 * WPSEO_Frontend constructor.
	 */
	public function __construct() {
		$this->context_memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
		$this->replace_vars     = YoastSEO()->classes->get( WPSEO_Replace_Vars::class );
		$this->helpers          = YoastSEO()->classes->get( Helpers_Surface::class );
	}

	/**
	 * Catches call to methods that don't exist and might deprecated.
	 *
	 * @param string $method    The called method.
	 * @param array  $arguments The given arguments.
	 *
	 * @return mixed
	 */
	public function __call( $method, $arguments ) {
		_deprecated_function( $method, 'WPSEO 14.0' );

		$title_methods = [
			'title',
			'fix_woo_title',
			'get_content_title',
			'get_seo_title',
			'get_taxonomy_title',
			'get_author_title',
			'get_title_from_options',
			'get_default_title',
			'force_wp_title',
		];
		if ( in_array( $method, $title_methods, true ) ) {
			return $this->get_title();
		}

		return null;
	}

	/**
	 * Retrieves an instance of the class.
	 *
	 * @return static The instance.
	 */
	public static function get_instance() {
		if ( is_null( self::$instance ) ) {
			self::$instance = new self();
		}

		return self::$instance;
	}

	/**
	 * Outputs the canonical value.
	 *
	 * @param bool $echo        Whether or not to output the canonical element.
	 * @param bool $un_paged    Whether or not to return the canonical with or without pagination added to the URL.
	 * @param bool $no_override Whether or not to return a manually overridden canonical.
	 *
	 * @return string|void
	 */
	public function canonical( $echo = true, $un_paged = false, $no_override = false ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		$presenter    = new Canonical_Presenter();
		/** This filter is documented in src/integrations/front-end-integration.php */
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;

		if ( ! $echo ) {
			return $presenter->get();
		}

		echo $presenter->present();
	}

	/**
	 * Retrieves the meta robots value.
	 *
	 * @return string
	 */
	public function get_robots() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		return $presentation->robots;
	}

	/**
	 * Outputs the meta robots value.
	 */
	public function robots() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation            = $this->get_current_page_presentation();
		$presenter               = new Robots_Presenter();
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;
		echo $presenter->present();
	}

	/**
	 * Determine $robots values for a single post.
	 *
	 * @param array $robots  Robots data array.
	 * @param int   $post_id The post ID for which to determine the $robots values, defaults to current post.
	 *
	 * @return array
	 */
	public function robots_for_single_post( $robots, $post_id = 0 ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();

		return $presentation->robots;
	}

	/**
	 * Used for static home and posts pages as well as singular titles.
	 *
	 * @param object|null $object If filled, object to get the title for.
	 *
	 * @return string The content title.
	 */
	private function get_title( $object = null ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();
		$title        = $presentation->title;

		return $this->replace_vars->replace( $title, $presentation->source );
	}

	/**
	 * This function adds paging details to the title.
	 *
	 * @param string $sep         Separator used in the title.
	 * @param string $seplocation Whether the separator should be left or right.
	 * @param string $title       The title to append the paging info to.
	 *
	 * @return string
	 */
	public function add_paging_to_title( $sep, $seplocation, $title ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		return $title;
	}

	/**
	 * Add part to title, while ensuring that the $seplocation variable is respected.
	 *
	 * @param string $sep         Separator used in the title.
	 * @param string $seplocation Whether the separator should be left or right.
	 * @param string $title       The title to append the title_part to.
	 * @param string $title_part  The part to append to the title.
	 *
	 * @return string
	 */
	public function add_to_title( $sep, $seplocation, $title, $title_part ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		if ( $seplocation === 'right' ) {
			return $title . $sep . $title_part;
		}

		return $title_part . $sep . $title;
	}

	/**
	 * Adds 'prev' and 'next' links to archives.
	 *
	 * @link http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
	 */
	public function adjacent_rel_links() {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation = $this->get_current_page_presentation();

		$rel_prev_presenter               = new Rel_Prev_Presenter();
		$rel_prev_presenter->presentation = $presentation;
		$rel_prev_presenter->helpers      = $this->helpers;
		$rel_prev_presenter->replace_vars = $this->replace_vars;
		echo $rel_prev_presenter->present();

		$rel_next_presenter               = new Rel_Next_Presenter();
		$rel_next_presenter->presentation = $presentation;
		$rel_next_presenter->helpers      = $this->helpers;
		$rel_next_presenter->replace_vars = $this->replace_vars;
		echo $rel_next_presenter->present();
	}

	/**
	 * Outputs the meta description element or returns the description text.
	 *
	 * @param bool $echo Echo or return output flag.
	 *
	 * @return string
	 */
	public function metadesc( $echo = true ) {
		_deprecated_function( __METHOD__, 'WPSEO 14.0' );

		$presentation            = $this->get_current_page_presentation();
		$presenter               = new Meta_Description_Presenter();
		$presenter->presentation = $presentation;
		$presenter->helpers      = $this->helpers;
		$presenter->replace_vars = $this->replace_vars;

		if ( ! $echo ) {
			return $presenter->get();
		}
		$presenter->present();
	}

	/**
	 * Returns the current page presentation.
	 *
	 * @return Indexable_Presentation The current page presentation.
	 */
	private function get_current_page_presentation() {
		$context = $this->context_memoizer->for_current_page();
		/** This filter is documented in src/integrations/front-end-integration.php */
		return apply_filters( 'wpseo_frontend_presentation', $context->presentation, $context );
	}
}
plugins/themeisle-companion/obfx_modules/beaver-widgets/modules/services/includes/frontend.php000064400000002704151151377210035104 0ustar00home/xbodynamge/dev/wp-content<?php
/**
 * This file is used to render services module.
 * You have access to two variables in this file:
 *
 * $module An instance of your module class.
 * $settings The module's settings.
 */

$columns = $settings->column_number;
$services = $settings->services;
$services_nb = sizeof( $services );
$card_layout = $settings->card_layout;
$container_class = $card_layout === 'yes' ? 'obfx-card obfx-service' : 'obfx-service';
if ( ! empty( $columns ) ) {
	echo '<div class="obfx-services-section">';
	foreach ( $services as $service ) {
		echo '<div class="obfx-service-wrapper">';
			echo '<div class="' . esc_attr( $container_class ) . '">';
				$title = $service->title;
				$text = $service->text;
				$icon = $service->icon;
				$link = $service->link;

		if ( ! empty( $icon ) ) {
			$icon_color = ! empty( $service->icon_color ) ? '#' . $service->icon_color : '#d6d6d6';
			echo '<div class="obfx-service-icon" style="color:' . esc_attr( $icon_color ) . '"><i class="' . esc_attr( $icon ) . '"></i></div>';
		}
		if ( ! empty( $title ) ) {
			if ( ! empty( $link ) ) {
				echo '<a class="obfx-service-title" href="' . esc_url( $link ) . '" target="_blank">';
			}
			echo '<h4 class="obfx-service-title">' . wp_kses_post( $title ) . '</h4>';
			if ( ! empty( $link ) ) {
				echo '</a>';
			}
		}

		if ( ! empty( $text ) ) {
			echo '<p class="obfx-service-content">' . wp_kses_post( $text ) . '</p>';
		}

			echo '</div>';
		echo '</div>';
	}
	echo '</div>';

}
plugins/themeisle-companion/obfx_modules/beaver-widgets/modules/services/includes/frontend.php000064400000002704151151407100036776 0ustar00home/xbodynamge/lebauwcentre/wp-content<?php
/**
 * This file is used to render services module.
 * You have access to two variables in this file:
 *
 * $module An instance of your module class.
 * $settings The module's settings.
 */

$columns = $settings->column_number;
$services = $settings->services;
$services_nb = sizeof( $services );
$card_layout = $settings->card_layout;
$container_class = $card_layout === 'yes' ? 'obfx-card obfx-service' : 'obfx-service';
if ( ! empty( $columns ) ) {
	echo '<div class="obfx-services-section">';
	foreach ( $services as $service ) {
		echo '<div class="obfx-service-wrapper">';
			echo '<div class="' . esc_attr( $container_class ) . '">';
				$title = $service->title;
				$text = $service->text;
				$icon = $service->icon;
				$link = $service->link;

		if ( ! empty( $icon ) ) {
			$icon_color = ! empty( $service->icon_color ) ? '#' . $service->icon_color : '#d6d6d6';
			echo '<div class="obfx-service-icon" style="color:' . esc_attr( $icon_color ) . '"><i class="' . esc_attr( $icon ) . '"></i></div>';
		}
		if ( ! empty( $title ) ) {
			if ( ! empty( $link ) ) {
				echo '<a class="obfx-service-title" href="' . esc_url( $link ) . '" target="_blank">';
			}
			echo '<h4 class="obfx-service-title">' . wp_kses_post( $title ) . '</h4>';
			if ( ! empty( $link ) ) {
				echo '</a>';
			}
		}

		if ( ! empty( $text ) ) {
			echo '<p class="obfx-service-content">' . wp_kses_post( $text ) . '</p>';
		}

			echo '</div>';
		echo '</div>';
	}
	echo '</div>';

}
plugins/themeisle-companion/vendor/codeinwp/themeisle-content-forms/beaver/includes/frontend.php000064400000002523151155047640035343 0ustar00home/xbodynamge/dev/wp-content<?php
/**
 * The module rendering file
 *
 * @$module object
 * @$settings object
 */
$form_settings = apply_filters( 'content_forms_config_for_' . $module->get_type(), array() );

/** == Fields Validation == */
$controls = $form_settings['controls'];

foreach ( $controls as $control_name => $control ) {
	$control_value = $module->get_setting( $control_name );
	if ( isset( $control['required'] ) && $control['required'] && empty( $control_value ) ) { ?>
		<div class="content-forms-required">
			<?php
			printf(
				esc_html__( 'The %s setting is required!', 'themeisle-companion' ),
				'<strong>' . $control['label'] . '</strong>'
			); ?>
		</div>
		<?php
	}
}

/** == FORM HEADER == */
$module->render_form_header( $module->node );

/** == FORM FIELDS == */
$fields = $module->get_setting( 'fields' );

foreach ( $fields as $key => $field ) {
	$module->render_form_field( (array)$field );
}

$controls = $form_settings['controls'];

/** == FORM SUBMIT BUTTON == */
$btn_label = esc_html__( 'Submit', 'themeisle-companion' );

if ( ! empty( $settings->submit_label ) ) {
	$btn_label = $settings->submit_label;
} ?>
<fieldset>
	<button type="submit" name="submit" value="submit-<?php echo $module->get_type(); ?>-<?php echo $module->node; ?>">
		<?php echo $btn_label; ?>
	</button>
</fieldset>
<?php

/** == FORM FOOTER == */
$module->render_form_footer();plugins/themeisle-companion/obfx_modules/beaver-widgets/modules/pricing-table/includes/frontend.php000064400000005021151156373340036001 0ustar00home/xbodynamge/dev/wp-content<?php
/**
 * This file is used to render each pricing module instance.
 * You have access to two variables in this file:
 *
 * $module An instance of your module class.
 * $settings The module's settings.
 */

$class_to_add = $settings->card_layout === 'yes' ? 'obfx-card' : '';

echo '<div class="obfx-pricing-plan ' . esc_attr( $class_to_add ) . '">';
	echo '<div class="obfx-pricing-header">';
		echo '<' . $settings->plan_title_tag . ' class="obfx-plan-title text-center">' . wp_kses_post( $settings->plan_title ) . '</' . $settings->plan_title_tag . '>';
		echo '<' . $settings->plan_subtitle_tag . ' class="obfx-plan-subtitle text-center">' . wp_kses_post( $settings->plan_subtitle ) . '</' . $settings->plan_subtitle_tag . '>';
	echo '</div>';
	echo '<div class="obfx-pricing-price text-center">';
switch ( $settings->currency_position ) {
	case 'after':
		echo '<span class="obfx-price">' . wp_kses_post( $settings->price ) . '</span><sup class="obfx-currency">' . wp_kses_post( $settings->currency ) . '</sup><span class="obfx-period">' . wp_kses_post( $settings->period ) . '</span>';
		break;
	case 'before':
		echo '<sup>' . wp_kses_post( $settings->currency ) . '</sup><span class="obfx-price">' . wp_kses_post( $settings->price ) . '</span><span class="obfx-period">' . wp_kses_post( $settings->period ) . '</span>';
		break;
}
	echo '</div>';

	$features = $settings->features;
if ( ! empty( $features ) ) {
	echo '<ul class="obfx-pricing-features text-center">';
	foreach ( $features as $feature ) {
		$icon = ! empty( $feature->icon ) ? $feature->icon : '';
		$bold_text = ! empty( $feature->bold_text ) ? $feature->bold_text : '';
		$text = ! empty( $feature->text ) ? $feature->text : '';
		$section_is_empty = empty( $icon ) && empty( $bold_text ) && empty( $text );
		if ( ! $section_is_empty ) {
			echo '<li><span class="obfx-pricing-feature-content">';
			if ( ! empty( $icon ) ) {
				echo '<i class="fa ' . esc_attr( $icon ) . '"></i>';
			}
			if ( ! empty( $bold_text ) ) {
				echo '<strong>' . wp_kses_post( $bold_text ) . ' </strong> ';
			}
			if ( ! empty( $text ) ) {
				echo wp_kses_post( $text );
			}
			echo '</span><hr>';
			echo '</li>';
		}
	}
	echo '</ul>';
}

	$button_text = ! empty( $settings->text ) ? $settings->text : '';
	$button_link = ! empty( $settings->link ) ? $settings->link : '';
if ( ! empty( $button_text ) ) {
	echo '<div class="obfx-plan-bottom text-center">';
	echo '<a class="btn obfx-plan-button" href="' . esc_url( $button_link ) . '">' . wp_kses_post( $button_text ) . '</a>';
	echo '</div>';
}
echo '</div>';
plugins/themeisle-companion/obfx_modules/beaver-widgets/modules/post-grid/includes/frontend.php000064400000017762151157575270035265 0ustar00home/xbodynamge/www/wp-content<?php
/**
 * This file is used to render each pricing module instance.
 * You have access to two variables in this file:
 *
 * $module An instance of your module class.
 * $settings The module's settings.
 */


if ( ! function_exists( 'obfx_show_post_grid_thumbnail' ) ) {
	/**
	 * Display post grid image.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_thumbnail( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_thumbnail = ! empty( $settings->show_post_thumbnail ) ? $settings->show_post_thumbnail : '';
		if ( $show_post_thumbnail === 'no' ) {
			return;
		}

		$size = ! empty( $settings->image_size ) ? $settings->image_size : 'post-thumbnail';
		$pid  = get_the_ID();
		$img  = get_the_post_thumbnail_url( $pid, $size );
		if ( ! empty( $img ) ) {
			$thumbnail_shadow = ! empty( $settings->thumbnail_shadow ) && $settings->thumbnail_shadow === 'yes' ? 'obfx-card' : '';
			echo '<div class="obfx-post-grid-thumbnail ' . esc_attr( $thumbnail_shadow ) . '">';
			if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
				echo '<a href="' . get_permalink() . '">';
			}
			echo '<img src="' . esc_url( $img ) . '"/></div>';
			if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
				echo '</a>';
			}
		}
	}
}

if ( ! function_exists( 'obfx_show_post_grid_title' ) ) {
	/**
	 * Display post grid title.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_title( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_title = ! empty( $settings->show_post_title ) ? $settings->show_post_title : '';
		if ( $show_post_title === 'no' ) {
			return;
		}

		if ( ! empty( $settings->show_title_link ) && $settings->show_title_link === 'yes' ) {
			echo '<a href="' . get_permalink() . '">';
		}
		$tag = ! empty( $settings->title_tag ) ? $settings->title_tag : 'h4';
		the_title( '<' . $tag . ' class="obfx-post-grid-title">', '</' . $tag . '>' );
		if ( ! empty( $settings->show_title_link ) && $settings->show_title_link === 'yes' ) {
			echo '</a>';
		}
	}
}

if ( ! function_exists( 'obfx_show_post_grid_meta' ) ) {
	/**
	 * Display post grid meta.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_meta( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_meta = ! empty( $settings->show_post_meta ) ? $settings->show_post_meta : '';
		if ( $show_post_meta === 'no' ) {
			return;
		}

		$pid        = get_the_ID();
		$meta_data  = ! empty( $settings->meta_data ) ? ( is_array( $settings->meta_data ) ? $settings->meta_data : array( $settings->meta_data ) ) : array();
		$show_icons = ! empty( $settings->show_icons ) ? $settings->show_icons : '';
		echo '<div class="obfx-post-grid-meta">';
		if ( in_array( 'author', $meta_data ) ) {
			$author = get_the_author( $pid );
			if ( ! empty( $author ) ) {
				echo '<div class="obfx-author">';
				if ( $show_icons === 'yes' ) {
					echo '<i class="fa fa-user"></i>';
				}
				printf(
					/* translators: %1$s is Author name wrapped, %2$s is Time */
					esc_html__( 'By %1$s', 'themeisle-companion' ),
					sprintf(
						/* translators: %1$s is Author name, %2$s is author link */
						'<a href="%2$s" title="%1$s"><b>%1$s</b></a>',
						esc_html( get_the_author() ),
						esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) )
					)
				);
				echo '</div>';
			}
		}

		if ( in_array( 'date', $meta_data ) ) {
			echo '<div class="obfx-date">';
			if ( $show_icons === 'yes' ) {
				echo '<i class="fa fa-calendar"></i>';
			}
			echo get_the_date();
			echo '</div>';
		}

		if ( in_array( 'category', $meta_data ) ) {
			$cat = get_the_category();
			if ( ! empty( $cat ) ) {
				echo '<div class="obfx-category">';
				if ( $show_icons === 'yes' ) {
					echo '<i class="fa fa-list"></i>';
				}
				foreach ( $cat as $category ) {
					$cat_id = $category->term_id;
					$link   = get_category_link( $cat_id );
					$name   = $category->name;
					if ( ! empty( $name ) ) {
						if ( ! empty( $link ) ) {
							echo '<a href="' . esc_url( $link ) . '">';
						}
						echo $name;
						if ( ! empty( $link ) ) {
							echo '</a>';
						}
					}
				}
				echo '</div>';
			}
		}

		if ( in_array( 'tags', $meta_data ) ) {
			$tags = wp_get_post_tags( $pid );
			if ( ! empty( $tags ) ) {
				echo '<div class="obfx-tags">';
				if ( $show_icons === 'yes' ) {
					echo '<i class="fa fa-tag"></i>';
				}
				foreach ( $tags as $tag ) {
					$tag_id = $tag->term_id;
					$link   = get_tag_link( $tag_id );
					$name   = $tag->name;
					if ( ! empty( $name ) ) {
						if ( ! empty( $link ) ) {
							echo '<a href="' . esc_url( $link ) . '">';
						}
						echo $name;
						if ( ! empty( $link ) ) {
							echo '</a>';
						}
					}
				}
				echo '</div>';
			}
		}

		if ( in_array( 'comments', $meta_data ) ) {
			echo '<div class=obfx-comments">';
			if ( $show_icons === 'yes' ) {
				echo '<i class="fa fa-comment"></i>';
			}
			$comments_number = get_comments_number();
			if ( 0 == ! $comments_number ) {
				if ( 1 === $comments_number ) {
					/* translators: %s: post title */
					_x( 'One comment', 'comments title', 'themeisle-companion' );
				} else {
					printf(
						/* translators: 1: number of comments, 2: post title */
						_nx(
							'%1$s Comment',
							'%1$s Comments',
							$comments_number,
							'comments title',
							'themeisle-companion'
						),
						number_format_i18n( $comments_number )
					);
				}
			}
			echo '</div>';
		}
		echo '</div>';
	}
}

if ( ! function_exists( 'obfx_show_post_grid_content' ) ) {
	/**
	 * Display post grid content.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_content( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_content = ! empty( $settings->show_post_content ) ? $settings->show_post_content : '';
		if ( $show_post_content === 'no' ) {
			return;
		}

		$number_of_words = ! empty( $settings->content_length ) ? $settings->content_length : '';
		echo '<div class="obfx-post-content">';
		if ( ! empty( $number_of_words ) ) {
			$content = obfx_get_limited_content( $number_of_words, $settings );
			echo '<p>' . wp_kses_post( $content ) . '</p>';
		}
		echo '</div>';
	}
}

if ( ! function_exists( 'obfx_get_limited_content' ) ) {
	/**
	 * Get content with limited number of words.
	 *
	 * @param int $limit Words limit.
	 *
	 * @return string
	 */
	function obfx_get_limited_content( $limit, $settings ) {
		$content = explode( ' ', get_the_content(), $limit );

		$show_read_more = ! empty( $settings->show_read_more ) ? $settings->show_read_more : '';
		$read_more      = $show_read_more === 'yes' ? ( ! empty( $settings->read_more_text ) ? '<a class="obfx-post-grid-read-more" href="' . get_the_permalink() . '">' . $settings->read_more_text . '</a>' : '' ) : '';
		if ( count( $content ) >= $limit ) {
			array_pop( $content );
			$content = implode( ' ', $content );
			$content = strip_tags( $content );
			$content = $content . '...' . wp_kses_post( $read_more );
		} else {
			$content = implode( ' ', $content );
		}

		$content = preg_replace( '/\[.+\]/', '', $content );
		$content = apply_filters( 'the_content', $content );
		$content = str_replace( ']]>', ']]&gt;', $content );

		return $content;
	}
}



$query = FLBuilderLoop::query( $settings );
if ( $query->have_posts() ) {

	$class_to_add = ! empty( $settings->card_layout ) && $settings->card_layout === 'yes' ? 'obfx-card' : '';
	while ( $query->have_posts() ) {
		$query->the_post();

		echo '<div class="obfx-post-grid-wrapper">';
			echo '<div class="obfx-post-grid ' . esc_attr( $class_to_add ) . '">';
				obfx_show_post_grid_thumbnail( $settings );
				obfx_show_post_grid_title( $settings );
				obfx_show_post_grid_meta( $settings );
				obfx_show_post_grid_content( $settings );
			echo '</div>';
		echo '</div>';
	}

	if ( $settings->show_pagination === 'yes' ) {
		echo '<div class="obfx-post-grid-pagination">';
		FLBuilderLoop::pagination( $query );
		echo '</div>';
	}
}

wp_reset_postdata();
plugins/themeisle-companion/obfx_modules/beaver-widgets/modules/post-grid/includes/frontend.php000064400000017762151157603130035202 0ustar00home/xbodynamge/dev/wp-content<?php
/**
 * This file is used to render each pricing module instance.
 * You have access to two variables in this file:
 *
 * $module An instance of your module class.
 * $settings The module's settings.
 */


if ( ! function_exists( 'obfx_show_post_grid_thumbnail' ) ) {
	/**
	 * Display post grid image.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_thumbnail( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_thumbnail = ! empty( $settings->show_post_thumbnail ) ? $settings->show_post_thumbnail : '';
		if ( $show_post_thumbnail === 'no' ) {
			return;
		}

		$size = ! empty( $settings->image_size ) ? $settings->image_size : 'post-thumbnail';
		$pid  = get_the_ID();
		$img  = get_the_post_thumbnail_url( $pid, $size );
		if ( ! empty( $img ) ) {
			$thumbnail_shadow = ! empty( $settings->thumbnail_shadow ) && $settings->thumbnail_shadow === 'yes' ? 'obfx-card' : '';
			echo '<div class="obfx-post-grid-thumbnail ' . esc_attr( $thumbnail_shadow ) . '">';
			if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
				echo '<a href="' . get_permalink() . '">';
			}
			echo '<img src="' . esc_url( $img ) . '"/></div>';
			if ( ! empty( $settings->show_thumbnail_link ) && $settings->show_thumbnail_link === 'yes' ) {
				echo '</a>';
			}
		}
	}
}

if ( ! function_exists( 'obfx_show_post_grid_title' ) ) {
	/**
	 * Display post grid title.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_title( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_title = ! empty( $settings->show_post_title ) ? $settings->show_post_title : '';
		if ( $show_post_title === 'no' ) {
			return;
		}

		if ( ! empty( $settings->show_title_link ) && $settings->show_title_link === 'yes' ) {
			echo '<a href="' . get_permalink() . '">';
		}
		$tag = ! empty( $settings->title_tag ) ? $settings->title_tag : 'h4';
		the_title( '<' . $tag . ' class="obfx-post-grid-title">', '</' . $tag . '>' );
		if ( ! empty( $settings->show_title_link ) && $settings->show_title_link === 'yes' ) {
			echo '</a>';
		}
	}
}

if ( ! function_exists( 'obfx_show_post_grid_meta' ) ) {
	/**
	 * Display post grid meta.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_meta( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_meta = ! empty( $settings->show_post_meta ) ? $settings->show_post_meta : '';
		if ( $show_post_meta === 'no' ) {
			return;
		}

		$pid        = get_the_ID();
		$meta_data  = ! empty( $settings->meta_data ) ? ( is_array( $settings->meta_data ) ? $settings->meta_data : array( $settings->meta_data ) ) : array();
		$show_icons = ! empty( $settings->show_icons ) ? $settings->show_icons : '';
		echo '<div class="obfx-post-grid-meta">';
		if ( in_array( 'author', $meta_data ) ) {
			$author = get_the_author( $pid );
			if ( ! empty( $author ) ) {
				echo '<div class="obfx-author">';
				if ( $show_icons === 'yes' ) {
					echo '<i class="fa fa-user"></i>';
				}
				printf(
					/* translators: %1$s is Author name wrapped, %2$s is Time */
					esc_html__( 'By %1$s', 'themeisle-companion' ),
					sprintf(
						/* translators: %1$s is Author name, %2$s is author link */
						'<a href="%2$s" title="%1$s"><b>%1$s</b></a>',
						esc_html( get_the_author() ),
						esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) )
					)
				);
				echo '</div>';
			}
		}

		if ( in_array( 'date', $meta_data ) ) {
			echo '<div class="obfx-date">';
			if ( $show_icons === 'yes' ) {
				echo '<i class="fa fa-calendar"></i>';
			}
			echo get_the_date();
			echo '</div>';
		}

		if ( in_array( 'category', $meta_data ) ) {
			$cat = get_the_category();
			if ( ! empty( $cat ) ) {
				echo '<div class="obfx-category">';
				if ( $show_icons === 'yes' ) {
					echo '<i class="fa fa-list"></i>';
				}
				foreach ( $cat as $category ) {
					$cat_id = $category->term_id;
					$link   = get_category_link( $cat_id );
					$name   = $category->name;
					if ( ! empty( $name ) ) {
						if ( ! empty( $link ) ) {
							echo '<a href="' . esc_url( $link ) . '">';
						}
						echo $name;
						if ( ! empty( $link ) ) {
							echo '</a>';
						}
					}
				}
				echo '</div>';
			}
		}

		if ( in_array( 'tags', $meta_data ) ) {
			$tags = wp_get_post_tags( $pid );
			if ( ! empty( $tags ) ) {
				echo '<div class="obfx-tags">';
				if ( $show_icons === 'yes' ) {
					echo '<i class="fa fa-tag"></i>';
				}
				foreach ( $tags as $tag ) {
					$tag_id = $tag->term_id;
					$link   = get_tag_link( $tag_id );
					$name   = $tag->name;
					if ( ! empty( $name ) ) {
						if ( ! empty( $link ) ) {
							echo '<a href="' . esc_url( $link ) . '">';
						}
						echo $name;
						if ( ! empty( $link ) ) {
							echo '</a>';
						}
					}
				}
				echo '</div>';
			}
		}

		if ( in_array( 'comments', $meta_data ) ) {
			echo '<div class=obfx-comments">';
			if ( $show_icons === 'yes' ) {
				echo '<i class="fa fa-comment"></i>';
			}
			$comments_number = get_comments_number();
			if ( 0 == ! $comments_number ) {
				if ( 1 === $comments_number ) {
					/* translators: %s: post title */
					_x( 'One comment', 'comments title', 'themeisle-companion' );
				} else {
					printf(
						/* translators: 1: number of comments, 2: post title */
						_nx(
							'%1$s Comment',
							'%1$s Comments',
							$comments_number,
							'comments title',
							'themeisle-companion'
						),
						number_format_i18n( $comments_number )
					);
				}
			}
			echo '</div>';
		}
		echo '</div>';
	}
}

if ( ! function_exists( 'obfx_show_post_grid_content' ) ) {
	/**
	 * Display post grid content.
	 *
	 * @param array $settings Post grid settings.
	 */
	function obfx_show_post_grid_content( $settings ) {
		if ( empty( $settings ) ) {
			return;
		}

		$show_post_content = ! empty( $settings->show_post_content ) ? $settings->show_post_content : '';
		if ( $show_post_content === 'no' ) {
			return;
		}

		$number_of_words = ! empty( $settings->content_length ) ? $settings->content_length : '';
		echo '<div class="obfx-post-content">';
		if ( ! empty( $number_of_words ) ) {
			$content = obfx_get_limited_content( $number_of_words, $settings );
			echo '<p>' . wp_kses_post( $content ) . '</p>';
		}
		echo '</div>';
	}
}

if ( ! function_exists( 'obfx_get_limited_content' ) ) {
	/**
	 * Get content with limited number of words.
	 *
	 * @param int $limit Words limit.
	 *
	 * @return string
	 */
	function obfx_get_limited_content( $limit, $settings ) {
		$content = explode( ' ', get_the_content(), $limit );

		$show_read_more = ! empty( $settings->show_read_more ) ? $settings->show_read_more : '';
		$read_more      = $show_read_more === 'yes' ? ( ! empty( $settings->read_more_text ) ? '<a class="obfx-post-grid-read-more" href="' . get_the_permalink() . '">' . $settings->read_more_text . '</a>' : '' ) : '';
		if ( count( $content ) >= $limit ) {
			array_pop( $content );
			$content = implode( ' ', $content );
			$content = strip_tags( $content );
			$content = $content . '...' . wp_kses_post( $read_more );
		} else {
			$content = implode( ' ', $content );
		}

		$content = preg_replace( '/\[.+\]/', '', $content );
		$content = apply_filters( 'the_content', $content );
		$content = str_replace( ']]>', ']]&gt;', $content );

		return $content;
	}
}



$query = FLBuilderLoop::query( $settings );
if ( $query->have_posts() ) {

	$class_to_add = ! empty( $settings->card_layout ) && $settings->card_layout === 'yes' ? 'obfx-card' : '';
	while ( $query->have_posts() ) {
		$query->the_post();

		echo '<div class="obfx-post-grid-wrapper">';
			echo '<div class="obfx-post-grid ' . esc_attr( $class_to_add ) . '">';
				obfx_show_post_grid_thumbnail( $settings );
				obfx_show_post_grid_title( $settings );
				obfx_show_post_grid_meta( $settings );
				obfx_show_post_grid_content( $settings );
			echo '</div>';
		echo '</div>';
	}

	if ( $settings->show_pagination === 'yes' ) {
		echo '<div class="obfx-post-grid-pagination">';
		FLBuilderLoop::pagination( $query );
		echo '</div>';
	}
}

wp_reset_postdata();