PluginProbe ʕ •ᴥ•ʔ
Elementor Website Builder – more than just a page builder / 3.23.3
Elementor Website Builder – more than just a page builder v3.23.3
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 4.0.6 4.0.5 4.0.4 4.0.3 3.22.0-dev1 4.0.0-beta3 3.22.0-dev2 4.0.0-beta4 3.22.0-dev3 4.0.0-beta5 3.22.0-dev4 4.0.0-dev1 3.22.0-dev5 4.0.0-dev2 3.22.0-dev6 4.0.0-dev3 3.22.1 4.0.0-dev4 3.22.2 4.0.0-dev5 3.22.3 4.0.1 3.23.0 4.0.2 3.23.0-beta1 3.23.0-beta2 3.23.0-beta3 3.23.0-beta4 3.23.0-beta5 3.23.0-beta6 3.23.0-dev1 3.23.0-dev2 3.23.0-dev3 3.23.0-dev4 3.23.0-dev5 3.23.0-dev6 3.23.1 3.23.2 3.23.3 3.23.4 3.24.0 3.24.0-beta1 3.24.0-beta2 3.24.0-beta3 3.24.0-dev1 3.24.0-dev2 3.24.0-dev3 3.24.1 3.24.2 3.24.3 3.24.4 3.24.5 3.24.6 3.24.7 3.24.8 3.25.0 3.25.0-beta1 3.25.0-beta2 3.25.0-beta3 3.25.0-dev1 3.25.0-dev2 3.25.0-dev3 3.25.1 3.25.10 3.25.11 3.25.2 3.25.3 3.25.4 3.25.5 3.25.6 3.25.7 3.25.8 3.25.9 3.26.0 3.26.0-beta1 3.26.0-beta2 3.26.0-beta3 3.26.0-beta4 3.26.0-beta5 3.26.0-dev1 3.26.0-dev2 3.26.0-dev3 3.26.0-dev4 3.26.0-dev5 3.26.1 3.26.2 3.26.3 3.26.4 3.26.5 3.27.0 3.27.0-beta1 3.27.0-beta2 3.27.0-dev1 3.27.0-dev2 3.27.1 3.27.2 3.27.3 3.27.4 3.27.5 3.27.6 3.27.7 3.28.0 3.28.0-beta1 3.28.0-beta2 3.28.0-beta3 3.28.0-dev1 3.28.0-dev2 3.28.0-dev3 3.28.1 3.28.2 3.28.3 3.28.4 3.29.0 3.29.0-beta1 trunk 3.29.0-beta2 3.0.0 3.29.0-beta3 3.0.1 3.29.0-beta4 3.0.10 3.29.0-dev1 3.0.11 3.29.0-dev2 3.0.12 3.29.0-dev3 3.0.13 3.29.0-dev4 3.0.14 3.29.1 3.0.15 3.29.2 3.0.16 3.3.0 3.0.2 3.3.1 3.0.3 3.30.0 3.0.4 3.30.0-beta1 3.0.5 3.30.0-beta2 3.0.6 3.30.0-beta3 3.0.7 3.30.0-dev1 3.0.8 3.30.0-dev2 3.0.8.1 3.30.0-dev3 3.0.9 3.30.1 3.1.0 3.30.2 3.1.0-beta1 3.30.3 3.1.0-beta2 3.30.4 3.1.0-beta3 3.31.0 3.1.0-beta4 3.31.0-beta1 3.1.0-dev1 3.31.0-beta2 3.1.0-dev2 3.31.0-dev1 3.1.0-dev3 3.31.0-dev2 3.1.1 3.31.1 3.1.2 3.31.2 3.1.3 3.31.3 3.1.4 3.31.4 3.10.0 3.31.5 3.10.0-dev1 3.32.0 3.10.1 3.32.0-beta1 3.10.2 3.32.0-beta2 3.11.0 3.32.0-beta3 3.11.0-beta1 3.32.0-dev1 3.11.0-beta2 3.32.0-dev2 3.11.0-beta3 3.32.0-dev3 3.11.0-dev1 3.32.1 3.11.0-dev2 3.32.2 3.11.0-dev3 3.32.3 3.11.1 3.32.4 3.11.2 3.32.5 3.11.3 3.33.0 3.11.4 3.33.0-beta1 3.11.5 3.33.0-beta2 3.12.0 3.33.0-beta3 3.12.1 3.33.0-beta4 3.12.2 3.33.0-dev1 3.13.0 3.33.0-dev2 3.13.0-beta1 3.33.0-dev3 3.13.0-beta2 3.33.0-dev4 3.13.0-beta3 3.33.1 3.13.0-dev3 3.33.2 3.13.0-dev4 3.33.3 3.13.1 3.33.4 3.13.2 3.33.5 3.13.3 3.33.6 3.13.4 3.34.0 3.14.0 3.34.0-beta1 3.14.0-beta1 3.34.0-beta2 3.14.0-beta2 3.34.0-beta3 3.14.0-beta3 3.34.0-dev1 3.14.0-beta4 3.34.0-dev2 3.14.0-beta5 3.34.1 3.14.1 3.34.2 3.15.0 3.34.3 3.15.1 3.34.4 3.15.2 3.35.0 3.15.3 3.35.0-beta1 3.16.0 3.35.0-beta2 3.16.0-beta3 3.35.0-beta3 3.16.0-beta4 3.35.0-beta4 3.16.0-dev1 3.35.0-dev1 3.16.0-dev2 3.35.0-dev2 3.16.1 3.35.0-dev3 3.16.2 3.35.0-dev4 3.16.3 3.35.1 3.16.4 3.35.2 3.16.5 3.35.3 3.16.6 3.35.4 3.17.0 3.35.5 3.17.0-dev2 3.35.6 3.17.0-dev3 3.35.7 3.17.0-dev4 3.35.8 3.17.1 3.35.9 3.17.2 3.4.0 3.17.3 3.4.0-dev7 3.18.0 3.4.0-dev8 3.18.0-beta1 3.4.0-dev9 3.18.0-beta2 3.4.1 3.18.0-beta3 3.4.2 3.18.0-beta4 3.4.3 3.18.0-dev1 3.4.4 3.18.1 3.4.5 3.18.2 3.4.6 3.18.3 3.4.7 3.19.0 3.4.8 3.19.0-beta1 3.5.0 3.19.0-beta2 3.5.0-beta1 3.19.0-beta3 3.5.0-beta2 3.19.0-beta4 3.5.0-beta3 3.19.0-beta5 3.5.0-beta4 3.19.0-beta6 3.5.0-beta5 3.19.0-dev1 3.5.0-beta7 3.19.0-dev2 3.5.0-beta8 3.19.0-dev3 3.5.0-dev8 3.19.0-dev4 3.5.0-dev9 3.19.0-dev5 3.5.1 3.19.0-dev6 3.5.2 3.19.1 3.5.3 3.19.2 3.5.4 3.19.3 3.5.5 3.19.4 3.5.6 3.2.0 3.6.0 3.2.1 3.6.0-beta1 3.2.2 3.6.0-beta2 3.2.3 3.6.0-beta3 3.2.4 3.6.0-beta4 3.2.5 3.6.0-beta5 3.20.0 3.6.0-dev1 3.20.0-beta1 3.6.0-dev10 3.20.0-beta2 3.6.1 3.20.0-beta3 3.6.2 3.20.0-beta4 3.6.3 3.20.0-dev1 3.6.4 3.20.0-dev2 3.6.5 3.20.0-dev3 3.6.6 3.20.0-dev4 3.6.7 3.20.1 3.6.8 3.20.2 3.7.0 3.20.3 3.7.0-beta1 3.20.4 3.7.0-beta2 3.21.0 3.7.0-beta3 3.21.0-beta1 3.7.0-beta4 3.21.0-beta2 3.7.0-dev1 3.21.0-beta3 3.7.1 3.21.0-dev1 3.7.2 3.21.0-dev2 3.7.3 3.21.0-dev3 3.7.4 3.21.1 3.7.5 3.21.2 3.7.6 3.21.3 3.7.7 3.21.4 3.7.8 3.21.5 3.8.0 3.21.6 3.8.0-beta1 3.21.7 3.8.0-beta2 3.21.8 3.8.0-beta3 3.22.0 3.8.1 3.22.0-beta1 3.9.0 3.22.0-beta2 3.9.1 3.22.0-beta3 3.9.2 3.22.0-beta4 4.0.0 3.22.0-beta5 4.0.0-beta1 3.22.0-beta6 4.0.0-beta2
elementor / includes / rollback.php
elementor / includes Last commit date
admin-templates 3 years ago base 2 years ago controls 1 year ago editor-templates 1 year ago elements 2 years ago interfaces 1 year ago libraries 3 years ago managers 1 year ago settings 1 year ago template-library 1 year ago widgets 1 year ago api.php 2 years ago autoloader.php 1 year ago beta-testers.php 3 years ago compatibility.php 3 years ago conditions.php 3 years ago db.php 2 years ago embed.php 1 year ago fonts.php 1 year ago frontend.php 1 year ago heartbeat.php 3 years ago maintenance-mode.php 2 years ago maintenance.php 3 years ago plugin.php 2 years ago preview.php 2 years ago rollback.php 3 years ago shapes.php 1 year ago stylesheet.php 3 years ago tracker.php 2 years ago user.php 2 years ago utils.php 2 years ago
rollback.php
187 lines
1 <?php
2 namespace Elementor;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit; // Exit if accessed directly.
6 }
7
8 /**
9 * Elementor rollback.
10 *
11 * Elementor rollback handler class is responsible for rolling back Elementor to
12 * previous version.
13 *
14 * @since 1.5.0
15 */
16 class Rollback {
17
18 /**
19 * Package URL.
20 *
21 * Holds the package URL.
22 *
23 * @since 1.5.0
24 * @access protected
25 *
26 * @var string Package URL.
27 */
28 protected $package_url;
29
30 /**
31 * Version.
32 *
33 * Holds the version.
34 *
35 * @since 1.5.0
36 * @access protected
37 *
38 * @var string Package URL.
39 */
40 protected $version;
41
42 /**
43 * Plugin name.
44 *
45 * Holds the plugin name.
46 *
47 * @since 1.5.0
48 * @access protected
49 *
50 * @var string Plugin name.
51 */
52 protected $plugin_name;
53
54 /**
55 * Plugin slug.
56 *
57 * Holds the plugin slug.
58 *
59 * @since 1.5.0
60 * @access protected
61 *
62 * @var string Plugin slug.
63 */
64 protected $plugin_slug;
65
66 /**
67 * Rollback constructor.
68 *
69 * Initializing Elementor rollback.
70 *
71 * @since 1.5.0
72 * @access public
73 *
74 * @param array $args Optional. Rollback arguments. Default is an empty array.
75 */
76 public function __construct( $args = [] ) {
77 foreach ( $args as $key => $value ) {
78 $this->{$key} = $value;
79 }
80 }
81
82 /**
83 * Print inline style.
84 *
85 * Add an inline CSS to the rollback page.
86 *
87 * @since 1.5.0
88 * @access private
89 */
90 private function print_inline_style() {
91 ?>
92 <style>
93 .wrap {
94 overflow: hidden;
95 max-width: 850px;
96 margin: auto;
97 font-family: Courier, monospace;
98 }
99
100 h1 {
101 background: #D30C5C;
102 text-align: center;
103 color: #fff !important;
104 padding: 70px !important;
105 text-transform: uppercase;
106 letter-spacing: 1px;
107 }
108
109 h1 img {
110 max-width: 300px;
111 display: block;
112 margin: auto auto 50px;
113 }
114 </style>
115 <?php
116 }
117
118 /**
119 * Apply package.
120 *
121 * Change the plugin data when WordPress checks for updates. This method
122 * modifies package data to update the plugin from a specific URL containing
123 * the version package.
124 *
125 * @since 1.5.0
126 * @access protected
127 */
128 protected function apply_package() {
129 $update_plugins = get_site_transient( 'update_plugins' );
130 if ( ! is_object( $update_plugins ) ) {
131 $update_plugins = new \stdClass();
132 }
133
134 $plugin_info = new \stdClass();
135 $plugin_info->new_version = $this->version;
136 $plugin_info->slug = $this->plugin_slug;
137 $plugin_info->package = $this->package_url;
138 $plugin_info->url = 'https://elementor.com/';
139
140 $update_plugins->response[ $this->plugin_name ] = $plugin_info;
141
142 // Remove handle beta testers.
143 remove_filter( 'pre_set_site_transient_update_plugins', [ Plugin::instance()->beta_testers, 'check_version' ] );
144
145 set_site_transient( 'update_plugins', $update_plugins );
146 }
147
148 /**
149 * Upgrade.
150 *
151 * Run WordPress upgrade to rollback Elementor to previous version.
152 *
153 * @since 1.5.0
154 * @access protected
155 */
156 protected function upgrade() {
157 require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
158
159 $logo_url = ELEMENTOR_ASSETS_URL . 'images/logo-panel.svg';
160
161 $upgrader_args = [
162 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ),
163 'plugin' => $this->plugin_name,
164 'nonce' => 'upgrade-plugin_' . $this->plugin_name,
165 'title' => '<img src="' . $logo_url . '" alt="Elementor">' . esc_html__( 'Rollback to Previous Version', 'elementor' ),
166 ];
167
168 $this->print_inline_style();
169
170 $upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) );
171 $upgrader->upgrade( $this->plugin_name );
172 }
173
174 /**
175 * Run.
176 *
177 * Rollback Elementor to previous versions.
178 *
179 * @since 1.5.0
180 * @access public
181 */
182 public function run() {
183 $this->apply_package();
184 $this->upgrade();
185 }
186 }
187