Passed
Push — master ( f510e9...9822a2 )
by Paul
10:29
created

Rollback::rollbackData()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 8
c 0
b 0
f 0
dl 0
loc 11
ccs 0
cts 11
cp 0
rs 10
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace GeminiLabs\SiteReviews;
4
5
use GeminiLabs\SiteReviews\Overrides\PluginUpgrader;
6
7
class Rollback
8
{
9
    /**
10
     * @param string $version
11
     * @return void
12
     */
13
    public function rollback($version)
14
    {
15
        global $title, $parent_file;
16
        $plugin = plugin_basename(glsr()->file);
17
        $parent_file = 'edit.php?post_type='.glsr()->post_type;
18
        $title = _x('Rollback Site Reviews', 'admin-text', 'site-reviews');
19
        $nonce = 'upgrade-plugin_'.$plugin;
20
        $url = 'update.php?action=upgrade-plugin&plugin='.urlencode($plugin);
21
        wp_enqueue_script('updates');
22
        require_once ABSPATH.'wp-admin/admin-header.php';
23
        $upgrader = new PluginUpgrader(
24
            new \Plugin_Upgrader_Skin(compact('title', 'nonce', 'url', 'plugin'))
25
        );
26
        $upgrader->rollback($version);
27
        require_once ABSPATH.'wp-admin/admin-footer.php';
28
    }
29
30
    /**
31
     * @param string $version
32
     * @return array
33
     */
34
    public function rollbackData($version)
35
    {
36
        set_transient(glsr()->prefix.'rollback_version', $version, MINUTE_IN_SECONDS);
37
        return [
38
            'data' => [
39
                '_ajax_nonce' => wp_create_nonce('updates'),
40
                'action' => 'update-plugin',
41
                'plugin' => plugin_basename(glsr()->file),
42
                'slug' => glsr()->id,
43
            ],
44
            'url' => glsr_admin_url('welcome'),
45
        ];
46
    }
47
}
48