1 | <?php |
||
33 | class IBPT |
||
34 | { |
||
35 | |||
36 | private $tabela; |
||
37 | private $offline; |
||
38 | |||
39 | 89 | public function __construct() |
|
44 | |||
45 | 1 | public function isOffline() |
|
49 | |||
50 | 1 | public function setOffline($offline) |
|
54 | |||
55 | 32 | private function load($uf) |
|
72 | |||
73 | 32 | private function getImpostoOffline($ncm, $uf, $ex) |
|
74 | { |
||
75 | 32 | $data = $this->load($uf); |
|
76 | 32 | if ($data === false) { |
|
77 | 2 | return false; |
|
78 | } |
||
79 | 32 | $key = $ncm.'.'.sprintf('%02s', $ex); |
|
80 | 32 | if (!isset($data['estados'][$uf][$key])) { |
|
81 | 1 | return false; |
|
82 | } |
||
83 | 31 | $o = $data['estados'][$uf][$key]; |
|
84 | 31 | $o['info'] = $data['info']; |
|
85 | 31 | $o['info']['origem'] = 'Tabela offline'; |
|
86 | 31 | return $o; |
|
87 | } |
||
88 | |||
89 | 1 | private function getImpostoOnline($cnpj, $token, $ncm, $uf, $ex) |
|
90 | { |
||
91 | 1 | if ($this->isOffline()) { |
|
92 | 1 | return false; |
|
93 | } |
||
94 | 1 | $url = 'http://iws.ibpt.org.br/api/Produtos'; |
|
95 | $params = array( |
||
96 | 1 | 'token' => $token, |
|
97 | 1 | 'cnpj' => $cnpj, |
|
98 | 1 | 'codigo' => $ncm, |
|
99 | 1 | 'uf' => $uf, |
|
100 | 1 | 'ex' => intval($ex) |
|
101 | 1 | ); |
|
102 | 1 | $curl = new Curl($url); |
|
103 | 1 | $curl->setConnectTimeout(2); |
|
104 | 1 | $curl->setTimeout(3); |
|
105 | 1 | $data = $curl->get($params); |
|
106 | 1 | if ($curl->error) { |
|
107 | 1 | Logger::warning('IBPT.getImpostoOnline('.$curl->errorCode.') - '.$curl->errorMessage); |
|
108 | 1 | $this->setOffline(true); |
|
109 | 1 | return false; |
|
110 | } |
||
111 | $o = array( |
||
112 | 'importado' => $data->Importado, |
||
113 | 'nacional' => $data->Nacional, |
||
114 | 'estadual' => $data->Estadual, |
||
115 | 'municipal' => $data->Municipal, |
||
116 | 'tipo' => $data->Tipo |
||
117 | ); |
||
118 | $vigenciainicio = date_create_from_format('d/m/Y', $data->VigenciaInicio); |
||
119 | $vigenciafim = date_create_from_format('d/m/Y', $data->VigenciaFim); |
||
120 | $info = array( |
||
121 | 'origem' => 'API IBPT', |
||
122 | 'fonte' => $data->Fonte, |
||
123 | 'versao' => $data->Versao, |
||
124 | 'chave' => $data->Chave, |
||
125 | 'vigencia' => array( |
||
126 | 'inicio' => date_format($vigenciainicio, 'Y-m-d'), |
||
127 | 'fim' => date_format($vigenciafim, 'Y-m-d') |
||
128 | ) |
||
129 | ); |
||
130 | $o['info'] = $info; |
||
131 | return $o; |
||
132 | } |
||
133 | |||
134 | 32 | public function getImposto($cnpj, $token, $ncm, $uf, $ex) |
|
147 | } |
||
148 |
Short variable names may make your code harder to understand. Variable names should be self-descriptive. This check looks for variable names who are shorter than a configured minimum.