Passed
Push — master ( 6375bf...7ef419 )
by Paul
05:58
created

Upgrader::setReviewCounts__3_0_0()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
ccs 0
cts 2
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules;
4
5
use DirectoryIterator;
6
use GeminiLabs\SiteReviews\Controllers\AdminController;
7
use GeminiLabs\SiteReviews\Database\CountsManager;
8
use GeminiLabs\SiteReviews\Database\OptionManager;
9
use ReflectionClass;
10
use ReflectionMethod;
11
12
class Upgrader
13
{
14
	/**
15
	 * @return void
16
	 */
17 7
	public function run()
18
	{
19 7
		$filenames = [];
20 7
		$iterator = new DirectoryIterator( dirname( __FILE__ ).'/Upgrader' );
21 7
		foreach( $iterator as $fileinfo ) {
22 7
			if( !$fileinfo->isFile() )continue;
23 7
			$filenames[] = $fileinfo->getFilename();
24
		}
25 7
		natsort( $filenames );
26 7
		array_walk( $filenames, function( $file ) {
27 7
			$className = str_replace( '.php', '', $file );
28 7
			$version = str_replace( 'Upgrade_', '', $className );
29 7
			if( version_compare( glsr()->version, $version, '<' ))return;
30
			glsr( 'Modules\\Upgrader\\'.$className );
31 7
		});
32 7
		$this->updateVersion();
33 7
	}
34
35
	/**
36
	 * @return void
37
	 */
38 7
	public function updateVersion()
39
	{
40 7
		$currentVersion = glsr( OptionManager::class )->get( 'version' );
41 7
		if( version_compare( $currentVersion, glsr()->version, '<' )) {
42 6
			glsr( OptionManager::class )->set( 'version', glsr()->version );
43
		}
44 7
		if( $currentVersion != glsr()->version ) {
45 6
			glsr( OptionManager::class )->set( 'version_upgraded_from', $currentVersion );
46
		}
47 7
	}
48
}
49