FiVersioneController   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Test Coverage

Coverage 38.1%

Importance

Changes 0
Metric Value
wmc 7
eloc 24
dl 0
loc 43
ccs 8
cts 21
cp 0.381
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A isWindows() 0 6 2
A versione() 0 30 5
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 13
    public static function versione($container)
14
    {
15
16 13
        if (self::isWindows()) {
17
            return '';
18
        }
19
20 13
        if (self::$versione) {
21 13
            $risposta = self::$versione;
22
        } else {
23
            $projectDir = substr($container->get('kernel')->getRootDir(), 0, -4);
24
25
            $cmd = 'cd ' . $projectDir;
26
            $process = new Process($cmd . ';git describe --tags');
27
            $process->setTimeout(60 * 100);
28
            $process->run();
29
            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
                $risposta = "0";
37
            }
38
            self::$versione = $risposta;
39
        }
40
41
42 13
        return $risposta;
43
    }
44
45 13
    public static function isWindows()
46
    {
47 13
        if (PHP_OS == 'WINNT') {
48
            return true;
49
        } else {
50 13
            return false;
51
        }
52
    }
53
}
54