GrigliaExtraFunzioniUtils::getColonneLink()   B
last analyzed

Complexity

Conditions 10
Paths 14

Size

Total Lines 15
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 29.8461

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 15
ccs 5
cts 12
cp 0.4167
rs 7.6666
c 0
b 0
f 0
cc 10
nc 14
nop 2
crap 29.8461

How to fix   Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
namespace Fi\CoreBundle\Utils;
4
5
class GrigliaExtraFunzioniUtils
6
{
7 19
    public static function getColonneLink($paricevuti, &$modellocolonne)
8
    {
9 19
        $output = GrigliaParametriUtils::getOuputType($paricevuti);
10 19
        $colonne_link = isset($paricevuti['colonne_link']) ? $paricevuti['colonne_link'] : array();
11 19
        if (($output == 'stampa') || !isset($colonne_link)) {
12
            return;
13
        }
14
15 19
        foreach ($colonne_link as $colonna_link) {
16
            foreach ($colonna_link as $nomecolonna => $parametricolonna) {
17
                foreach ($modellocolonne as $key => $value) {
18
                    foreach ($value as $keyv => $valuev) {
19
                        if (($keyv == 'name') && ($valuev == $nomecolonna)) {
20
                            $modellocolonne[$key]['formatter'] = 'showlink';
21
                            $modellocolonne[$key]['formatoptions'] = $parametricolonna;
22
                        }
23
                    }
24
                }
25
            }
26
        }
27 19
    }
28 6
    public static function valorizzaColonna(&$vettoreriga, $parametri)
29
    {
30 6
        $tabella = $parametri['tabella'];
31 6
        $nomecampo = $parametri['nomecampo'];
32 6
        $doctrine = $parametri['doctrine'];
33 6
        $decodifiche = $parametri['decodifiche'];
34
35 6
        $vettoreparcampi = $doctrine->getMetadataFactory()->getMetadataFor($tabella)->fieldMappings;
36
37 6
        if (is_object($vettoreparcampi)) {
38
            $vettoreparcampi = get_object_vars($vettoreparcampi);
39
        }
40 6
        if (is_object($decodifiche)) {
41
            $decodifiche = json_decode(json_encode($decodifiche), true);
42
        }
43
44 6
        $singolocampo = $parametri['singolocampo'];
45
46 6
        if (isset($decodifiche[$nomecampo]) && isset($decodifiche[$nomecampo][$singolocampo])) {
47 3
            $ordinecampo = $parametri['ordinecampo'];
48 3
            if (isset($ordinecampo)) {
49 3
                $vettoreriga[$ordinecampo] = $decodifiche[$nomecampo][$singolocampo];
50
            } else {
51 3
                $vettoreriga[] = $decodifiche[$nomecampo][$singolocampo];
52
            }
53
        } else {
54 6
            $vettoretype = isset($vettoreparcampi[$nomecampo]['type']) ? $vettoreparcampi[$nomecampo]['type'] : null;
55 6
            self::valorizzaVettoreType($vettoreparcampi, $vettoreriga, $vettoretype, $parametri);
56
        }
57 6
    }
58
    
59 6
    public static function valorizzaVettoreType(&$vettoreparcampi, &$vettoreriga, $vettoretype, $parametri)
60
    {
61 6
        $nomecampo = $parametri['nomecampo'];
62 6
        $ordinecampo = $parametri['ordinecampo'];
63 6
        $singolocampo = $parametri['singolocampo'];
64 6
        if (isset($vettoretype) && ($vettoretype == 'date' || $vettoretype == 'datetime') && $singolocampo) {
65 5
            if (isset($ordinecampo)) {
66 5
                $vettoreriga[$ordinecampo] = $singolocampo->format('d/m/Y');
67
            } else {
68 5
                $vettoreriga[] = $singolocampo->format('d/m/Y');
69
            }
70 6
        } elseif (isset($vettoretype) && ($vettoreparcampi[$nomecampo]['type'] == 'time') && $singolocampo) {
71
            if (isset($ordinecampo)) {
72
                $vettoreriga[$ordinecampo] = $singolocampo->format('H:i');
73
            } else {
74
                $vettoreriga[] = $singolocampo->format('H:i');
75
            }
76
        } else {
77 6
            if (isset($ordinecampo)) {
78 6
                $vettoreriga[$ordinecampo] = $singolocampo;
79
            } else {
80
                $vettoreriga[] = $singolocampo;
81
            }
82
        }
83 6
    }
84
}
85