PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.7
Elementor Website Builder – more than just a page builder v3.35.7
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 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
← All changes | modules/system-info/module.php +29 -32 4.3.0-beta13.35.7 View file →
@@ -1,14 +1,14 @@
1 1 <?php
2 2 namespace Elementor\Modules\System_Info;
3 3
4 +use Elementor\Core\Admin\Menu\Admin_Menu_Manager;
4 5 use Elementor\Core\Base\Module as BaseModule;
6 +use Elementor\Modules\System_Info\Reporters\Base;
7 +use Elementor\Modules\System_Info\Helpers\Model_Helper;
5 8 use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider;
6 9 use Elementor\Modules\System_Info\AdminMenuItems\Editor_One_System_Info_Menu;
7 10 use Elementor\Modules\System_Info\AdminMenuItems\Editor_One_System_Menu;
8 -use Elementor\Modules\System_Info\Helpers\Model_Helper;
9 -use Elementor\Modules\System_Info\Reporters\Base;
10 -use Elementor\Modules\System_Info\Rest\Rest_Api;
11 11 use Elementor\Plugin;
12 12 use Elementor\Settings;
13 13
14 14 if ( ! defined( 'ABSPATH' ) ) {
@@ -120,49 +120,46 @@
120 120 * @since 2.9.0
121 121 * @access private
122 122 */
123 123 private function add_actions() {
124 + add_action( 'elementor/admin/menu/register', function ( Admin_Menu_Manager $admin_menu_manager ) {
125 + if ( ! $this->is_editor_one_active() ) {
126 + $this->register_menu( $admin_menu_manager );
127 + }
128 + }, Settings::ADMIN_MENU_PRIORITY + 30 );
129 +
124 130 add_action( 'elementor/editor-one/menu/register', function ( Menu_Data_Provider $menu_data_provider ) {
125 131 $this->register_editor_one_menu( $menu_data_provider );
126 132 } );
127 133
134 + add_filter( 'elementor/editor-one/menu/items_to_hide_from_wp_menu', [ $this, 'add_items_to_hide' ] );
128 135 add_action( 'wp_ajax_elementor_system_info_download_file', [ $this, 'download_file' ] );
129 - add_action( 'rest_api_init', [ $this, 'register_rest_routes' ] );
130 136 }
131 137
132 - public function register_rest_routes(): void {
133 - ( new Rest_Api() )->register_routes();
138 + private function is_editor_one_active(): bool {
139 + return (bool) Plugin::instance()->modules_manager->get_modules( 'editor-one' );
134 140 }
135 141
136 - public function get_reports_data(): array {
137 - $reports = $this->load_reports( self::get_allowed_reports() );
142 + public function add_items_to_hide( array $items ): array {
143 + $items[] = 'elementor-system-info';
144 + $items[] = 'elementor-element-manager';
145 + $items[] = 'go_knowledge_base_site';
138 146
139 - return $this->build_reports_data( $reports );
147 + return $items;
140 148 }
141 149
142 - private function build_reports_data( array $reports ): array {
143 - $data = [];
144 -
145 - foreach ( $reports as $report_name => $report_details ) {
146 - $report = $report_details['report']->get_report();
147 -
148 - if ( is_wp_error( $report ) ) {
149 - continue;
150 - }
151 -
152 - $report_data = [
153 - 'label' => $report_details['label'],
154 - 'report' => $report,
155 - ];
156 -
157 - if ( ! empty( $report_details['sub'] ) ) {
158 - $report_data['sub'] = $this->build_reports_data( $report_details['sub'] );
159 - }
160 -
161 - $data[ $report_name ] = $report_data;
162 - }
163 -
164 - return $data;
150 + /**
151 + * Register admin menu.
152 + *
153 + * Add new Elementor system info admin menu.
154 + *
155 + * Fired by `admin_menu` action.
156 + *
157 + * @since 2.9.0
158 + * @access private
159 + */
160 + private function register_menu( Admin_Menu_Manager $admin_menu ) {
161 + $admin_menu->register( 'elementor-system-info', new System_Info_Menu_Item( $this ) );
165 162 }
166 163
167 164 private function register_editor_one_menu( Menu_Data_Provider $menu_data_provider ) {
168 165 $menu_data_provider->register_menu( new Editor_One_System_Menu() );