| @@ -1,7 +1,8 @@ | ||
| 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; |
| 5 | 6 | use Elementor\Modules\System_Info\Reporters\Base; |
| 6 | 7 | use Elementor\Modules\System_Info\Helpers\Model_Helper; |
| 7 | 8 | use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider; |
| @@ -119,13 +120,46 @@ | ||
| 119 | 120 | * @since 2.9.0 |
| 120 | 121 | * @access private |
| 121 | 122 | */ |
| 122 | 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 | + | |
| 123 | 130 | add_action( 'elementor/editor-one/menu/register', function ( Menu_Data_Provider $menu_data_provider ) { |
| 124 | 131 | $this->register_editor_one_menu( $menu_data_provider ); |
| 125 | 132 | } ); |
| 126 | 133 | |
| 134 | + add_filter( 'elementor/editor-one/menu/items_to_hide_from_wp_menu', [ $this, 'add_items_to_hide' ] ); | |
| 127 | 135 | add_action( 'wp_ajax_elementor_system_info_download_file', [ $this, 'download_file' ] ); |
| 136 | + } | |
| 137 | + | |
| 138 | + private function is_editor_one_active(): bool { | |
| 139 | + return (bool) Plugin::instance()->modules_manager->get_modules( 'editor-one' ); | |
| 140 | + } | |
| 141 | + | |
| 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'; | |
| 146 | + | |
| 147 | + return $items; | |
| 148 | + } | |
| 149 | + | |
| 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 ) ); | |
| 128 | 162 | } |
| 129 | 163 | |
| 130 | 164 | private function register_editor_one_menu( Menu_Data_Provider $menu_data_provider ) { |
| 131 | 165 | $menu_data_provider->register_menu( new Editor_One_System_Menu() ); |