Commit 95e8362da1f66e714ed434e065e9690bc7a80e5e
1 parent
06531db0
Exists in
master
and in
1 other branch
Indicador 28 - Enviando quantidade de erro por semana
Showing
3 changed files
with
624 additions
and
627 deletions
Show diff stats
rn/MdEstatisticasAgendamentoRN.php
1 | 1 | <? |
2 | -require_once dirname(__FILE__).'/../../../SEI.php'; | |
2 | +require_once dirname(__FILE__) . '/../../../SEI.php'; | |
3 | 3 | |
4 | +class MdEstatisticasAgendamentoRN extends InfraRN | |
5 | +{ | |
4 | 6 | |
5 | -class MdEstatisticasAgendamentoRN extends InfraRN { | |
7 | + protected function inicializarObjInfraIBanco() { | |
8 | + return BancoSEI::getInstance(); | |
9 | + } | |
6 | 10 | |
7 | - protected function inicializarObjInfraIBanco(){ | |
8 | - return BancoSEI::getInstance(); | |
9 | - } | |
11 | + public function coletarIndicadores() { | |
12 | + InfraDebug::getInstance()->setBolLigado(true); | |
13 | + InfraDebug::getInstance()->setBolDebugInfra(false); | |
14 | + InfraDebug::getInstance()->setBolEcho(false); | |
15 | + InfraDebug::getInstance()->limpar(); | |
10 | 16 | |
11 | - public function coletarIndicadores() { | |
17 | + try { | |
18 | + $coletor = new MdEstatisticasColetarRN(); | |
19 | + $indicadores = $coletor->coletarIndicadores(); | |
20 | + InfraDebug::getInstance()->gravar('JSON: ' . json_encode($indicadores), InfraLog::$INFORMACAO); | |
12 | 21 | |
13 | - InfraDebug::getInstance()->setBolLigado(true); | |
14 | - InfraDebug::getInstance()->setBolDebugInfra(false); | |
15 | - InfraDebug::getInstance()->setBolEcho(false); | |
16 | - InfraDebug::getInstance()->limpar(); | |
22 | + $enviar = new MdEstatisticasEnviarRN(); | |
17 | 23 | |
18 | - try { | |
19 | - $coletor = new MdEstatisticasColetarRN(); | |
20 | - $indicadores = $coletor->coletarIndicadores(); | |
21 | - InfraDebug::getInstance()->gravar('JSON: ' . json_encode($indicadores), InfraLog::$INFORMACAO); | |
24 | + $saida = $enviar->enviarIndicadores($indicadores); | |
25 | + InfraDebug::getInstance()->gravar('Retorno: ' . json_encode($saida), InfraLog::$INFORMACAO); | |
22 | 26 | |
23 | - $enviar = new MdEstatisticasEnviarRN(); | |
27 | + $id = $saida['id']; | |
24 | 28 | |
25 | - $saida = $enviar->enviarIndicadores($indicadores); | |
26 | - InfraDebug::getInstance()->gravar('Retorno: ' . json_encode($saida), InfraLog::$INFORMACAO); | |
29 | + if ($id) { | |
30 | + $data = $enviar->obterUltimoAcesso(); | |
31 | + InfraDebug::getInstance()->gravar('Data: ' . $data, InfraLog::$INFORMACAO); | |
27 | 32 | |
28 | - $id = $saida['id']; | |
33 | + $acessos = $coletor->obterAcessosUsuarios($data); | |
34 | + $enviar->enviarAcessos($acessos, $id); | |
29 | 35 | |
30 | - $data = $enviar->obterUltimoAcesso(); | |
31 | - InfraDebug::getInstance()->gravar('Data: ' . $data, InfraLog::$INFORMACAO); | |
36 | + $velocidades = $coletor->obterVelocidadePorCidade(); | |
37 | + $enviar->enviarVelocidades($velocidades, $id); | |
32 | 38 | |
33 | - $acessos = $coletor->obterAcessosUsuarios($data); | |
34 | - $enviar->enviarAcessos($acessos, $id); | |
35 | - | |
36 | - $velocidades = $coletor->obterVelocidadePorCidade(); | |
37 | - $enviar->enviarVelocidades($velocidades, $id); | |
38 | - | |
39 | - $sistemasOperacionaisUsuarios = $coletor->obterSistemasOperacionaisUsuarios(); | |
40 | - $enviar->enviarSistemasUsuarios($sistemasOperacionaisUsuarios, $id); | |
41 | - | |
42 | - $navegadores = $coletor->obterNavegadores(); | |
43 | - $enviar->enviarNavegadores($navegadores, $id); | |
39 | + $sistemasOperacionaisUsuarios = $coletor->obterSistemasOperacionaisUsuarios(); | |
40 | + $enviar->enviarSistemasUsuarios($sistemasOperacionaisUsuarios, $id); | |
44 | 41 | |
45 | - LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug(),InfraLog::$INFORMACAO); | |
42 | + $navegadores = $coletor->obterNavegadores(); | |
43 | + $enviar->enviarNavegadores($navegadores, $id); | |
46 | 44 | |
47 | - } catch(Exception $e) { | |
48 | - InfraDebug::getInstance()->setBolLigado(false); | |
49 | - InfraDebug::getInstance()->setBolDebugInfra(false); | |
50 | - InfraDebug::getInstance()->setBolEcho(false); | |
51 | - throw new InfraException('Erro processando estatísticas do sistema.',$e); | |
52 | - } | |
53 | - } | |
45 | + $logs = $coletor->obterQuantidadeLogErro(); | |
46 | + $enviar->enviarLogsErro($logs, $id); | |
47 | + } | |
54 | 48 | |
49 | + LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug(), InfraLog::$INFORMACAO); | |
50 | + } catch (Exception $e) { | |
51 | + InfraDebug::getInstance()->setBolLigado(false); | |
52 | + InfraDebug::getInstance()->setBolDebugInfra(false); | |
53 | + InfraDebug::getInstance()->setBolEcho(false); | |
54 | + throw new InfraException('Erro processando estatísticas do sistema.', $e); | |
55 | + } | |
56 | + } | |
55 | 57 | } |
56 | 58 | ?> | ... | ... |
rn/MdEstatisticasColetarRN.php
1 | 1 | <? |
2 | -require_once dirname(__FILE__).'/../../../SEI.php'; | |
3 | - | |
4 | - | |
5 | -class MdEstatisticasColetarRN extends InfraRN { | |
6 | - | |
7 | - public function __construct(){ | |
8 | - parent::__construct(); | |
9 | - } | |
10 | - | |
11 | - protected function inicializarObjInfraIBanco(){ | |
12 | - return BancoSEI::getInstance(); | |
13 | - } | |
14 | - | |
15 | - public function coletarIndicadores() { | |
16 | - | |
17 | - try { | |
18 | - | |
19 | - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
20 | - $orgaoSigla = $objConfiguracaoSEI->getValor('MdEstatisticas','sigla', false, ''); | |
21 | - | |
22 | - $ind = array(); | |
23 | - | |
24 | - $ind['dataColeta'] = $this->obterDataColeta(); | |
25 | - $ind['orgaoSigla'] = $orgaoSigla; | |
26 | - $ind['seiVersao'] = $this->obterVersaoSEI(); | |
27 | - $ind['phpVersao'] = $this->obterVersaoPHP(); | |
28 | - $ind['memcachedVersao'] = $this->obterVersaoMemcached(); | |
29 | - $ind['solrVersao'] = $this->obterVersaoSolr(); | |
30 | - $ind['protocolo'] = $this->obterProtocolo(); | |
31 | - $ind['quantidadeUnidades'] = $this->obterQuantidadeUnidades(); | |
32 | - $ind['quantidadeProcedimentos'] = $this->obterQuantidadeProcessosAdministrativos(); | |
33 | - $ind['quantidadeUsuarios'] = $this->obterQuantidadeUsuarios(); | |
34 | - $ind['quantidadeDocumentosInternos'] = $this->obterQuantidadeDocumentosInternos(); | |
35 | - $ind['quantidadeDocumentosExternos'] = $this->obterQuantidadeDocumentosExternos(); | |
36 | - $ind['quantidadeMemoria'] = $this->obterUsoMemoria(); | |
37 | - $ind['porcentagemCPU'] = $this->obterUsoCPU(); | |
38 | - $ind['espacoDiscoUsado'] = $this->obterEspacoDisco(); | |
39 | - $ind['estrategiaCessao'] = $this->obterEstrategiaCessao(); | |
40 | - $ind['tamanhoDatabase'] = $this->obterTamanhoDataBase(); | |
41 | - $ind['bancoSei'] = $this->obterTipoSGBD(); | |
42 | - $ind['bancoVersao'] = $this->obterBancoVersao(); | |
43 | - $ind['servidorAplicacao'] = $this->obterServidorAplicacao(); | |
44 | - $ind['sistemaOperacional'] = $this->obterSistemaOperacional(); | |
45 | - $ind['sistemaOperacionalDetalhado'] = $this->obterSistemaOperacionalDetalhado(); | |
46 | - $ind['tamanhoFilesystem'] = $this->obterTamanhoFileSystem(); | |
47 | - $ind['tabelasTamanhos'] = $this->obterTamanhoTabelas(); | |
48 | - $ind['modulos'] = $this->obterPlugins(); | |
49 | - $ind['extensoes'] = $this->obterQuantidadeDocumentosExternosPorExtensao(); | |
50 | - $ind['anexosTamanhos'] = $this->obterTamanhoDocumentosExternos(); | |
51 | - | |
52 | - InfraDebug::getInstance()->gravar('Ind: ' . json_encode($ind), InfraLog::$INFORMACAO); | |
53 | - | |
54 | - return $ind; | |
55 | - | |
56 | - } catch(Exception $e) { | |
57 | - InfraDebug::getInstance()->setBolLigado(false); | |
58 | - InfraDebug::getInstance()->setBolDebugInfra(false); | |
59 | - InfraDebug::getInstance()->setBolEcho(false); | |
60 | - throw new InfraException('Erro processando estatísticas do sistema.',$e); | |
61 | - } | |
62 | - } | |
63 | - | |
64 | - private function obterVersaoSEI(){ | |
65 | - InfraDebug::getInstance()->gravar('SEI01 - Versão SEI: ' . SEI_VERSAO, InfraLog::$INFORMACAO); | |
66 | - return SEI_VERSAO; | |
67 | - } | |
68 | - | |
69 | - private function obterVersaoPHP(){ | |
70 | - InfraDebug::getInstance()->gravar('SEI21 - Versão PHP: ' . phpversion(), InfraLog::$INFORMACAO); | |
71 | - return phpversion(); | |
72 | - } | |
73 | - | |
74 | - private function getDirectorySize($path){ | |
75 | - $bytestotal = 0; | |
76 | - $path = realpath($path); | |
77 | - if($path!==false){ | |
78 | - foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object){ | |
79 | - $bytestotal += $object->getSize(); | |
80 | - } | |
81 | - } | |
82 | - return $bytestotal; | |
83 | - } | |
84 | - | |
85 | - private function obterTamanhoFileSystem(){ | |
86 | - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
87 | - if ($objConfiguracaoSEI->isSetValor('SEI', 'RepositorioArquivos')){ | |
88 | - $diretorio = $objConfiguracaoSEI->getValor('SEI','RepositorioArquivos'); | |
89 | - $tamanho = $this->getDirectorySize($diretorio); | |
90 | - | |
91 | - InfraDebug::getInstance()->gravar('SEI02 - Diretorio: ' . $diretorio, InfraLog::$INFORMACAO); | |
92 | - InfraDebug::getInstance()->gravar('SEI02 - Tamanho File System: ' . $tamanho, InfraLog::$INFORMACAO); | |
93 | - } | |
94 | - return $tamanho; | |
95 | - } | |
96 | - | |
97 | - private function obterPlugins(){ | |
98 | - global $SEI_MODULOS; | |
99 | - $lista = array(); | |
100 | - foreach($SEI_MODULOS as $strModulo => $seiModulo){ | |
101 | - $result = array( | |
102 | - 'nome' => $strModulo, | |
103 | - 'versao' => $seiModulo->getVersao() | |
104 | - ); | |
105 | - array_push($lista, $result); | |
106 | - } | |
107 | - | |
108 | - InfraDebug::getInstance()->gravar('SEI03 - Plugins: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
109 | - return $lista; | |
110 | - } | |
111 | - | |
112 | - private function obterQuantidadeUnidades(){ | |
113 | - | |
114 | - $objUnidadeRN = new UnidadeRN(); | |
115 | - $numQuantidadeUnidades = $objUnidadeRN->contarRN0128(new UnidadeDTO()); | |
116 | - | |
117 | - InfraDebug::getInstance()->gravar('SEI11 - Quantidade Unidades: ' . $numQuantidadeUnidades, InfraLog::$INFORMACAO); | |
118 | - return $numQuantidadeUnidades; | |
119 | - } | |
120 | - | |
121 | - private function obterTamanhoTotalDocumentosExternos(){ | |
122 | - | |
123 | - $query = "select sum(tamanho) as tamanho from anexo where sin_ativo = 'S'"; | |
124 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
125 | - $tamanho = (count($rs) && isset($rs[0]['tamanho'])) ? $rs[0]['tamanho'] : 0; | |
126 | - | |
127 | - InfraDebug::getInstance()->gravar('SEI12 - Tamanho Documentos Externos: ' . $tamanho, InfraLog::$INFORMACAO); | |
128 | - return $tamanho; | |
129 | - } | |
130 | - | |
131 | - private function obterQuantidadeUsuarios(){ | |
132 | - | |
133 | - $query = "SELECT COUNT(*) as quantidade FROM usuario WHERE sin_ativo = 'S'"; | |
134 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
135 | - $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
136 | - | |
137 | - InfraDebug::getInstance()->gravar('SEI09 - Quantidade de usuários: ' . $quantidade, InfraLog::$INFORMACAO); | |
138 | - return $quantidade; | |
139 | - } | |
140 | - | |
141 | - private function obterProtocolo(){ | |
142 | - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
143 | - if ($objConfiguracaoSEI->isSetValor('SessaoSEI', 'https')){ | |
144 | - $temHTTPS = $objConfiguracaoSEI->getValor('SessaoSEI', 'https'); | |
145 | - $protocolo = 'HTTP'; | |
146 | - if ($temHTTPS) { | |
147 | - $protocolo = 'HTTPS'; | |
148 | - } | |
149 | - InfraDebug::getInstance()->gravar('SEI12 - Protocolo: ' . $protocolo, InfraLog::$INFORMACAO); | |
150 | - return $protocolo; | |
151 | - } | |
152 | - } | |
153 | - | |
154 | - private function obterQuantidadeProcessosAdministrativos(){ | |
155 | - $query = "select count(*) as quantidade from procedimento"; | |
156 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
157 | - $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
158 | - | |
159 | - InfraDebug::getInstance()->gravar('SEI06 - Quantidade de Processos Administrativos: ' . $quantidade, InfraLog::$INFORMACAO); | |
160 | - return $quantidade; | |
161 | - } | |
162 | - | |
163 | - private function obterTipoSGBD(){ | |
164 | - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
165 | - $sgbd = $objConfiguracaoSEI->getValor('BancoSEI','Tipo', false, ''); | |
166 | - InfraDebug::getInstance()->gravar('SEI02 - SGBD: ' . $sgbd, InfraLog::$INFORMACAO); | |
167 | - return $sgbd; | |
168 | - } | |
169 | - | |
170 | - private function obterQuantidadeDocumentosInternos(){ | |
171 | - $query = "SELECT COUNT(*) as quantidade FROM documento WHERE STA_DOCUMENTO = 'I'"; | |
172 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
173 | - $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
174 | - | |
175 | - InfraDebug::getInstance()->gravar('SEI05 - Quantidade de documentos internos: ' . $quantidade, InfraLog::$INFORMACAO); | |
176 | - return $quantidade; | |
177 | - } | |
178 | - | |
179 | - private function obterQuantidadeDocumentosExternos(){ | |
180 | - $query = "SELECT COUNT(*) as quantidade FROM documento WHERE STA_DOCUMENTO = 'X'"; | |
181 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
182 | - $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
183 | - | |
184 | - InfraDebug::getInstance()->gravar('SEI05 - Quantidade de documentos externos: ' . $quantidade, InfraLog::$INFORMACAO); | |
185 | - return $quantidade; | |
186 | - } | |
187 | - | |
188 | - private function obterQuantidadeDocumentosExternosPorExtensao(){ | |
189 | - $query = "SELECT nome FROM anexo WHERE sin_ativo = 'S'"; | |
190 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
191 | - $extensoes = array(); | |
192 | - # Calculando na aplicacao para funcionar independente do banco | |
193 | - foreach($rs as $r) { | |
194 | - $extensao =pathinfo($r['nome'], PATHINFO_EXTENSION); | |
195 | - $qtd = $extensoes[$extensao]; | |
196 | - if (!$qtd) { | |
197 | - $qtd = 0; | |
198 | - } | |
199 | - $extensoes[$extensao] = $qtd + 1; | |
200 | - } | |
201 | - $lista = array(); | |
202 | - foreach($extensoes as $key => $value) { | |
203 | - $result = array( | |
204 | - 'extensao' => $key, | |
205 | - 'quantidade' => $value | |
206 | - ); | |
207 | - array_push($lista, $result); | |
208 | - } | |
209 | - | |
210 | - InfraDebug::getInstance()->gravar('SEI07 - Quantidade de extensoes de documentos externos: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
211 | - return $lista; | |
212 | - } | |
213 | - | |
214 | - private function obterEstrategiaCessao(){ | |
215 | - InfraDebug::getInstance()->gravar('SEI24 - Estrategia de armazenamento de cessao: ' . ini_get('session.save_handler'), InfraLog::$INFORMACAO); | |
216 | - return ini_get('session.save_handler'); | |
217 | - } | |
218 | - | |
219 | - private function obterVersaoMemcached(){ | |
220 | - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
221 | - $host = $objConfiguracaoSEI->getValor('CacheSEI','Servidor', false, ''); | |
222 | - $porta = $objConfiguracaoSEI->getValor('CacheSEI','Porta', false, ''); | |
223 | - | |
224 | - $memcache = new Memcache; | |
225 | - $memcache->connect($host, $porta); | |
226 | - $versao = $memcache->getVersion(); | |
227 | - | |
228 | - InfraDebug::getInstance()->gravar('SEI23 - Versão memcached: ' . $versao, InfraLog::$INFORMACAO); | |
229 | - return $versao; | |
230 | - } | |
231 | - | |
232 | - private function obterTamanhoDatabase(){ | |
233 | - $sgbd = $this->obterTipoSGBD(); | |
234 | - $query = ''; | |
235 | - if ($sgbd == 'MySql') { | |
236 | - $query = "SELECT table_schema, SUM(data_length + index_length) as tamanho FROM information_schema.TABLES WHERE table_schema = 'sei' GROUP BY table_schema"; | |
237 | - } elseif ($sgbd == 'SqlServer') { | |
238 | - $query = "SELECT SUM(Total_Pages * 8 * 1000) As tamanho FROM sys.partitions As P INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id INNER JOIN sys.tables t on t.object_id = p.object_id"; | |
239 | - } elseif ($sgbd == 'Oracle') { | |
240 | - $query = ""; | |
241 | - } | |
242 | - $rs = array(); | |
243 | - if($query) { | |
244 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
245 | - } | |
246 | - $tamanho = (count($rs) && isset($rs[0]['tamanho'])) ? $rs[0]['tamanho'] : 0; | |
247 | - | |
248 | - InfraDebug::getInstance()->gravar('SEI03 - Tamanho do SGBD: ' . $tamanho, InfraLog::$INFORMACAO); | |
249 | - return $tamanho; | |
250 | - } | |
251 | - | |
252 | - private function obterTamanhoTabelas(){ | |
253 | - $sgbd = $this->obterTipoSGBD(); | |
254 | - $query = ''; | |
255 | - if ($sgbd == 'MySql') { | |
256 | - $query = "SELECT table_name as tabela, data_length + index_length as tamanho FROM information_schema.TABLES WHERE table_schema = 'sei'"; | |
257 | - } elseif ($sgbd == 'SqlServer') { | |
258 | - $query = "" . | |
259 | - " SELECT t.name as tabela, SUM(Total_Pages * 8 * 1000) As tamanho " . | |
260 | - " FROM sys.partitions As P " . | |
261 | - " INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id " . | |
262 | - " INNER JOIN sys.tables t on t.object_id = p.object_id " . | |
263 | - " GROUP BY t.name ORDER BY t.name"; | |
264 | - } elseif ($sgbd == 'Oracle') { | |
265 | - $query = ""; | |
266 | - } | |
267 | - $tabelas = array(); | |
268 | - if($query) { | |
269 | - $tabelas = BancoSEI::getInstance()->consultarSql($query); | |
270 | - } | |
271 | - | |
272 | - InfraDebug::getInstance()->gravar('SEI15 - Tamanho das tabelas: ' . json_encode($tabelas), InfraLog::$INFORMACAO); | |
273 | - return $tabelas; | |
274 | - } | |
275 | - | |
276 | - | |
277 | - private function obterVersaoSolr(){ | |
278 | - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
279 | - $url = $objConfiguracaoSEI->getValor('Solr','Servidor', false, 'http://localhost:8983/solr'); | |
280 | - $url = $url . '/admin/info/system?wt=json'; | |
281 | - | |
282 | - $ch = curl_init(); | |
283 | - curl_setopt($ch, CURLOPT_URL, $url); | |
284 | - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
285 | - $output = curl_exec($ch); | |
286 | - $json = json_decode($output, true); | |
287 | - $versao = $json['lucene']['lucene-spec-version']; | |
288 | - InfraDebug::getInstance()->gravar('SEI22 - Versao Solr: ' . $versao, InfraLog::$INFORMACAO); | |
289 | - return $versao; | |
290 | - } | |
291 | - | |
292 | - private function obterServidorAplicacao(){ | |
293 | - $versao = $_SERVER['SERVER_SOFTWARE']; | |
294 | - InfraDebug::getInstance()->gravar('SEI20 - Quantidade de servidores de aplicação e suas versões: ' . $versao, InfraLog::$INFORMACAO); | |
295 | - return $versao; | |
296 | - } | |
297 | - | |
298 | - private function obterSistemaOperacional(){ | |
299 | - $so = PHP_OS; | |
300 | - $versao = $_SERVER['SERVER_SOFTWARE']; | |
301 | - InfraDebug::getInstance()->gravar('SEI17 - Quantidade de Sistemas Operacionais: ' . $so, InfraLog::$INFORMACAO); | |
302 | - return $so; | |
303 | - } | |
304 | - | |
305 | - private function obterSistemaOperacionalDetalhado(){ | |
306 | - $so = php_uname(); | |
307 | - $versao = $_SERVER['SERVER_SOFTWARE']; | |
308 | - InfraDebug::getInstance()->gravar('SEI17 - Quantidade de Sistemas Operacionais (Detalhado): ' . $so, InfraLog::$INFORMACAO); | |
309 | - return $so; | |
310 | - } | |
311 | - | |
312 | - private function obterDataColeta(){ | |
313 | - $dataColeta = date (DATE_ATOM); | |
314 | - InfraDebug::getInstance()->gravar('SEI29 - Periodicidade do envio - Data da coleta: ' . $dataColeta, InfraLog::$INFORMACAO); | |
315 | - return $dataColeta; | |
316 | - } | |
317 | - | |
318 | - private function obterTamanhoDocumentosExternos(){ | |
319 | - $resultado = array(); | |
320 | - # 0MB - !MB | |
321 | - $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 0 AND tamanho < 1000"; | |
322 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
323 | - $resultado[0] = array( | |
324 | - 'tamanho' => '0MB - 1MB', | |
325 | - 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
326 | - ); | |
327 | - | |
328 | - # 1MB - 10MB | |
329 | - $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 1000 AND tamanho < 10000"; | |
330 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
331 | - $resultado[1] = array( | |
332 | - 'tamanho' => '1MB - 10MB', | |
333 | - 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
334 | - ); | |
335 | - | |
336 | - # 10MB - 100MB | |
337 | - $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 10000 AND tamanho < 100000"; | |
338 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
339 | - $resultado[2] = array( | |
340 | - 'tamanho' => '10MB - 100MB', | |
341 | - 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
342 | - ); | |
343 | - | |
344 | - # > 100MB | |
345 | - $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 100000"; | |
346 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
347 | - $resultado[3] = array( | |
348 | - 'tamanho' => 'Maior que 100MB', | |
349 | - 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
350 | - ); | |
351 | - | |
352 | - InfraDebug::getInstance()->gravar('SEI11 - Tamanho dos documentos externos: ' . json_encode($resultado), InfraLog::$INFORMACAO); | |
353 | - return $resultado; | |
354 | - } | |
355 | - | |
356 | - private function obterUsoMemoria(){ | |
357 | - $memoria = memory_get_usage(); | |
358 | - InfraDebug::getInstance()->gravar('SEI18 - Quantidade de byte de uso de memoria: ' . json_encode($memoria), InfraLog::$INFORMACAO); | |
359 | - return $memoria; | |
360 | - } | |
361 | - | |
362 | - private function obterUsoCPU(){ | |
363 | - $load = sys_getloadavg(); | |
364 | - $uso = null; | |
365 | - if ($load) { | |
366 | - $uso = $load[0]; | |
367 | - } | |
368 | - InfraDebug::getInstance()->gravar('SEI18 - Porcentagem de uso de CPU: ' . json_encode($uso), InfraLog::$INFORMACAO); | |
369 | - return $uso; | |
370 | - } | |
371 | - | |
372 | - private function obterEspacoDisco() { | |
373 | - $ds = null; | |
374 | - if(php_uname('s')=='Windows NT') { | |
375 | - $unidade = substr($_SERVER['DOCUMENT_ROOT'], 0, 2); | |
376 | - if (!$unidade) { | |
377 | - $unidade = 'C:'; | |
378 | - } | |
379 | - } else { | |
380 | - $unidade = "/"; | |
381 | - } | |
382 | - $total = disk_total_space($unidade); | |
383 | - $free = disk_free_space($unidade); | |
384 | - $ds = $total - $free; | |
385 | - InfraDebug::getInstance()->gravar('SEI18 - Espaco utilizado do disco: ' . json_encode($ds), InfraLog::$INFORMACAO); | |
386 | - return $ds; | |
387 | - } | |
388 | - | |
389 | - private function obterBancoVersao(){ | |
390 | - $sgbd = $this->obterTipoSGBD(); | |
391 | - $query = ''; | |
392 | - if ($sgbd == 'MySql') { | |
393 | - $query = "SELECT version() as versao"; | |
394 | - } elseif ($sgbd == 'SqlServer') { | |
395 | - $query = "SELECT SERVERPROPERTY('productversion') as versao"; | |
396 | - } elseif ($sgbd == 'Oracle') { | |
397 | - $query = "select version AS versao from product_component_version WHERE product LIKE 'Oracle%'"; | |
398 | - } | |
399 | - $rs = array(); | |
400 | - if ($query) { | |
401 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
402 | - } | |
403 | - $versao = (count($rs) && isset($rs[0]['versao'])) ? $rs[0]['versao'] : null; | |
404 | - InfraDebug::getInstance()->gravar('SEI02 - Versao do SGBD: ' . $versao, InfraLog::$INFORMACAO); | |
405 | - return $versao; | |
406 | - } | |
407 | - | |
408 | - public function obterVelocidadePorCidade(){ | |
409 | - $query = " | |
2 | +require_once dirname(__FILE__) . '/../../../SEI.php'; | |
3 | + | |
4 | +class MdEstatisticasColetarRN extends InfraRN | |
5 | +{ | |
6 | + | |
7 | + public function __construct() { | |
8 | + parent::__construct(); | |
9 | + } | |
10 | + | |
11 | + protected function inicializarObjInfraIBanco() { | |
12 | + return BancoSEI::getInstance(); | |
13 | + } | |
14 | + | |
15 | + public function coletarIndicadores() { | |
16 | + try { | |
17 | + | |
18 | + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
19 | + $orgaoSigla = $objConfiguracaoSEI->getValor('MdEstatisticas', 'sigla', false, ''); | |
20 | + | |
21 | + $ind = array(); | |
22 | + | |
23 | + $ind['dataColeta'] = $this->obterDataColeta(); | |
24 | + $ind['orgaoSigla'] = $orgaoSigla; | |
25 | + $ind['seiVersao'] = $this->obterVersaoSEI(); | |
26 | + $ind['phpVersao'] = $this->obterVersaoPHP(); | |
27 | + $ind['memcachedVersao'] = $this->obterVersaoMemcached(); | |
28 | + $ind['solrVersao'] = $this->obterVersaoSolr(); | |
29 | + $ind['protocolo'] = $this->obterProtocolo(); | |
30 | + $ind['quantidadeUnidades'] = $this->obterQuantidadeUnidades(); | |
31 | + $ind['quantidadeProcedimentos'] = $this->obterQuantidadeProcessosAdministrativos(); | |
32 | + $ind['quantidadeUsuarios'] = $this->obterQuantidadeUsuarios(); | |
33 | + $ind['quantidadeDocumentosInternos'] = $this->obterQuantidadeDocumentosInternos(); | |
34 | + $ind['quantidadeDocumentosExternos'] = $this->obterQuantidadeDocumentosExternos(); | |
35 | + $ind['quantidadeMemoria'] = $this->obterUsoMemoria(); | |
36 | + $ind['porcentagemCPU'] = $this->obterUsoCPU(); | |
37 | + $ind['espacoDiscoUsado'] = $this->obterEspacoDisco(); | |
38 | + $ind['estrategiaCessao'] = $this->obterEstrategiaCessao(); | |
39 | + $ind['tamanhoDatabase'] = $this->obterTamanhoDataBase(); | |
40 | + $ind['bancoSei'] = $this->obterTipoSGBD(); | |
41 | + $ind['bancoVersao'] = $this->obterBancoVersao(); | |
42 | + $ind['servidorAplicacao'] = $this->obterServidorAplicacao(); | |
43 | + $ind['sistemaOperacional'] = $this->obterSistemaOperacional(); | |
44 | + $ind['sistemaOperacionalDetalhado'] = $this->obterSistemaOperacionalDetalhado(); | |
45 | + $ind['tamanhoFilesystem'] = $this->obterTamanhoFileSystem(); | |
46 | + $ind['tabelasTamanhos'] = $this->obterTamanhoTabelas(); | |
47 | + $ind['modulos'] = $this->obterPlugins(); | |
48 | + $ind['extensoes'] = $this->obterQuantidadeDocumentosExternosPorExtensao(); | |
49 | + $ind['anexosTamanhos'] = $this->obterTamanhoDocumentosExternos(); | |
50 | + | |
51 | + InfraDebug::getInstance()->gravar('Ind: ' . json_encode($ind), InfraLog::$INFORMACAO); | |
52 | + | |
53 | + return $ind; | |
54 | + } catch (Exception $e) { | |
55 | + InfraDebug::getInstance()->setBolLigado(false); | |
56 | + InfraDebug::getInstance()->setBolDebugInfra(false); | |
57 | + InfraDebug::getInstance()->setBolEcho(false); | |
58 | + throw new InfraException('Erro processando estatísticas do sistema.', $e); | |
59 | + } | |
60 | + } | |
61 | + | |
62 | + private function obterVersaoSEI() { | |
63 | + return SEI_VERSAO; | |
64 | + } | |
65 | + | |
66 | + private function obterVersaoPHP() { | |
67 | + return phpversion(); | |
68 | + } | |
69 | + | |
70 | + private function getDirectorySize($path) { | |
71 | + $bytestotal = 0; | |
72 | + $path = realpath($path); | |
73 | + if ($path !== false) { | |
74 | + foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object) { | |
75 | + $bytestotal += $object->getSize(); | |
76 | + } | |
77 | + } | |
78 | + return $bytestotal; | |
79 | + } | |
80 | + | |
81 | + private function obterTamanhoFileSystem() { | |
82 | + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
83 | + if ($objConfiguracaoSEI->isSetValor('SEI', 'RepositorioArquivos')) { | |
84 | + $diretorio = $objConfiguracaoSEI->getValor('SEI', 'RepositorioArquivos'); | |
85 | + $tamanho = $this->getDirectorySize($diretorio); | |
86 | + } | |
87 | + return $tamanho; | |
88 | + } | |
89 | + | |
90 | + private function obterPlugins() { | |
91 | + global $SEI_MODULOS; | |
92 | + $lista = array(); | |
93 | + foreach ($SEI_MODULOS as $strModulo => $seiModulo) { | |
94 | + $result = array( | |
95 | + 'nome' => $strModulo, | |
96 | + 'versao' => $seiModulo->getVersao() | |
97 | + ); | |
98 | + array_push($lista, $result); | |
99 | + } | |
100 | + | |
101 | + InfraDebug::getInstance()->gravar('SEI03 - Plugins: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
102 | + return $lista; | |
103 | + } | |
104 | + | |
105 | + private function obterQuantidadeUnidades() { | |
106 | + $objUnidadeRN = new UnidadeRN(); | |
107 | + $numQuantidadeUnidades = $objUnidadeRN->contarRN0128(new UnidadeDTO()); | |
108 | + | |
109 | + InfraDebug::getInstance()->gravar('SEI11 - Quantidade Unidades: ' . $numQuantidadeUnidades, InfraLog::$INFORMACAO); | |
110 | + return $numQuantidadeUnidades; | |
111 | + } | |
112 | + | |
113 | + private function obterTamanhoTotalDocumentosExternos() { | |
114 | + $query = "select sum(tamanho) as tamanho from anexo where sin_ativo = 'S'"; | |
115 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
116 | + $tamanho = (count($rs) && isset($rs[0]['tamanho'])) ? $rs[0]['tamanho'] : 0; | |
117 | + | |
118 | + InfraDebug::getInstance()->gravar('SEI12 - Tamanho Documentos Externos: ' . $tamanho, InfraLog::$INFORMACAO); | |
119 | + return $tamanho; | |
120 | + } | |
121 | + | |
122 | + private function obterQuantidadeUsuarios() { | |
123 | + $query = "SELECT COUNT(*) as quantidade FROM usuario WHERE sin_ativo = 'S'"; | |
124 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
125 | + $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
126 | + | |
127 | + InfraDebug::getInstance()->gravar('SEI09 - Quantidade de usuários: ' . $quantidade, InfraLog::$INFORMACAO); | |
128 | + return $quantidade; | |
129 | + } | |
130 | + | |
131 | + private function obterProtocolo() { | |
132 | + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
133 | + if ($objConfiguracaoSEI->isSetValor('SessaoSEI', 'https')) { | |
134 | + $temHTTPS = $objConfiguracaoSEI->getValor('SessaoSEI', 'https'); | |
135 | + $protocolo = 'HTTP'; | |
136 | + if ($temHTTPS) { | |
137 | + $protocolo = 'HTTPS'; | |
138 | + } | |
139 | + InfraDebug::getInstance()->gravar('SEI12 - Protocolo: ' . $protocolo, InfraLog::$INFORMACAO); | |
140 | + return $protocolo; | |
141 | + } | |
142 | + } | |
143 | + | |
144 | + private function obterQuantidadeProcessosAdministrativos() { | |
145 | + $query = "select count(*) as quantidade from procedimento"; | |
146 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
147 | + $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
148 | + | |
149 | + InfraDebug::getInstance()->gravar('SEI06 - Quantidade de Processos Administrativos: ' . $quantidade, InfraLog::$INFORMACAO); | |
150 | + return $quantidade; | |
151 | + } | |
152 | + | |
153 | + private function obterTipoSGBD() { | |
154 | + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
155 | + $sgbd = $objConfiguracaoSEI->getValor('BancoSEI', 'Tipo', false, ''); | |
156 | + InfraDebug::getInstance()->gravar('SEI02 - SGBD: ' . $sgbd, InfraLog::$INFORMACAO); | |
157 | + return $sgbd; | |
158 | + } | |
159 | + | |
160 | + private function obterQuantidadeDocumentosInternos() { | |
161 | + $query = "SELECT COUNT(*) as quantidade FROM documento WHERE STA_DOCUMENTO = 'I'"; | |
162 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
163 | + $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
164 | + | |
165 | + InfraDebug::getInstance()->gravar('SEI05 - Quantidade de documentos internos: ' . $quantidade, InfraLog::$INFORMACAO); | |
166 | + return $quantidade; | |
167 | + } | |
168 | + | |
169 | + private function obterQuantidadeDocumentosExternos() { | |
170 | + $query = "SELECT COUNT(*) as quantidade FROM documento WHERE STA_DOCUMENTO = 'X'"; | |
171 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
172 | + $quantidade = (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0; | |
173 | + | |
174 | + InfraDebug::getInstance()->gravar('SEI05 - Quantidade de documentos externos: ' . $quantidade, InfraLog::$INFORMACAO); | |
175 | + return $quantidade; | |
176 | + } | |
177 | + | |
178 | + private function obterQuantidadeDocumentosExternosPorExtensao() { | |
179 | + $query = "SELECT nome FROM anexo WHERE sin_ativo = 'S'"; | |
180 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
181 | + $extensoes = array(); | |
182 | + // Calculando na aplicacao para funcionar independente do banco | |
183 | + foreach ($rs as $r) { | |
184 | + $extensao = pathinfo($r['nome'], PATHINFO_EXTENSION); | |
185 | + $qtd = $extensoes[$extensao]; | |
186 | + if (! $qtd) { | |
187 | + $qtd = 0; | |
188 | + } | |
189 | + $extensoes[$extensao] = $qtd + 1; | |
190 | + } | |
191 | + $lista = array(); | |
192 | + foreach ($extensoes as $key => $value) { | |
193 | + $result = array( | |
194 | + 'extensao' => $key, | |
195 | + 'quantidade' => $value | |
196 | + ); | |
197 | + array_push($lista, $result); | |
198 | + } | |
199 | + | |
200 | + InfraDebug::getInstance()->gravar('SEI07 - Quantidade de extensoes de documentos externos: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
201 | + return $lista; | |
202 | + } | |
203 | + | |
204 | + private function obterEstrategiaCessao() { | |
205 | + InfraDebug::getInstance()->gravar('SEI24 - Estrategia de armazenamento de cessao: ' . ini_get('session.save_handler'), InfraLog::$INFORMACAO); | |
206 | + return ini_get('session.save_handler'); | |
207 | + } | |
208 | + | |
209 | + private function obterVersaoMemcached() { | |
210 | + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
211 | + $host = $objConfiguracaoSEI->getValor('CacheSEI', 'Servidor', false, ''); | |
212 | + $porta = $objConfiguracaoSEI->getValor('CacheSEI', 'Porta', false, ''); | |
213 | + | |
214 | + $memcache = new Memcache(); | |
215 | + $memcache->connect($host, $porta); | |
216 | + $versao = $memcache->getVersion(); | |
217 | + | |
218 | + InfraDebug::getInstance()->gravar('SEI23 - Versão memcached: ' . $versao, InfraLog::$INFORMACAO); | |
219 | + return $versao; | |
220 | + } | |
221 | + | |
222 | + private function obterTamanhoDatabase() { | |
223 | + $sgbd = $this->obterTipoSGBD(); | |
224 | + $query = ''; | |
225 | + if ($sgbd == 'MySql') { | |
226 | + $query = "SELECT table_schema, SUM(data_length + index_length) as tamanho FROM information_schema.TABLES WHERE table_schema = 'sei' GROUP BY table_schema"; | |
227 | + } elseif ($sgbd == 'SqlServer') { | |
228 | + $query = "SELECT SUM(Total_Pages * 8 * 1000) As tamanho FROM sys.partitions As P INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id INNER JOIN sys.tables t on t.object_id = p.object_id"; | |
229 | + } elseif ($sgbd == 'Oracle') { | |
230 | + $query = ""; | |
231 | + } | |
232 | + $rs = array(); | |
233 | + if ($query) { | |
234 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
235 | + } | |
236 | + $tamanho = (count($rs) && isset($rs[0]['tamanho'])) ? $rs[0]['tamanho'] : 0; | |
237 | + | |
238 | + InfraDebug::getInstance()->gravar('SEI03 - Tamanho do SGBD: ' . $tamanho, InfraLog::$INFORMACAO); | |
239 | + return $tamanho; | |
240 | + } | |
241 | + | |
242 | + private function obterTamanhoTabelas() { | |
243 | + $sgbd = $this->obterTipoSGBD(); | |
244 | + $query = ''; | |
245 | + if ($sgbd == 'MySql') { | |
246 | + $query = "SELECT table_name as tabela, data_length + index_length as tamanho FROM information_schema.TABLES WHERE table_schema = 'sei'"; | |
247 | + } elseif ($sgbd == 'SqlServer') { | |
248 | + $query = "" . " SELECT t.name as tabela, SUM(Total_Pages * 8 * 1000) As tamanho " . " FROM sys.partitions As P " . " INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id " . " INNER JOIN sys.tables t on t.object_id = p.object_id " . " GROUP BY t.name ORDER BY t.name"; | |
249 | + } elseif ($sgbd == 'Oracle') { | |
250 | + $query = ""; | |
251 | + } | |
252 | + $tabelas = array(); | |
253 | + if ($query) { | |
254 | + $tabelas = BancoSEI::getInstance()->consultarSql($query); | |
255 | + } | |
256 | + | |
257 | + InfraDebug::getInstance()->gravar('SEI15 - Tamanho das tabelas: ' . json_encode($tabelas), InfraLog::$INFORMACAO); | |
258 | + return $tabelas; | |
259 | + } | |
260 | + | |
261 | + private function obterVersaoSolr() { | |
262 | + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
263 | + $url = $objConfiguracaoSEI->getValor('Solr', 'Servidor', false, 'http://localhost:8983/solr'); | |
264 | + $url = $url . '/admin/info/system?wt=json'; | |
265 | + | |
266 | + $ch = curl_init(); | |
267 | + curl_setopt($ch, CURLOPT_URL, $url); | |
268 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
269 | + $output = curl_exec($ch); | |
270 | + $json = json_decode($output, true); | |
271 | + $versao = $json['lucene']['lucene-spec-version']; | |
272 | + InfraDebug::getInstance()->gravar('SEI22 - Versao Solr: ' . $versao, InfraLog::$INFORMACAO); | |
273 | + return $versao; | |
274 | + } | |
275 | + | |
276 | + private function obterServidorAplicacao() { | |
277 | + $versao = $_SERVER['SERVER_SOFTWARE']; | |
278 | + InfraDebug::getInstance()->gravar('SEI20 - Quantidade de servidores de aplicação e suas versões: ' . $versao, InfraLog::$INFORMACAO); | |
279 | + return $versao; | |
280 | + } | |
281 | + | |
282 | + private function obterSistemaOperacional() { | |
283 | + $so = PHP_OS; | |
284 | + InfraDebug::getInstance()->gravar('SEI17 - Quantidade de Sistemas Operacionais: ' . $so, InfraLog::$INFORMACAO); | |
285 | + return $so; | |
286 | + } | |
287 | + | |
288 | + private function obterSistemaOperacionalDetalhado() { | |
289 | + $so = php_uname(); | |
290 | + InfraDebug::getInstance()->gravar('SEI17 - Quantidade de Sistemas Operacionais (Detalhado): ' . $so, InfraLog::$INFORMACAO); | |
291 | + return $so; | |
292 | + } | |
293 | + | |
294 | + private function obterDataColeta() { | |
295 | + $dataColeta = date(DATE_ATOM); | |
296 | + InfraDebug::getInstance()->gravar('SEI29 - Periodicidade do envio - Data da coleta: ' . $dataColeta, InfraLog::$INFORMACAO); | |
297 | + return $dataColeta; | |
298 | + } | |
299 | + | |
300 | + private function obterTamanhoDocumentosExternos() { | |
301 | + $resultado = array(); | |
302 | + // 0MB - !MB | |
303 | + $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 0 AND tamanho < 1000"; | |
304 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
305 | + $resultado[0] = array( | |
306 | + 'tamanho' => '0MB - 1MB', | |
307 | + 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
308 | + ); | |
309 | + | |
310 | + // 1MB - 10MB | |
311 | + $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 1000 AND tamanho < 10000"; | |
312 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
313 | + $resultado[1] = array( | |
314 | + 'tamanho' => '1MB - 10MB', | |
315 | + 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
316 | + ); | |
317 | + | |
318 | + // 10MB - 100MB | |
319 | + $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 10000 AND tamanho < 100000"; | |
320 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
321 | + $resultado[2] = array( | |
322 | + 'tamanho' => '10MB - 100MB', | |
323 | + 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
324 | + ); | |
325 | + | |
326 | + // > 100MB | |
327 | + $query = "SELECT count(*) as quantidade FROM anexo WHERE sin_ativo = 'S' AND tamanho >= 100000"; | |
328 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
329 | + $resultado[3] = array( | |
330 | + 'tamanho' => 'Maior que 100MB', | |
331 | + 'quantidade' => (count($rs) && isset($rs[0]['quantidade'])) ? $rs[0]['quantidade'] : 0 | |
332 | + ); | |
333 | + | |
334 | + InfraDebug::getInstance()->gravar('SEI11 - Tamanho dos documentos externos: ' . json_encode($resultado), InfraLog::$INFORMACAO); | |
335 | + return $resultado; | |
336 | + } | |
337 | + | |
338 | + private function obterUsoMemoria() { | |
339 | + $memoria = memory_get_usage(); | |
340 | + InfraDebug::getInstance()->gravar('SEI18 - Quantidade de byte de uso de memoria: ' . json_encode($memoria), InfraLog::$INFORMACAO); | |
341 | + return $memoria; | |
342 | + } | |
343 | + | |
344 | + private function obterUsoCPU() { | |
345 | + $load = sys_getloadavg(); | |
346 | + $uso = null; | |
347 | + if ($load) { | |
348 | + $uso = $load[0]; | |
349 | + } | |
350 | + InfraDebug::getInstance()->gravar('SEI18 - Porcentagem de uso de CPU: ' . json_encode($uso), InfraLog::$INFORMACAO); | |
351 | + return $uso; | |
352 | + } | |
353 | + | |
354 | + private function obterEspacoDisco() { | |
355 | + $ds = null; | |
356 | + if (php_uname('s') == 'Windows NT') { | |
357 | + $unidade = substr($_SERVER['DOCUMENT_ROOT'], 0, 2); | |
358 | + if (! $unidade) { | |
359 | + $unidade = 'C:'; | |
360 | + } | |
361 | + } else { | |
362 | + $unidade = "/"; | |
363 | + } | |
364 | + $total = disk_total_space($unidade); | |
365 | + $free = disk_free_space($unidade); | |
366 | + $ds = $total - $free; | |
367 | + InfraDebug::getInstance()->gravar('SEI18 - Espaco utilizado do disco: ' . json_encode($ds), InfraLog::$INFORMACAO); | |
368 | + return $ds; | |
369 | + } | |
370 | + | |
371 | + private function obterBancoVersao() { | |
372 | + $sgbd = $this->obterTipoSGBD(); | |
373 | + $query = ''; | |
374 | + if ($sgbd == 'MySql') { | |
375 | + $query = "SELECT version() as versao"; | |
376 | + } elseif ($sgbd == 'SqlServer') { | |
377 | + $query = "SELECT SERVERPROPERTY('productversion') as versao"; | |
378 | + } elseif ($sgbd == 'Oracle') { | |
379 | + $query = "select version AS versao from product_component_version WHERE product LIKE 'Oracle%'"; | |
380 | + } | |
381 | + $rs = array(); | |
382 | + if ($query) { | |
383 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
384 | + } | |
385 | + $versao = (count($rs) && isset($rs[0]['versao'])) ? $rs[0]['versao'] : null; | |
386 | + InfraDebug::getInstance()->gravar('SEI02 - Versao do SGBD: ' . $versao, InfraLog::$INFORMACAO); | |
387 | + return $versao; | |
388 | + } | |
389 | + | |
390 | + public function obterVelocidadePorCidade() { | |
391 | + $query = " | |
410 | 392 | select d.nome as cidade, e.nome as uf, avg(velocidade) as velocidade |
411 | 393 | from velocidade_transferencia a |
412 | 394 | join unidade b on b.id_unidade = a.id_unidade |
... | ... | @@ -416,100 +398,101 @@ class MdEstatisticasColetarRN extends InfraRN { |
416 | 398 | group by |
417 | 399 | d.nome, e.nome |
418 | 400 | "; |
419 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
420 | - $lista = array(); | |
421 | - foreach($rs as $r) { | |
422 | - $result = array( | |
423 | - 'cidade' => utf8_encode($r['cidade']), | |
424 | - 'uf' => utf8_encode($r['uf']), | |
425 | - 'velocidade' => $r['velocidade'] | |
426 | - ); | |
427 | - | |
428 | - array_push($lista, $result); | |
429 | - } | |
430 | - InfraDebug::getInstance()->gravar('SEI14 - Quantidade de bytes de transferência: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
431 | - return $lista; | |
432 | - } | |
433 | - | |
434 | - public function obterAcessosUsuarios($ultimadata=null){ | |
435 | - if ($ultimadata == null) { | |
436 | - $ultimadata = '1900-01-01'; | |
437 | - } | |
438 | - $sgbd = $this->obterTipoSGBD(); | |
439 | - $query = ''; | |
440 | - if ($sgbd == 'MySql') { | |
441 | - $query = "select count(*) as quantidade, date(dth_acesso) as data from infra_navegador where date(dth_acesso) > " . $ultimadata . " group by date(dth_acesso)"; | |
442 | - } elseif ($sgbd == 'SqlServer') { | |
443 | - $query = "select count(*) as quantidade, CONVERT(date, dth_acesso) as data from infra_navegador where dth_acesso >= " . $ultimadata . " group by CONVERT(date, dth_acesso)"; | |
444 | - } elseif ($sgbd == 'Oracle') { | |
445 | - $query = "select count(*) as quantidade, to_char(dth_acesso,'YYYY-MM-DD') AS data from infra_navegador where dth_acesso >= date " . $ultimadata . " group by to_char(dth_acesso,'YYYY-MM-DD')"; | |
446 | - } | |
447 | - | |
448 | - $rs = array(); | |
449 | - if($query) { | |
450 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
451 | - } | |
452 | - InfraDebug::getInstance()->gravar('SEI27 - Quantidade de acessos por dia: ' . json_encode($rs), InfraLog::$INFORMACAO); | |
453 | - return $rs; | |
454 | - } | |
455 | - | |
456 | - public function obterSistemasOperacionaisUsuarios(){ | |
457 | - $sgbd = $this->obterTipoSGBD(); | |
458 | - if ($sgbd == 'Oracle') { | |
459 | - $query = "select distinct to_char(user_agent) as nome from infra_auditoria where user_agent is not null"; | |
460 | - } else { | |
461 | - $query = "select distinct user_agent as nome from infra_auditoria where user_agent is not null"; | |
462 | - } | |
463 | - $sistemas = BancoSEI::getInstance()->consultarSql($query); | |
464 | - | |
465 | - $lista = array(); | |
466 | - foreach($sistemas as $r) { | |
467 | - $texto = $r['nome']; | |
468 | - $inicio = strpos($texto, '('); | |
469 | - if ($inicio !== false) { | |
470 | - $fim = strpos($texto, ')', $inicio); | |
471 | - $nome = substr($texto, $inicio + 1, $fim - $inicio -1); | |
472 | - array_push($lista, $nome); | |
473 | - } | |
474 | - } | |
475 | - $lista = array_unique($lista); | |
476 | - | |
477 | - $sistemas = array(); | |
478 | - foreach($lista as $n) { | |
479 | - $result = array('nome'=>$n); | |
480 | - array_push($sistemas, $result); | |
481 | - } | |
482 | - | |
483 | - InfraDebug::getInstance()->gravar('SEI26 - Sistemas Operacionais dos Clientes: ' . json_encode($sistemas), InfraLog::$INFORMACAO); | |
484 | - return $sistemas; | |
485 | - } | |
486 | - | |
487 | - public function obterNavegadores(){ | |
488 | - $query = "select count(*) as quantidade, identificacao as nome, versao from infra_navegador group by identificacao,versao"; | |
489 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
490 | - $lista = array(); | |
491 | - foreach ($rs as $r) { | |
492 | - $result = array( | |
493 | - 'nome' => utf8_encode($r['nome']), | |
494 | - 'quantidade' => $r['quantidade'], | |
495 | - 'versao' => $r['versao'] | |
496 | - ); | |
497 | - array_push($lista, $result); | |
498 | - } | |
499 | - | |
500 | - InfraDebug::getInstance()->gravar('SEI13 - Quantidade de Navegadores: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
501 | - return $lista; | |
502 | - } | |
503 | - | |
504 | - public function obterQuantidadeRecurso() { | |
505 | - $query = "SELECT year(dth_acesso) as ano, month(dth_acesso) as mes, recurso, count(*) as quantidade FROM sei.infra_auditoria group by 1, 2, 3 order by 1, 2, 3"; | |
506 | - return BancoSEI::getInstance()->consultarSql($query); | |
507 | - } | |
508 | - | |
509 | - public function obterQuantidadeLogErro() { | |
510 | - $query = "select year(dth_log) ano, month(dth_log) mes, week(dth_log) semana, count(*) as quantidade from sei.infra_log where sta_tipo = 'E' group by 1, 2, 3"; | |
511 | - return BancoSEI::getInstance()->consultarSql($query); | |
512 | - } | |
513 | - | |
401 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
402 | + $lista = array(); | |
403 | + foreach ($rs as $r) { | |
404 | + $result = array( | |
405 | + 'cidade' => utf8_encode($r['cidade']), | |
406 | + 'uf' => utf8_encode($r['uf']), | |
407 | + 'velocidade' => $r['velocidade'] | |
408 | + ); | |
409 | + | |
410 | + array_push($lista, $result); | |
411 | + } | |
412 | + InfraDebug::getInstance()->gravar('SEI14 - Quantidade de bytes de transferência: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
413 | + return $lista; | |
414 | + } | |
415 | + | |
416 | + public function obterAcessosUsuarios($ultimadata = null) { | |
417 | + if ($ultimadata == null) { | |
418 | + $ultimadata = '1900-01-01'; | |
419 | + } | |
420 | + $sgbd = $this->obterTipoSGBD(); | |
421 | + $query = ''; | |
422 | + if ($sgbd == 'MySql') { | |
423 | + $query = "select count(*) as quantidade, date(dth_acesso) as data from infra_navegador where date(dth_acesso) > " . $ultimadata . " group by date(dth_acesso)"; | |
424 | + } elseif ($sgbd == 'SqlServer') { | |
425 | + $query = "select count(*) as quantidade, CONVERT(date, dth_acesso) as data from infra_navegador where dth_acesso >= " . $ultimadata . " group by CONVERT(date, dth_acesso)"; | |
426 | + } elseif ($sgbd == 'Oracle') { | |
427 | + $query = "select count(*) as quantidade, to_char(dth_acesso,'YYYY-MM-DD') AS data from infra_navegador where dth_acesso >= date " . $ultimadata . " group by to_char(dth_acesso,'YYYY-MM-DD')"; | |
428 | + } | |
429 | + | |
430 | + $rs = array(); | |
431 | + if ($query) { | |
432 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
433 | + } | |
434 | + InfraDebug::getInstance()->gravar('SEI27 - Quantidade de acessos por dia: ' . json_encode($rs), InfraLog::$INFORMACAO); | |
435 | + return $rs; | |
436 | + } | |
437 | + | |
438 | + public function obterSistemasOperacionaisUsuarios() { | |
439 | + $sgbd = $this->obterTipoSGBD(); | |
440 | + if ($sgbd == 'Oracle') { | |
441 | + $query = "select distinct to_char(user_agent) as nome from infra_auditoria where user_agent is not null"; | |
442 | + } else { | |
443 | + $query = "select distinct user_agent as nome from infra_auditoria where user_agent is not null"; | |
444 | + } | |
445 | + $sistemas = BancoSEI::getInstance()->consultarSql($query); | |
446 | + | |
447 | + $lista = array(); | |
448 | + foreach ($sistemas as $r) { | |
449 | + $texto = $r['nome']; | |
450 | + $inicio = strpos($texto, '('); | |
451 | + if ($inicio !== false) { | |
452 | + $fim = strpos($texto, ')', $inicio); | |
453 | + $nome = substr($texto, $inicio + 1, $fim - $inicio - 1); | |
454 | + array_push($lista, $nome); | |
455 | + } | |
456 | + } | |
457 | + $lista = array_unique($lista); | |
458 | + | |
459 | + $sistemas = array(); | |
460 | + foreach ($lista as $n) { | |
461 | + $result = array( | |
462 | + 'nome' => $n | |
463 | + ); | |
464 | + array_push($sistemas, $result); | |
465 | + } | |
466 | + | |
467 | + InfraDebug::getInstance()->gravar('SEI26 - Sistemas Operacionais dos Clientes: ' . json_encode($sistemas), InfraLog::$INFORMACAO); | |
468 | + return $sistemas; | |
469 | + } | |
470 | + | |
471 | + public function obterNavegadores() { | |
472 | + $query = "select count(*) as quantidade, identificacao as nome, versao from infra_navegador group by identificacao,versao"; | |
473 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
474 | + $lista = array(); | |
475 | + foreach ($rs as $r) { | |
476 | + $result = array( | |
477 | + 'nome' => utf8_encode($r['nome']), | |
478 | + 'quantidade' => $r['quantidade'], | |
479 | + 'versao' => $r['versao'] | |
480 | + ); | |
481 | + array_push($lista, $result); | |
482 | + } | |
483 | + | |
484 | + InfraDebug::getInstance()->gravar('SEI13 - Quantidade de Navegadores: ' . json_encode($lista), InfraLog::$INFORMACAO); | |
485 | + return $lista; | |
486 | + } | |
487 | + | |
488 | + public function obterQuantidadeRecurso() { | |
489 | + $query = "SELECT year(dth_acesso) as ano, month(dth_acesso) as mes, recurso, count(*) as quantidade FROM sei.infra_auditoria group by 1, 2, 3 order by 1, 2, 3"; | |
490 | + return BancoSEI::getInstance()->consultarSql($query); | |
491 | + } | |
492 | + | |
493 | + public function obterQuantidadeLogErro() { | |
494 | + $query = "select year(dth_log) ano, month(dth_log) mes, week(dth_log) semana, count(*) as quantidade from sei.infra_log where sta_tipo = 'E' group by 1, 2, 3"; | |
495 | + return BancoSEI::getInstance()->consultarSql($query); | |
496 | + } | |
514 | 497 | } |
515 | 498 | ?> | ... | ... |
rn/MdEstatisticasEnviarRN.php
1 | 1 | <? |
2 | -require_once dirname(__FILE__).'/../../../SEI.php'; | |
2 | +require_once dirname(__FILE__) . '/../../../SEI.php'; | |
3 | 3 | |
4 | +class MdEstatisticasEnviarRN extends InfraRN | |
5 | +{ | |
4 | 6 | |
5 | -class MdEstatisticasEnviarRN extends InfraRN { | |
7 | + public function __construct() { | |
8 | + parent::__construct(); | |
6 | 9 | |
7 | - public function __construct(){ | |
8 | - parent::__construct(); | |
10 | + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
11 | + $this->url = $objConfiguracaoSEI->getValor('MdEstatisticas', 'url', false, 'http://estatisticas.planejamento.gov.br'); | |
12 | + $this->orgaoSigla = $objConfiguracaoSEI->getValor('MdEstatisticas', 'sigla', false, ''); | |
13 | + } | |
9 | 14 | |
10 | - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); | |
11 | - $this->url = $objConfiguracaoSEI->getValor('MdEstatisticas','url', false, 'http://estatisticas.planejamento.gov.br'); | |
12 | - $this->orgaoSigla = $objConfiguracaoSEI->getValor('MdEstatisticas','sigla', false, ''); | |
13 | - } | |
15 | + protected function inicializarObjInfraIBanco() { | |
16 | + return BancoSEI::getInstance(); | |
17 | + } | |
14 | 18 | |
15 | - protected function inicializarObjInfraIBanco(){ | |
16 | - return BancoSEI::getInstance(); | |
17 | - } | |
19 | + public function enviarIndicadores($indicadores) { | |
20 | + return $this->doPost($this->url, $indicadores); | |
21 | + } | |
18 | 22 | |
19 | - public function enviarIndicadores($indicadores) { | |
20 | - return $this->doPost($this->url, $indicadores); | |
21 | - } | |
23 | + public function obterUltimoAcesso() { | |
24 | + $data = $this->doGet($this->url . '/ultimoacesso?sigla=' . $this->orgaoSigla, false); | |
25 | + return date($data); | |
26 | + } | |
22 | 27 | |
23 | - public function obterUltimoAcesso() { | |
24 | - $data = $this->doGet($this->url . '/ultimoacesso?sigla=' . $this->orgaoSigla, false); | |
25 | - return date($data); | |
26 | - } | |
28 | + public function enviarAcessos($acessos, $id) { | |
29 | + $url = $this->url . '/acessos'; | |
30 | + InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
31 | + $obj = array( | |
32 | + id => $id, | |
33 | + acessosUsuarios => $acessos | |
34 | + ); | |
35 | + InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
36 | + return $this->doPost($url, $obj, false); | |
37 | + } | |
27 | 38 | |
28 | - public function enviarAcessos($acessos, $id) { | |
29 | - $url = $this->url . '/acessos'; | |
30 | - InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
31 | - $obj = array( | |
32 | - id => $id, | |
33 | - acessosUsuarios => $acessos | |
34 | - ); | |
35 | - InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
36 | - return $this->doPost($url, $obj, false); | |
37 | - } | |
38 | - | |
39 | - public function enviarVelocidades($velocidades, $id) { | |
40 | - $url = $this->url . '/velocidades'; | |
41 | - InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
42 | - $obj = array( | |
43 | - id => $id, | |
44 | - velocidades => $velocidades | |
45 | - ); | |
46 | - InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
47 | - return $this->doPost($url, $obj, false); | |
48 | - } | |
49 | - | |
50 | - public function enviarSistemasUsuarios($sistemasOperacionaisUsuarios, $id) { | |
51 | - $url = $this->url . '/sistemasoperacionais'; | |
52 | - InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
53 | - $obj = array( | |
54 | - id => $id, | |
55 | - sistemasOperacionaisUsuarios => $sistemasOperacionaisUsuarios | |
56 | - ); | |
57 | - InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
58 | - return $this->doPost($url, $obj, false); | |
59 | - } | |
60 | - | |
61 | - public function enviarNavegadores($navegadores, $id) { | |
62 | - $url = $this->url . '/navegadores'; | |
63 | - InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
64 | - $obj = array( | |
65 | - id => $id, | |
66 | - navegadores => $navegadores | |
67 | - ); | |
68 | - InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
69 | - return $this->doPost($url, $obj, false); | |
70 | - } | |
39 | + public function enviarVelocidades($velocidades, $id) { | |
40 | + $url = $this->url . '/velocidades'; | |
41 | + InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
42 | + $obj = array( | |
43 | + id => $id, | |
44 | + velocidades => $velocidades | |
45 | + ); | |
46 | + InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
47 | + return $this->doPost($url, $obj, false); | |
48 | + } | |
71 | 49 | |
72 | - private function doPost($url, $json, $isjson=true) { | |
73 | - $data = json_encode($json); | |
74 | - $ch = curl_init(); | |
75 | - curl_setopt($ch, CURLOPT_URL, $url); | |
76 | - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
77 | - curl_setopt($ch, CURLOPT_POST, true); | |
78 | - curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); | |
79 | - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); | |
80 | - $output = curl_exec($ch); | |
81 | - curl_close($ch); | |
50 | + public function enviarSistemasUsuarios($sistemasOperacionaisUsuarios, $id) { | |
51 | + $url = $this->url . '/sistemasoperacionais'; | |
52 | + InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
53 | + $obj = array( | |
54 | + id => $id, | |
55 | + sistemasOperacionaisUsuarios => $sistemasOperacionaisUsuarios | |
56 | + ); | |
57 | + InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
58 | + return $this->doPost($url, $obj, false); | |
59 | + } | |
60 | + | |
61 | + public function enviarNavegadores($navegadores, $id) { | |
62 | + $url = $this->url . '/navegadores'; | |
63 | + InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
64 | + $obj = array( | |
65 | + id => $id, | |
66 | + navegadores => $navegadores | |
67 | + ); | |
68 | + InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
69 | + return $this->doPost($url, $obj, false); | |
70 | + } | |
82 | 71 | |
83 | - if ($isjson) { | |
84 | - return json_decode($output, true); | |
72 | + public function enviarLogsErro($logs, $id) { | |
73 | + $url = $this->url . '/logserro'; | |
74 | + InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); | |
75 | + $obj = array( | |
76 | + id => $id, | |
77 | + logsErro => $logs | |
78 | + ); | |
79 | + InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); | |
80 | + return $this->doPost($url, $obj, false); | |
85 | 81 | } |
86 | - return $output; | |
87 | - } | |
88 | 82 | |
89 | - private function doGet($url, $isjson=true) { | |
90 | - $ch = curl_init(); | |
91 | - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
92 | - curl_setopt($ch, CURLOPT_URL, $url); | |
93 | - $output = curl_exec($ch); | |
94 | - curl_close($ch); | |
83 | + private function doPost($url, $json, $isjson = true) { | |
84 | + $data = json_encode($json); | |
85 | + $ch = curl_init(); | |
86 | + curl_setopt($ch, CURLOPT_URL, $url); | |
87 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
88 | + curl_setopt($ch, CURLOPT_POST, true); | |
89 | + curl_setopt($ch, CURLOPT_HTTPHEADER, array( | |
90 | + 'Content-Type: application/json' | |
91 | + )); | |
92 | + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); | |
93 | + $output = curl_exec($ch); | |
94 | + curl_close($ch); | |
95 | 95 | |
96 | - if ($isjson) { | |
97 | - return json_decode($output, true); | |
96 | + if ($isjson) { | |
97 | + return json_decode($output, true); | |
98 | + } | |
99 | + return $output; | |
98 | 100 | } |
99 | - return $output; | |
100 | - } | |
101 | 101 | |
102 | + private function doGet($url, $isjson = true) { | |
103 | + $ch = curl_init(); | |
104 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
105 | + curl_setopt($ch, CURLOPT_URL, $url); | |
106 | + $output = curl_exec($ch); | |
107 | + curl_close($ch); | |
108 | + | |
109 | + if ($isjson) { | |
110 | + return json_decode($output, true); | |
111 | + } | |
112 | + return $output; | |
113 | + } | |
102 | 114 | } |
103 | 115 | ?> | ... | ... |