✘✘ 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.70
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ _dyuweyrj4,_dyuweyrj4r,dl

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/docteuh/www/plugins/fusion-builder/inc//class-awb-studio.php
<?php
/**
 * Avada Studio
 *
 * @package Avada-Builder
 * @since 3.5
 */

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

/**
 * AWB Studio class.
 *
 * @since 3.5
 */
class AWB_Studio {

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

	/**
	 * The studio data.
	 *
	 * @access public
	 * @var mixed
	 */
	public $data = null;

	/**
	 * The studio status.
	 *
	 * @access public
	 * @var boolean
	 */
	public static $status = null;

	/**
	 * URL to fetch from.
	 *
	 * @access private
	 * @var boolean
	 */
	private $studio_url = 'https://avada.studio/';

	/**
	 * Class constructor.
	 *
	 * @since 3.0
	 * @access private
	 */
	private function __construct() {

		if ( ! self::is_studio_enabled() ) {
			return;
		}

		add_action( 'wp_ajax_fusion_builder_load_studio_elements', [ $this, 'get_ajax_data' ] );
		add_action( 'fusion_builder_load_templates', [ $this, 'builder_template' ] );
		add_action( 'fusion_builder_after', [ $this, 'builder_template' ] );

		// Requests to update server args.
		add_filter( 'http_request_args', [ $this, 'request_headers' ], 10, 2 );

		// Load admin page.
		if ( is_admin() ) {
			add_action( 'init', [ $this, 'admin_init' ] );
		}
	}

	/**
	 * Creates or returns an instance of this class.
	 *
	 * @static
	 * @access public
	 * @since 3.0
	 */
	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 AWB_Studio();
		}
		return self::$instance;
	}

	/**
	 * Studio status.
	 *
	 * @static
	 * @access public
	 * @since 3.0
	 */
	public static function is_studio_enabled() {

		if ( null !== self::$status ) {
			return self::$status;
		}

		$option_name  = class_exists( 'Fusion_Settings' ) ? Fusion_Settings::get_option_name() : 'fusion_options';
		$option       = get_option( $option_name, [] );
		self::$status = apply_filters( 'fusion_load_studio', isset( $option['status_avada_studio'] ) && '0' === $option['status_avada_studio'] ? false : true );

		return self::$status;
	}

	/**
	 * Renders studio import options section.
	 *
	 * @static
	 * @access public
	 * @param string $type The template type.
	 * @since 3.7.0
	 */
	public static function studio_import_options_template( $type = '' ) {
		$should_open     = 'studio-admin' === $type || 'setup-wizard' === $type ? 'open' : '';
		$should_hide     = 'studio-admin' === $type || 'setup-wizard' === $type ? 'display:none' : '';
		$fusion_settings = awb_get_fusion_settings();

		$heading_typo = [
			'h1_typography' => $fusion_settings->get( 'h1_typography' ),
			'h2_typography' => $fusion_settings->get( 'h2_typography' ),
			'h3_typography' => $fusion_settings->get( 'h3_typography' ),
			'h4_typography' => $fusion_settings->get( 'h4_typography' ),
			'h5_typography' => $fusion_settings->get( 'h5_typography' ),
			'h6_typography' => $fusion_settings->get( 'h6_typography' ),
		];

		?>
		<div class="awb-import-options <?php echo esc_attr( $should_open ); ?>" data-awb-headings-typographies="<?php echo esc_attr( wp_json_encode( $heading_typo, JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP ) ); ?>">
			<button class="awb-import-options-toggle" type="button" name="button"><span class="icon fusiona-cog"></span> <?php esc_html_e( 'Import Options', 'fusion-builder' ); ?></button>
			<button class="fusion-studio-preview-back"><i class="fusiona-arrow-back"></i><?php esc_html_e( 'Go Back', 'fusion-builder' ); ?></button>
			<div class="awb-import-options-group">
				<!-- Position option -->
				<div class="awb-import-option awb-import-position" style="<?php echo esc_attr( $should_hide ); ?>">
					<label for=""><?php esc_html_e( 'Position', 'fusion-builder' ); ?></label>
					<div class="awb-option-button">
						<div class="awb-option-item">
							<input id="load-type-above" type="radio" name="load-type" value="load-type-above">
							<label for="load-type-above" data-tooltip="<?php esc_html_e( 'Insert above current content', 'fusion-builder' ); ?>">
								<i class="fusiona-before-content"></i>
							</label>
						</div>
						<div class="awb-option-item">
							<input id="load-type-replace" type="radio" name="load-type" value="load-type-replace">
							<label for="load-type-replace" data-tooltip="<?php esc_html_e( 'Replace all page content', 'fusion-builder' ); ?>">
								<i class="fusiona-replace-content"></i>
							</label>
						</div>
						<div class="awb-option-item">
							<input id="load-type-below" type="radio" name="load-type" value="load-type-below">
							<label for="load-type-below" data-tooltip="<?php esc_html_e( 'Insert below current content', 'fusion-builder' ); ?>">
								<i class="fusiona-after-content"></i>
							</label>
						</div>
					</div>
				</div>
				<!-- Overwrite option -->
				<div class="awb-import-option awb-import-style">
					<label for=""><?php esc_html_e( 'Style', 'fusion-builder' ); ?></label>
					<div class="awb-option-button">
						<div class="awb-option-item">
							<input id="inherit" type="radio" name="overwrite-type" value="inherit">
							<label for="inherit" data-tooltip="<?php esc_html_e( 'Local Colors & Typography', 'fusion-builder' ); ?>">

								<i class="fusiona-fit-import"></i>
							</label>
						</div>
						<div class="awb-option-item">
							<input id="replace-pos" type="radio" name="overwrite-type" value="replace-pos">
							<label for="replace-pos" data-tooltip="<?php esc_html_e( 'WYSIWYG Studio Styles', 'fusion-builder' ); ?>">
								<i class="fusiona-inherit-import"></i>
							</label>
						</div>
					</div>
				</div>
				<!-- Images import -->
					<div class="awb-import-option awb-images-import">
					<label for=""><?php esc_html_e( 'Images', 'fusion-builder' ); ?></label>
					<div class="awb-option-button">
						<div class="awb-option-item">
							<input id="do-import-images" type="radio" name="images" value="do-import-images">
							<label for="do-import-images" data-tooltip="<?php esc_html_e( 'Import Images', 'fusion-builder' ); ?>">
								<i class="fusiona-import-images"></i>
							</label>
						</div>
						<div class="awb-option-item">
							<input id="dont-import-images" type="radio" name="images" value="dont-import-images">
							<label for="dont-import-images" data-tooltip="<?php esc_html_e( 'Use Placeholders', 'fusion-builder' ); ?>">
								<i class="fusiona-replace-placeholder"></i>
							</label>
						</div>
					</div>
				</div>
				<!-- Invert option -->
				<div class="awb-import-option awb-import-inversion">
					<label for=""><?php esc_html_e( 'Colors', 'fusion-builder' ); ?></label>
					<div class="awb-option-button">
						<div class="awb-option-item">
							<input id="dont-invert" type="radio" name="invert" value="dont-invert">
							<label for="dont-invert" data-tooltip="<?php esc_html_e( 'Normal', 'fusion-builder' ); ?>">
								<i class="fusiona-dont-invert"></i>
							</label>
						</div>
						<div class="awb-option-item">
							<input id="do-invert" type="radio" name="invert" value="do-invert">
							<label for="do-invert" data-tooltip="<?php esc_html_e( 'Invert', 'fusion-builder' ); ?>">
								<i class="fusiona-do-invert"></i>
							</label>
						</div>
					</div>
				</div>
			</div>
			<a class="awb-import-studio-item-in-preview" href="#">
				<?php
				if ( 'setup-wizard' === $type ) :
					esc_html_e( 'Select', 'fusion-builder' );
					else :
						esc_html_e( 'Import', 'fusion-builder' );
					endif;
					?>
			</a>
		</div>
		<?php
	}

	/**
	 * Return the studio URL.
	 *
	 * @access public
	 * @since 3.0
	 * @return string
	 */
	public function get_studio_url() {
		return $this->studio_url;
	}

	/**
	 * Get the data from REST endpoint.
	 *
	 * @access public
	 * @since 3.0
	 * @return array
	 */
	public function get_data() {
		if ( null !== $this->data ) {
			return $this->data;
		}

		if ( ! FUSION_BUILDER_DEV_MODE && false !== get_transient( 'avada_studio' ) ) {
			$this->data = get_transient( 'avada_studio' );
			return $this->data;
		}

		$response = wp_remote_get( $this->studio_url . '/wp-json/studio/full', [ 'timeout' => 60 ] );

		// Exit if error.
		if ( is_wp_error( $response ) ) {
			return false;
		}

		// Get the body.
		$resources = json_decode( wp_remote_retrieve_body( $response ), true );

		set_transient( 'avada_studio', $resources, DAY_IN_SECONDS );

		return $resources;
	}

	/**
	 * Get the data for ajax requests.
	 *
	 * @access public
	 * @since 3.0
	 * @return void
	 */
	public function get_ajax_data() {
		check_ajax_referer( 'fusion_load_nonce', 'fusion_load_nonce' );

		echo wp_json_encode( $this->get_data() );

		wp_die();
	}

	/**
	 * Template used for studio layouts.
	 *
	 * @access public
	 * @since 3.0
	 * @return void
	 */
	public function builder_template() {
		?>
		<script type="text/html" id="tmpl-fusion_studio_layout">
			<#
			var slugs       = '';
			if ( 'object' === typeof tags ) {
				_.each( tags, function( tag ) {
					slugs += tag + ' ';
				} );
				slugs = slugs.trim();
			}

			if ( 'string' === typeof element ) {
				elementType = element;
			}

			#>
			<li class="fusion-page-layout" data-layout-id="{{ ID }}" data-slug="{{ slugs }}" data-url="{{url}}">
				<div class="preview lazy-load">
					<img src="data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27{{ thumbnail.width }}%27%20height%3D%27{{ thumbnail.height }}%27%20viewBox%3D%270%200%20{{ thumbnail.width }}%20{{ thumbnail.height }}%27%3E%3Crect%20width%3D%27{{ thumbnail.width }}%27%20height%3D%273{{ thumbnail.height }}%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E" alt="" width="{{ thumbnail.width }}" height="{{ thumbnail.height }}" data-src="{{ thumbnail.url }}" data-alt="{{ post_title }}"/>
				</div>
				<div class="bar">
					<span class="fusion_module_title">{{ post_title }}</span>
					<div class="fusion-module-right">
						<div class="awb-import-studio-item">
							<span class="fusiona-plus"></span>
						</div>
					</div>
				</div>
			</li>
		</script>
		<?php
	}

	/**
	 * Inits admin.
	 *
	 * @access public
	 * @since 3.5
	 * @return void
	 */
	public function admin_init() {
		require_once FUSION_BUILDER_PLUGIN_DIR . 'inc/class-awb-studio-admin.php';
		new AWB_Studio_Admin();
	}

	/**
	 * Add referrer to headers.
	 *
	 * @since 3.5
	 *
	 * @param array  $parsed_args Parsed request args.
	 * @param string $url         Request URL.
	 * @return array
	 */
	public function request_headers( $parsed_args = [], $url = '' ) {

		// If its not requesting the studio site.
		if ( false === strpos( $url, $this->studio_url ) ) {
			return $parsed_args;
		}

		$parsed_args['user-agent'] = 'avada-user-agent';

		return $parsed_args;
	}
}

/**
 * Instantiates the AWB_Studio class.
 * Make sure the class is properly set-up.
 *
 * @since object 3.0
 * @return object AWB_Studio
 */
function AWB_Studio() { // phpcs:ignore WordPress.NamingConventions
	return AWB_Studio::get_instance();
}
AWB_Studio();


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


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
27 Aug 2026 8.14 AM
docteuh / users
0755
admin-screens
--
27 Aug 2026 8.30 AM
docteuh / users
0755
critical-css
--
26 Aug 2026 4.27 AM
docteuh / users
0755
helpers
--
26 Aug 2026 4.27 AM
docteuh / users
0755
i18n
--
26 Aug 2026 4.27 AM
docteuh / users
0755
importer
--
26 Aug 2026 4.27 AM
docteuh / users
0755
lib
--
26 Aug 2026 4.27 AM
docteuh / users
0755
options
--
27 Aug 2026 8.30 AM
docteuh / users
0755
templates
--
26 Aug 2026 4.27 AM
docteuh / users
0755
woocommerce
--
27 Aug 2026 8.30 AM
docteuh / users
0755
bootstrap-compat.php
1.404 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
bootstrap.php
4.005 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-access-control.php
18.099 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-clone-posts.php
6.39 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-demo-import.php
9.663 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-layout-conditions.php
8.299 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-nav-walker.php
62.024 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-off-canvas-admin.php
6.993 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-off-canvas-front-end.php
34.571 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-off-canvas-table.php
11.708 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-off-canvas.php
8.525 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-studio-admin.php
15.814 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-studio-remove.php
3.5 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-studio.php
10.903 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-awb-woo-filters.php
20.748 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-admin.php
29.584 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-dynamic-css.php
7.231 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-element-helper.php
13.69 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-gutenberg.php
15.266 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-library-table.php
15.083 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-library.php
73.326 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-options-panel.php
6.718 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-options.php
5.465 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-redux.php
1.899 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-builder-woocommerce.php
6.141 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-column-element.php
121.79 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-component.php
5.263 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-custom-icons-table.php
10.904 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-dummy-post.php
3.055 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-dynamic-data-callbacks.php
54.171 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-dynamic-data.php
78.321 KB
20 Nov 2023 7.14 PM
docteuh / users
0644
class-fusion-element.php
15.557 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-elements-dynamic-css.php
1.495 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-builder-table.php
14.449 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-builder.php
28.184 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db-entries.php
2.205 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db-fields.php
2.8 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db-forms.php
7.889 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db-install.php
7.239 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db-items.php
4.778 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db-privacy.php
15.198 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db-submissions.php
1.75 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-db.php
2.374 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-export-single-form.php
3.647 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-list-table.php
11.473 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-submit.php
39.319 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-form-widget.php
4.028 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-hubspot.php
52.925 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-languages-updater-api.php
6.472 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-mailchimp-20260827062753.php
36.697 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-mailchimp.php
36.697 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-row-element.php
6.404 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-template-builder-table.php
12.915 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-template-builder.php
106.724 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-woo-component.php
12.091 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
class-fusion-woo-products-component.php
24.309 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
helpers.php
97.462 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
shortcodes.php
12.617 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
templates.php
2.423 KB
20 Nov 2023 7.12 PM
docteuh / users
0644

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