SiglasExtension.php
1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
namespace Cacic\CommonBundle\Twig;
class SiglasExtension extends \Twig_Extension
{
/**
* Atividades possíveis (Operações no Banco de Dados)
* @var array
*/
private $atividades = array(
'INS' => array( 'label' => 'INSERT', 'class' => 'green' ),
'UPD' => array( 'label' => 'UPDATE', 'class' => 'yellow' ),
'DEL' => array( 'label' => 'DELETE', 'class' => 'red' )
);
/**
*
* Motivos de Insucesso de Instalação possíveis
* @var array
*/
private $motivosInsucessoInstalacao = array(
0 => array( 'label' => 'Sem privilégio', 'class' => 'red' ),
);
/**
*
* Sim ou Não
*/
private $flagSimNao = array(
'S' => array( 'label' => 'Sim', 'class' => 'green' ),
'N' => array( 'label' => 'Não', 'class' => 'red' )
);
public function getFilters()
{
return array(
'traduzAtividade' => new \Twig_Filter_Method( $this, 'atividadeFilter', array('is_safe' => array('html')) ),
'traduzMotivoInsucessoInstalacao' => new \Twig_Filter_Method( $this, 'motivoInsucessoInstalFilter', array('is_safe' => array('html')) ),
'traduzFlagSimNao' => new \Twig_Filter_Method( $this, 'flagSimNaoFilter', array('is_safe' => array('html')) )
);
}
public function atividadeFilter( $sigla )
{
return '<span class="'. $this->atividades[$sigla]['class'] .'">'
. $this->atividades[$sigla]['label'] .
'</span>';
}
public function motivoInsucessoInstalFilter( $sigla )
{
if ( ! array_key_exists( $sigla, $this->motivosInsucessoInstalacao ) ) {
return 'FTP/Cópia Impossível';
}
return '<span class="'. $this->motivosInsucessoInstalacao[$sigla]['class'] .'">'
. $this->motivosInsucessoInstalacao[$sigla]['label'] .
'</span>';
}
public function flagSimNaoFilter( $sigla )
{
return '<span class="'. $this->flagSimNao[$sigla]['class'] .'">'
. $this->flagSimNao[$sigla]['label'] .
'</span>';
}
public function getName()
{
return 'siglas_extension';
}
}