✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ webm004.cluster127.gra.hosting.ovh.net ​🇻​♯➤ 6.18.42-ovh-vps-grsec-zfs+ #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 54.36.91.62 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.223
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ _dyuweyrj4,_dyuweyrj4r,dl

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/docteuh/www/includes//class-avada-blog.php
<?php
/**
 * Blog mods.
 *
 * @author     ThemeFusion
 * @copyright  (c) Copyright by ThemeFusion
 * @link       https://avada.com
 * @package    Avada
 * @subpackage Core
 * @since      3.8
 */

// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
	exit( 'Direct script access denied.' );
}

/**
 * The Avada_Blog class.
 */
class Avada_Blog {

	/**
	 * Constructor.
	 *
	 * @access  public
	 */
	public function __construct() {

		add_filter( 'excerpt_length', [ $this, 'excerpt_length' ], 999 );
		add_action( 'pre_get_posts', [ $this, 'alter_search_loop' ], 1 );
	}

	/**
	 * Modify the default excerpt length.
	 *
	 * @param  int $length The excerpt length.
	 * @return  int
	 */
	public function excerpt_length( $length ) {

		// Normal blog posts excerpt length.
		if ( ! is_null( Avada()->settings->get( 'excerpt_length_blog' ) ) ) {
			$length = Avada()->settings->get( 'excerpt_length_blog' );
		}

		// Search results excerpt length.
		if ( is_search() ) {
			$length = Avada()->settings->get( 'excerpt_length_blog' );
		}

		return $length;

	}

	/**
	 * Get the post (excerpt).
	 *
	 * @return void Content is directly echoed.
	 */
	public function render_post_content() {

		if ( is_search() ) {
			echo fusion_get_post_content( '', 'search' ); // phpcs:ignore WordPress.Security.EscapeOutput
		} else {
			echo fusion_get_post_content(); // phpcs:ignore WordPress.Security.EscapeOutput
		}
	}

	/**
	 * Apply post per page on search pages.
	 *
	 * @param  object $query The WP_Query object.
	 * @return  void
	 */
	public function alter_search_loop( $query ) {
		if ( ! is_admin() && $query->is_main_query() && $query->is_search() && Avada()->settings->get( 'search_results_per_page' ) ) {
			$query->set( 'posts_per_page', Avada()->settings->get( 'search_results_per_page' ) );
		}
	}

	/**
	 * Get the content of the post
	 * strip it and apply any changes required to the excerpt first.
	 *
	 * @param  int    $excerpt_length The length of our excerpt.
	 * @param  string $content        The content.
	 */
	public function get_content_stripped_and_excerpted( $excerpt_length, $content ) {
		$pattern = get_shortcode_regex();
		$content = preg_replace_callback( "/$pattern/s", 'fusion_extract_shortcode_contents', $content );
		$content = explode( ' ', $content, $excerpt_length + 1 );

		if ( $excerpt_length < count( $content ) ) {
			array_pop( $content );
		}

		$content = implode( ' ', $content );
		$content = preg_replace( '~(?:\[/?)[^/\]]+/?\]~s', '', $content ); // Strip shortcodes and keep the content.
		$content = str_replace( ']]>', ']]&gt;', $content );
		$content = strip_tags( $content ); // phpcs:ignore WordPress.WP.AlternativeFunctions.strip_tags_strip_tags
		$content = str_replace( [ '"', "'" ], [ '&quot;', '&#39;' ], $content );
		$content = trim( $content );

		return $content;

	}

	/**
	 * Retrieve the content and apply and read-more modifications needed.
	 *
	 * @param  int  $limit      The limit we've set for our content.
	 * @param  bool $strip_html If we want to strip HTML from our content.
	 */
	public function content( $limit, $strip_html ) {

		global $more;

		$content = '';

		// Sanitizing the limit value.
		$limit = ( ! $limit && 0 !== $limit && '0' !== $limit ) ? 285 : intval( $limit );

		$test_strip_html = ( 'true' === $strip_html || true === $strip_html );

		$custom_excerpt = false;

		$post = get_post( get_the_ID() );

		$pos = strpos( $post->post_content, '<!--more-->' );

		$readmore = ( Avada()->settings->get( 'link_read_more' ) ) ? ' <a href="' . get_permalink( get_the_ID() ) . '">&#91;...&#93;</a>' : ' &#91;...&#93;';
		$readmore = ( ! Avada()->settings->get( 'disable_excerpts' ) ) ? '' : $readmore;

		if ( $test_strip_html ) {

			$more        = 0; // phpcs:ignore WordPress.WP.GlobalVariablesOverride
			$raw_content = wp_strip_all_tags( get_the_content( '{{read_more_placeholder}}' ), '<p>' );

			// Strip out all attributes.
			$raw_content = preg_replace( '/<(\w+)[^>]*>/', '<$1>', $raw_content );

			$raw_content = str_replace( '{{read_more_placeholder}}', $readmore, $raw_content );

			if ( $post->post_excerpt || false !== $pos ) {
				$raw_content    = ( ! $pos ) ? wp_strip_all_tags( rtrim( get_the_excerpt(), '[&hellip;]' ), '<p>' ) . $readmore : $raw_content;
				$custom_excerpt = true;
			}
		} else {

			$more        = 0; // phpcs:ignore WordPress.WP.GlobalVariablesOverride
			$raw_content = get_the_content( $readmore );
			if ( $post->post_excerpt || false !== $pos ) {
				$raw_content    = ( ! $pos ) ? rtrim( get_the_excerpt(), '[&hellip;]' ) . $readmore : $raw_content;
				$custom_excerpt = true;
			}
		}

		if ( $raw_content && ! $custom_excerpt ) {

			$pattern = get_shortcode_regex();
			$content = preg_replace_callback( "/$pattern/s", 'fusion_extract_shortcode_contents', $raw_content );

			if ( 'characters' === fusion_get_option( 'excerpt_base' ) ) {

				$content  = mb_substr( $content, 0, $limit );
				$content .= ( 0 !== $limit && Avada()->settings->get( 'disable_excerpts' ) ) ? $readmore : '';

			} else {

				$content = explode( ' ', $content, $limit + 1 );

				if ( $limit < count( $content ) ) {

					array_pop( $content );
					$content = implode( ' ', $content );
					if ( Avada()->settings->get( 'disable_excerpts' ) ) {
						$content .= ( 0 !== $limit ) ? $readmore : '';
					}
				} else {

					$content = implode( ' ', $content );

				}
			}

			if ( 0 !== $limit && ! $test_strip_html ) {

				$content = apply_filters( 'the_content', $content );
				$content = str_replace( ']]>', ']]&gt;', $content );

			} else {
				$content = '<p>' . $content . '</p>';
			}

			$strip_html_class = ( $test_strip_html ) ? 'strip-html' : '';
			$content          = '<div class="excerpt-container ' . $strip_html_class . '">' . do_shortcode( $content ) . '</div>';

			return $content;

		}

		if ( $custom_excerpt ) {

			$pattern = get_shortcode_regex();
			$content = preg_replace_callback( "/$pattern/s", 'fusion_extract_shortcode_contents', $raw_content );

			if ( $test_strip_html ) {

				$content = apply_filters( 'the_content', $content );
				$content = str_replace( ']]>', ']]&gt;', $content );
				$content = '<div class="excerpt-container strip-html">' . do_shortcode( $content ) . '</div>';

			} else {

				$content = apply_filters( 'the_content', $content );
				$content = str_replace( ']]>', ']]&gt;', $content );

			}
		}

		if ( has_excerpt() ) {

			$content = do_shortcode( get_the_excerpt() );
			$content = '<p>' . $content . '</p>';

		}

		return $content;

	}

	/**
	 * Get the blog layout for the current page template.
	 *
	 * @return string The correct layout name for the blog post class.
	 */
	public function get_blog_layout() {
		$theme_options_blog_var = '';

		if ( is_home() ) {
			$theme_options_blog_var = 'blog_layout';
		} elseif ( is_search() ) {
			$theme_options_blog_var = 'search_layout';
		} elseif ( is_archive() || is_author() ) {
			$theme_options_blog_var = 'blog_archive_layout';
		}

		return str_replace( ' ', '-', Avada()->settings->get( $theme_options_blog_var ) );
	}
}

/* Omit closing PHP tag to avoid "Headers already sent" issues. */


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
23 Sep 2026 4.33 AM
docteuh / users
0777
admin-screens
--
11 Sep 2026 11.42 AM
docteuh / users
0755
avada-app
--
11 Sep 2026 11.42 AM
docteuh / users
0755
cli
--
11 Sep 2026 11.42 AM
docteuh / users
0755
importer
--
11 Sep 2026 11.42 AM
docteuh / users
0755
lib
--
11 Sep 2026 11.42 AM
docteuh / users
0755
ls-skins
--
11 Sep 2026 11.43 AM
docteuh / users
0755
metaboxes
--
11 Sep 2026 11.43 AM
docteuh / users
0755
options
--
11 Sep 2026 11.43 AM
docteuh / users
0755
plugins
--
11 Sep 2026 11.43 AM
docteuh / users
0755
typography
--
11 Sep 2026 11.43 AM
docteuh / users
0755
upgrade
--
11 Sep 2026 11.43 AM
docteuh / users
0755
avada-functions.php
74.62 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
avada-tgm.php
7.404 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
bootstrap-compat.php
2.836 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
bootstrap.php
23.922 KB
20 Nov 2023 7.14 PM
docteuh / users
0644
class-avada-admin-bar.php
6.119 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-admin-notices.php
3.173 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-admin.php
67.267 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-autoload.php
7.125 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-avadaredux-migration.php
53.218 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-avadaredux-no-init.php
1.265 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-avadaredux.php
13.874 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-block-editor.php
20.307 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-blog.php
6.99 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-dynamic-css.php
3.114 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-eventscalendar.php
18.39 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-fonts.php
1.444 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-google-fonts.php
16.682 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-googlemap.php
16.813 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-gravity-forms-tags-merger.php
8.659 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-head.php
9.167 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-helper.php
7.498 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-images.php
11.355 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-init.php
22 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-layout-bbpress.php
10.293 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-layout.php
8.679 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-maintenance.php
2.125 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-megamenu-framework.php
52.736 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-megamenu.php
7.557 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-migrate.php
18.71 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-multiple-featured-images.php
1.479 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-nav-walker-megamenu.php
13.034 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-options.php
5.677 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-output-callbacks.php
1.479 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-page-options.php
13.035 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-partial-refresh-callbacks.php
5.905 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-portfolio.php
1.789 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-privacy-embeds.php
29.403 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-pwa.php
10.102 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-remote-installer.php
1.783 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-scripts.php
57.458 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-sermon-manager.php
4.822 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-server-rules.php
10.008 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-settings.php
0.781 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-slider-revolution.php
7.707 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-system-status.php
5.192 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-taxonomy-meta.php
39.947 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-template.php
20.552 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-tgm-plugin-activation.php
123.496 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-upgrade.php
13.617 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-woocommerce-variations.php
20.62 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada-woocommerce.php
67.586 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-avada.php
16.157 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-awb-adobe-typography.php
9.316 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-awb-global-colors.php
9.657 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-awb-global-typography.php
15.848 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-awb-maintenance-mode.php
12.025 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-awb-performance-wizard.php
74.49 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-awb-prebuilt-websites.php
6.711 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-awb-site-data.php
19.308 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-builder-demos-theme-options.php
3.191 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-builder-filters.php
5.037 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-builder-migrate.php
100.14 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-builder-redux-options.php
4.736 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-deprecate-pyre-po.php
11.193 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-dynamic-css-from-options.php
22.12 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-gfonts-downloader.php
9.502 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-image-resizer.php
7.556 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
class-fusion-languages-updater-api.php
6.365 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
custom-functions.php
16.814 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
deprecated.php
11.938 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
dynamic-css-helpers.php
21.163 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
dynamic-css.php
11.113 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
fusion-functions.php
9.768 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
fusion-shared-options.php
32.34 KB
20 Nov 2023 7.11 PM
docteuh / users
0644
icon-redirect-manager.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
wc-functions.php
2.654 KB
20 Nov 2023 7.11 PM
docteuh / users
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF