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

Migrate_5_3_0::migrateDatabase()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 15
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 4.7861

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 15
ccs 5
cts 12
cp 0.4167
rs 9.9
c 0
b 0
f 0
cc 3
nc 3
nop 0
crap 4.7861
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules\Migrations;
4
5
use GeminiLabs\SiteReviews\Application;
6
7
class Migrate_5_3_0
8
{
9
    /**
10
     * @return bool
11
     */
12 7
    public function run()
13
    {
14 7
        $this->migrateDatabase();
15 7
        return true;
16
    }
17
18
    /**
19
     * @return void
20
     */
21 7
    protected function fixDatabaseVersion()
22
    {
23 7
        $databaseVersion = get_option(glsr()->prefix.'db_version');
24 7
        if ('5.2' === $databaseVersion) {
25
            update_option(glsr()->prefix.'db_version', '1.0');
26
        }
27 7
    }
28
29
    /**
30
     * @return void
31
     */
32 7
    protected function migrateDatabase()
33
    {
34 7
        require_once ABSPATH.'/wp-admin/includes/plugin.php';
35 7
        if (!is_plugin_active_for_network(plugin_basename(glsr()->file))) {
36 7
            $this->fixDatabaseVersion();
37 7
            return;
38
        }
39
        $sites = get_sites([
40
            'fields' => 'ids',
41
            'network_id' => get_current_network_id(),
42
        ]);
43
        foreach ($sites as $siteId) {
44
            switch_to_blog($siteId);
45
            $this->fixDatabaseVersion();
46
            restore_current_blog();
47
        }
48
    }
49
}
50