Passed
Push — master ( 2da942...d633d7 )
by Paul
15:03 queued 05:40
created

Migrate_5_0_0   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 54
Duplicated Lines 0 %

Test Coverage

Coverage 86.67%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 8
eloc 29
dl 0
loc 54
ccs 26
cts 30
cp 0.8667
rs 10
c 1
b 0
f 1

3 Methods

Rating   Name   Duplication   Size   Complexity  
A migrateSettings() 0 20 5
A run() 0 7 1
A migrateWpOptions() 0 12 2
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules\Migrations;
4
5
use GeminiLabs\SiteReviews\Database\OptionManager;
6
use GeminiLabs\SiteReviews\Modules\Migrations\Migrate_5_0_0\MigrateReviews;
7
use GeminiLabs\SiteReviews\Modules\Migrations\Migrate_5_0_0\MigrateSidebars;
8
9
class Migrate_5_0_0
10
{
11
    /**
12
     * @return void
13
     */
14 7
    public function migrateWpOptions()
15
    {
16 7
        if ($trustalyze = glsr(OptionManager::class)->getWP('_glsr_trustalyze')) {
17
            update_option(glsr()->prefix.'trustalyze', $trustalyze);
18
            delete_option('_glsr_trustalyze');
19
        }
20 7
        delete_option('widget_site-reviews');
21 7
        delete_option('widget_site-reviews-form');
22 7
        delete_option('widget_site-reviews-summary');
23 7
        delete_option(glsr()->id.'activated');
24 7
        delete_transient(glsr()->id.'_cloudflare_ips');
25 7
        delete_transient(glsr()->id.'_remote_post_test');
26 7
    }
27
28
    /**
29
     * @return void
30
     */
31 7
    public function migrateSettings()
32
    {
33 7
        if ($settings = get_option(OptionManager::databaseKey(4))) {
34
            update_option(OptionManager::databaseKey(5), $settings);
35
        }
36
        $optionKeys = [
37 7
            'settings.general.trustalyze' => 'settings.addons.trustalyze.enabled',
38
            'settings.general.trustalyze_email' => 'settings.addons.trustalyze.email',
39
            'settings.general.trustalyze_serial' => 'settings.addons.trustalyze.serial',
40
        ];
41 7
        foreach ($optionKeys as $oldKey => $newKey) {
42 7
            $oldValue = glsr(OptionManager::class)->get($oldKey);
43 7
            $newValue = glsr(OptionManager::class)->get($newKey);
44 7
            if ($oldValue && empty($newValue)) {
45
                glsr(OptionManager::class)->set($newKey, $oldValue);
46
            }
47 7
            glsr(OptionManager::class)->delete($oldKey);
48
        }
49 7
        glsr(OptionManager::class)->delete('counts');
50 7
        glsr(OptionManager::class)->delete('last_review_count');
51 7
    }
52
53
    /**
54
     * @return bool
55
     */
56 7
    public function run()
57
    {
58 7
        $this->migrateSettings();
59 7
        $this->migrateWpOptions();
60 7
        glsr(MigrateSidebars::class)->run();
61 7
        glsr(MigrateReviews::class)->run();
62 7
        return true;
63
    }
64
}
65