Completed
Push — master ( 8c7411...b8d570 )
by Andrea
10:52
created

FiVersioneController::isWindows()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2.0625

Importance

Changes 0
Metric Value
dl 0
loc 8
ccs 3
cts 4
cp 0.75
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 5
nc 2
nop 0
crap 2.0625
1
<?php
2
3
namespace Fi\CoreBundle\Controller;
4
5
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
6
use Symfony\Component\Process\Process;
7
8
class FiVersioneController extends Controller
9
{
10
11
    public static $versione;
12
13 10
    public static function versione($container)
14
    {
15
16 10
        if (self::isWindows()) {
17
            return '';
18
        }
19
20 10
        if (self::$versione) {
21
            $risposta = self::$versione;
22
        } else {
23 10
            $projectDir = substr($container->get('kernel')->getRootDir(), 0, -4);
24
25 10
            $cmd = 'cd ' . $projectDir;
26 10
            $process = new Process($cmd . ';git describe --tags');
27 10
            $process->setTimeout(60 * 100);
28 10
            $process->run();
29 10
            if ($process->isSuccessful()) {
30
                $out = explode(chr(10), $process->getOutput());
31
32
                $version = isset($out[0]) ? $out[0] : "0";
33
34
                $risposta = $version;
35
            } else {
36 10
                $risposta = "0";
37
            }
38 10
            self::$versione = $risposta;
39
        }
40
41
42 10
        return $risposta;
43
    }
44
45 10
    public static function isWindows()
46
    {
47 10
        if (PHP_OS == 'WINNT') {
48
            return true;
49
        } else {
50 10
            return false;
51
        }
52
    }
53
}
54