PluginProbe
Elementor Website Builder – more than just a page builder / 3.7.5
Elementor Website Builder – more than just a page builder v3.7.5
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 4.1.0-beta1 4.1.0-dev1 All 452 releases
← All changes | modules/promotions/module.php +41 -0 3.7.43.7.5 View file →
@@ -1,9 +1,16 @@
1 1 <?php
2 2
3 3 namespace Elementor\Modules\Promotions;
4 4
5 +use Elementor\Core\Admin\Menu\Admin_Menu_Manager;
5 6 use Elementor\Core\Base\Module as Base_Module;
7 +use Elementor\Modules\Promotions\AdminMenuItems\Custom_Code_Promotion_Item;
8 +use Elementor\Modules\Promotions\AdminMenuItems\Custom_Fonts_Promotion_Item;
9 +use Elementor\Modules\Promotions\AdminMenuItems\Custom_Icons_Promotion_Item;
10 +use Elementor\Modules\Promotions\AdminMenuItems\Form_Submissions_Promotion_Item;
11 +use Elementor\Modules\Promotions\AdminMenuItems\Go_Pro_Promotion_Item;
12 +use Elementor\Modules\Promotions\AdminMenuItems\Popups_Promotion_Item;
6 13 use Elementor\Utils;
7 14
8 15 if ( ! defined( 'ABSPATH' ) ) {
9 16 exit; // Exit if accessed directly
@@ -10,8 +17,10 @@
10 17 }
11 18
12 19 class Module extends Base_Module {
13 20
21 + const ADMIN_MENU_PRIORITY = 100;
22 +
14 23 public static function is_active() {
15 24 return ! Utils::has_pro();
16 25 }
17 26
@@ -16,6 +25,38 @@
16 25 }
17 26
18 27 public function get_name() {
19 28 return 'promotions';
29 + }
30 +
31 + public function __construct() {
32 + parent::__construct();
33 +
34 + add_action( 'admin_init', function () {
35 + $this->handle_external_redirects();
36 + } );
37 +
38 + add_action( 'elementor/admin/menu/register', function ( Admin_Menu_Manager $admin_menu ) {
39 + $this->register_menu_items( $admin_menu );
40 + }, static::ADMIN_MENU_PRIORITY );
41 + }
42 +
43 + private function handle_external_redirects() {
44 + if ( empty( $_GET['page'] ) ) {
45 + return;
46 + }
47 +
48 + if ( 'go_elementor_pro' === $_GET['page'] ) {
49 + wp_redirect( Go_Pro_Promotion_Item::URL );
50 + die;
51 + }
52 + }
53 +
54 + private function register_menu_items( Admin_Menu_Manager $admin_menu ) {
55 + $admin_menu->register( 'e-form-submissions', new Form_Submissions_Promotion_Item() );
56 + $admin_menu->register( 'elementor_custom_fonts', new Custom_Fonts_Promotion_Item() );
57 + $admin_menu->register( 'elementor_custom_icons', new Custom_Icons_Promotion_Item() );
58 + $admin_menu->register( 'elementor_custom_custom_code', new Custom_Code_Promotion_Item() );
59 + $admin_menu->register( 'go_elementor_pro', new Go_Pro_Promotion_Item() );
60 + $admin_menu->register( 'popup_templates', new Popups_Promotion_Item() );
20 61 }
21 62 }