GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Pull Request — master (#67)
by Vermeulen
02:50
created

cli.php ➔ getCliParams()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 5
c 1
b 0
f 1
nc 1
nop 2
dl 0
loc 8
rs 9.4285
1
<?php
2
/**
3
 * Toutes les fonctions de base utilisé par le système cli
4
 * @author Vermeulen Maxime <[email protected]>
5
 * @package bfw
6
 */
7
8
/**
9
 * Permet de récupérer les arguments de la console
10
 * Permet surtout de toujours avoir les arguments obligatoire par le système.
11
 * 
12
 * @link http://php.net/manual/fr/function.getopt.php
13
 * 
14
 * @param string $options  : Chaque caractère dans cette chaîne sera utilisé en tant que caractères optionnels et 
15
 *                           devra correspondre aux options passées, commençant par un tiret simple (-). 
16
 *                           Par exemple, une chaîne optionnelle "x" correspondra à l'option -x. 
17
 *                           Seuls a-z, A-Z et 0-9 sont autorisés.
18
 * @param array  $longopts : Un tableau d'options. Chaque élément de ce tableau sera utilisé comme option et devra 
19
 *                           correspondre aux options passées, commençant par un tiret double (--). 
20
 *                           Par exemple, un élément longopts "opt" correspondra à l'option --opt.
21
 *                           Le paramètre options peut contenir les éléments suivants :
22
 *                              * Caractères individuels (n'accepte pas de valeur)
23
 *                              * Caractères suivis par un deux-points (le paramètre nécessite une valeur)
24
 *                              * Caractères suivis par deux deux-points (valeur optionnelle)
25
 *                           Les valeurs optionnelles sont les premiers arguments après la chaîne. 
26
 *                           Si une valeur est requise, peu importe que la valeur soit suivi d'un espace ou non.
27
 * 
28
 * @return array
29
 */
30
function getCliParams($options, $longopts = array())
31
{
32
    $longopts = array_merge($longopts, array('type_site::'));
33
    $opt      = getopt('f:'.$options, $longopts);
34
    unset($opt['f']);
35
36
    return $opt;
37
}
38
39
/**
40
 * Permet de facilement afficher un message dans la console
41
 * 
42
 * @param string $msg : Le message à afficher
43
 */
44
function displayMsg($msg, $colorTxt = null, $colorBg = null, $style = 'normal')
45
{
46
    if($colorTxt == null)
47
    {
48
        echo $msg."\n";
49
        return;
50
    }
51
52
    //Gestion cas avec couleur
53
54
    $colorStart = '';
0 ignored issues
show
Unused Code introduced by
$colorStart is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
55
    $colorEnd   = '';
0 ignored issues
show
Unused Code introduced by
$colorEnd is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
56
57
    $styleNum = styleForShell($style);
58
    if($styleNum === false)
59
    {
60
        $styleNum = styleForShell('normal');
61
    }
62
63
    $colorTxtNum = colorForShell('white', 'txt');
64
    if($colorTxt !== null)
65
    {
66
        $colorTxtNumArg = colorForShell($colorTxt, 'txt');
67
        if($colorTxtNumArg !== false)
68
        {
69
            $colorTxtNum = $colorTxtNumArg;
70
        }
71
    }
72
73
    $colorBgNum = colorForShell('black', 'bg');
74
    if($colorBg !== null)
75
    {
76
        $colorBgNumArg = colorForShell($colorBg, 'bg');
77
        if($colorBgNumArg !== false)
78
        {
79
            $colorBgNum = $colorBgNumArg;
80
        }
81
    }
82
83
    echo "\033[".$styleNum.";".$colorBgNum.";".$colorTxtNum."m".$msg."\033[0m\n";
84
}
85
86
/**
87
 * Converti le texte d'une couleur vers son code shell
88
 * 
89
 * @param string $color : Le nom de la couleur en anglais
90
 * @param string $type  : (txt|bg) Si c'est pour le texte (txt) ou pour la couleur de fond (bg)
91
 * 
92
 * @return string
93
 */
94
function colorForShell($color, $type)
95
{
96
    //Possibilité d'améliorer la compléxité du script via des boucles etc...
97
    if($type == 'txt')
98
    {
99 View Code Duplication
        if($color == 'black')
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
100
        {
101
            return 30;
102
        }
103
        elseif($color == 'red')
104
        {
105
            return 31;
106
        }
107
        elseif($color == 'green')
108
        {
109
            return 32;
110
        }
111
        elseif($color == 'yellow')
112
        {
113
            return 33;
114
        }
115
        elseif($color == 'blue')
116
        {
117
            return 34;
118
        }
119
        elseif($color == 'magenta')
120
        {
121
            return 35;
122
        }
123
        elseif($color == 'cyan')
124
        {
125
            return 36;
126
        }
127
        elseif($color == 'white')
128
        {
129
            return 37;
130
        }
131
    }
132 View Code Duplication
    elseif($type == 'bg')
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
133
    {
134
        if($color == 'black')
135
        {
136
            return 40;
137
        }
138
        elseif($color == 'red')
139
        {
140
            return 41;
141
        }
142
        elseif($color == 'green')
143
        {
144
            return 42;
145
        }
146
        elseif($color == 'yellow')
147
        {
148
            return 43;
149
        }
150
        elseif($color == 'blue')
151
        {
152
            return 44;
153
        }
154
        elseif($color == 'magenta')
155
        {
156
            return 45;
157
        }
158
        elseif($color == 'cyan')
159
        {
160
            return 46;
161
        }
162
        elseif($color == 'white')
163
        {
164
            return 47;
165
        }
166
    }
167
168
    return false;
169
}
170
171
/**
172
 * Permet de convertir un style définie en anglais pour le shell
173
 */
174
function styleForShell($style)
175
{
176
    if($style == 'normal')
177
    {
178
        return 0;
179
    }
180
    elseif($style == 'bold')
181
    {
182
        return 1;
183
    }
184
    elseif($style == 'not-bold')
185
    {
186
        return 21;
187
    }
188
    elseif($style == 'underline')
189
    {
190
        return 4;
191
    }
192
    elseif($style == 'not-underline')
193
    {
194
        return 24;
195
    }
196
    elseif($style == 'blink')
197
    {
198
        return 5;
199
    }
200
    elseif($style == 'not-blink')
201
    {
202
        return 25;
203
    }
204
    elseif($style == 'reverse')
205
    {
206
        return 7;
207
    }
208
    elseif($style == 'not-reverse')
209
    {
210
        return 27;
211
    }
212
213
    return false;
214
}
215