PluginProbe
Site Reviews / trunk
Site Reviews vtrunk
8.3.1 8.3.0 8.2.2 8.2.1 8.2.0 8.1.0 8.0.13 8.0.12 8.0.11 trunk 1.2.2 2.17.1 3.5.4 4.7.0 5.25.1 6.11.8 7.0.10 7.0.11 7.0.12 7.0.13 7.0.14 7.0.15 7.0.16 7.0.17 7.0.18 All 54 releases
site-reviews / plugin / Rollback.php

Rollback.php in Site Reviews trunk, at plugin/Rollback.php

44 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace GeminiLabs\SiteReviews;
4
5 use GeminiLabs\SiteReviews\Overrides\PluginUpgrader;
6
7 class Rollback
8 {
9 public function rollback(string $version): void
10 {
11 global $title, $parent_file;
12 $parent_file = 'edit.php?post_type='.glsr()->post_type;
13 $title = _x('Rollback Site Reviews', 'admin-text', 'site-reviews');
14 wp_enqueue_script('updates');
15 require_once \ABSPATH.'wp-admin/admin-header.php';
16 $this->upgrader($title)->rollback($version);
17 require_once \ABSPATH.'wp-admin/admin-footer.php';
18 }
19
20 public function rollbackData(string $version): array
21 {
22 set_transient(glsr()->prefix.'rollback_version', $version, \MINUTE_IN_SECONDS);
23 return [
24 'data' => [
25 '_ajax_nonce' => wp_create_nonce('updates'),
26 'action' => 'update-plugin',
27 'plugin' => glsr()->basename,
28 'slug' => glsr()->id,
29 ],
30 'url' => glsr_admin_url('welcome'),
31 ];
32 }
33
34 protected function upgrader(string $title): PluginUpgrader
35 {
36 $plugin = glsr()->basename;
37 $nonce = 'upgrade-plugin_'.$plugin;
38 $url = 'update.php?action=upgrade-plugin&plugin='.urlencode($plugin);
39 return new PluginUpgrader(
40 new \Plugin_Upgrader_Skin(compact('title', 'nonce', 'url', 'plugin'))
41 );
42 }
43 }
44