PluginProbe
Elementor Website Builder – more than just a page builder / 3.6.3
Elementor Website Builder – more than just a page builder v3.6.3
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
elementor / includes / maintenance.php

maintenance.php in Elementor Website Builder – more than just a page builder 3.6.3, at includes/maintenance.php

106 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Elementor;
3
4 use Elementor\Core\Kits\Manager;
5
6 if ( ! defined( 'ABSPATH' ) ) {
7 exit; // Exit if accessed directly.
8 }
9
10 /**
11 * Elementor maintenance.
12 *
13 * Elementor maintenance handler class is responsible for setting up Elementor
14 * activation and uninstallation hooks.
15 *
16 * @since 1.0.0
17 */
18 class Maintenance {
19
20 /**
21 * Activate Elementor.
22 *
23 * Set Elementor activation hook.
24 *
25 * Fired by `register_activation_hook` when the plugin is activated.
26 *
27 * @since 1.0.0
28 * @access public
29 * @static
30 */
31 public static function activation( $network_wide ) {
32 wp_clear_scheduled_hook( 'elementor/tracker/send_event' );
33
34 wp_schedule_event( time(), 'daily', 'elementor/tracker/send_event' );
35 flush_rewrite_rules();
36
37 if ( is_multisite() && $network_wide ) {
38 static::create_default_kit(
39 get_sites( [ 'fields' => 'ids' ] )
40 );
41
42 return;
43 }
44
45 static::create_default_kit();
46
47 set_transient( 'elementor_activation_redirect', true, MINUTE_IN_SECONDS );
48 }
49
50 /**
51 * Uninstall Elementor.
52 *
53 * Set Elementor uninstallation hook.
54 *
55 * Fired by `register_uninstall_hook` when the plugin is uninstalled.
56 *
57 * @since 1.0.0
58 * @access public
59 * @static
60 */
61 public static function uninstall() {
62 wp_clear_scheduled_hook( 'elementor/tracker/send_event' );
63 }
64
65 /**
66 * Init.
67 *
68 * Initialize Elementor Maintenance.
69 *
70 * @since 1.0.0
71 * @access public
72 * @static
73 */
74 public static function init() {
75 register_activation_hook( ELEMENTOR_PLUGIN_BASE, [ __CLASS__, 'activation' ] );
76 register_uninstall_hook( ELEMENTOR_PLUGIN_BASE, [ __CLASS__, 'uninstall' ] );
77
78 add_action( 'wpmu_new_blog', function ( $site_id ) {
79 if ( ! is_plugin_active_for_network( ELEMENTOR_PLUGIN_BASE ) ) {
80 return;
81 }
82
83 static::create_default_kit( [ $site_id ] );
84 } );
85 }
86
87 /**
88 * @param array $site_ids
89 */
90 private static function create_default_kit( array $site_ids = [] ) {
91 if ( ! empty( $site_ids ) ) {
92 foreach ( $site_ids as $site_id ) {
93 switch_to_blog( $site_id );
94
95 Manager::create_default_kit();
96
97 restore_current_blog();
98 };
99
100 return;
101 }
102
103 Manager::create_default_kit();
104 }
105 }
106