PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.1
Elementor Website Builder – more than just a page builder v4.3.1
4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 All 454 releases
elementor / modules / editor-one / components / top-bar-handler.php

top-bar-handler.php in Elementor Website Builder – more than just a page builder 4.3.1, at modules/editor-one/components/top-bar-handler.php

82 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\EditorOne\Components;
4
5 use Elementor\Modules\EditorOne\Classes\Elementor_One_Language_Mapper;
6 use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider;
7 use Elementor\Modules\EditorOne\Classes\Top_Bar_Locale_Assets;
8 use Elementor\Utils;
9
10 if ( ! defined( 'ABSPATH' ) ) {
11 exit;
12 }
13
14 class Top_Bar_Handler {
15
16 private Menu_Data_Provider $menu_data_provider;
17
18 public function __construct() {
19 $this->menu_data_provider = Menu_Data_Provider::instance();
20 Top_Bar_Locale_Assets::register_script_loader_filter();
21 $this->register_actions();
22 }
23
24 private function register_actions(): void {
25 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_assets' ] );
26 add_action( 'in_admin_header', [ $this, 'render_top_bar_container' ] );
27 }
28
29 public function enqueue_assets(): void {
30 if ( ! $this->menu_data_provider->is_editor_one_admin_page() ) {
31 return;
32 }
33
34 $min_suffix = Utils::is_script_debug() ? '' : '.min';
35
36 wp_enqueue_style(
37 'elementor-one-top-bar',
38 ELEMENTOR_ASSETS_URL . 'css/modules/editor-one/top-bar' . $min_suffix . '.css',
39 [],
40 ELEMENTOR_VERSION
41 );
42
43 wp_enqueue_script(
44 'editor-one-top-bar',
45 ELEMENTOR_ASSETS_URL . 'js/editor-one-top-bar' . $min_suffix . '.js',
46 [
47 'react',
48 'react-dom',
49 'elementor-common',
50 'elementor-v2-ui',
51 'elementor-v2-icons',
52 ],
53 ELEMENTOR_VERSION,
54 true
55 );
56
57 $wordpress_locale = get_user_locale();
58 $language_codes = Elementor_One_Language_Mapper::get_top_bar_language_codes( $wordpress_locale );
59 $locale_language_base_urls = Top_Bar_Locale_Assets::enqueue_for_languages( $language_codes );
60
61 wp_localize_script(
62 'editor-one-top-bar',
63 'elementorOneTopBarConfig',
64 [
65 'version' => ELEMENTOR_VERSION,
66 'title' => __( 'website builder', 'elementor' ),
67 'environment' => apply_filters( 'elementor/environment', 'production' ),
68 'locale' => $wordpress_locale,
69 'localeLanguageBaseUrls' => $locale_language_base_urls,
70 ]
71 );
72 }
73
74 public function render_top_bar_container(): void {
75 if ( ! $this->menu_data_provider->is_editor_one_admin_page() ) {
76 return;
77 }
78
79 echo '<div id="editor-one-top-bar"></div>';
80 }
81 }
82