SILENT KILLERPanel

Current Path: > home > > transcarter > www > wp-content > plugins > elementor > modules > global-classes >


Operation   : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
Software     : Apache
Server IP    : 198.54.126.42 | Your IP: 216.73.216.135
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home//transcarter/www/wp-content/plugins/elementor/modules/global-classes/

NameTypeSizeLast ModifiedActions
database Directory - -
import-export Directory - -
usage Directory - -
utils Directory - -
global-classes-changes-resolver.php File 1712 bytes July 17 2025 21:06:23.
global-classes-cleanup.php File 2655 bytes July 17 2025 21:06:23.
global-classes-css-file.php File 1644 bytes July 17 2025 21:06:23.
global-classes-css-preview.php File 682 bytes July 17 2025 21:06:23.
global-classes-css.php File 2011 bytes July 17 2025 21:06:23.
global-classes-parser.php File 3145 bytes July 17 2025 21:06:23.
global-classes-repository.php File 2297 bytes July 17 2025 21:06:23.
global-classes-rest-api.php File 5237 bytes July 17 2025 21:06:23.
global-classes.php File 691 bytes July 17 2025 21:06:23.
module.php File 2617 bytes July 17 2025 21:06:23.

Reading File: /home//transcarter/www/wp-content/plugins/elementor/modules/global-classes//global-classes-css.php

<?php

namespace Elementor\Modules\GlobalClasses;

use Elementor\Plugin;

class Global_Classes_CSS {
	public function register_hooks() {
		add_action(
			'elementor/frontend/after_enqueue_styles',
			fn() => $this->enqueue_styles()
		);

		add_action(
			'elementor/global_classes/update',
			fn( $context ) => $this->clear_css_cache( $context )
		);

		add_action(
			'elementor/core/files/clear_cache',
			fn() => $this->clear_css_cache( Global_Classes_Repository::CONTEXT_FRONTEND )
		);

		add_action(
			'deleted_post',
			fn( $post_id ) => $this->on_post_delete( $post_id )
		);

		add_action(
			'elementor/core/files/after_generate_css',
			fn() => $this->generate_styles()
		);

		add_filter('elementor/atomic-widgets/settings/transformers/classes',
			fn( $value ) => $this->transform_classes_names( $value )
		);
	}

	private function enqueue_styles() {
		$css_file = is_preview()
			? new Global_Classes_CSS_Preview()
			: new Global_Classes_CSS_File();

		$css_file->enqueue();
	}

	private function generate_styles() {
		( new Global_Classes_CSS_File() )->update();
	}

	private function on_post_delete( $post_id ) {
		if ( ! Plugin::$instance->kits_manager->is_kit( $post_id ) ) {
			return;
		}

		$this->clear_css_cache(
			Global_Classes_Repository::CONTEXT_FRONTEND,
			$post_id
		);
	}

	private function clear_css_cache( string $context, $kit_id = null ): void {
		( new Global_Classes_CSS_Preview( $kit_id ) )->delete();

		if ( Global_Classes_Repository::CONTEXT_FRONTEND === $context ) {
			( new Global_Classes_CSS_File( $kit_id ) )->delete();
		}
	}

	private function transform_classes_names( $ids ) {
		$context = is_preview() ? Global_Classes_Repository::CONTEXT_PREVIEW : Global_Classes_Repository::CONTEXT_FRONTEND;

		$classes = Global_Classes_Repository::make()
			->context( $context )
			->all()
			->get_items();

		return array_map(
			function( $id ) use ( $classes ) {
				$class = $classes->get( $id );

				return $class ? $class['label'] : $id;
			},
			$ids
		);
	}
}

SILENT KILLER Tool