Commit 8eee40438e7c50fed797da67d70ecb1b02959acd

Authored by Bruno Noronha
1 parent d1c2dc1b
Exists in master and in 1 other branch 3.1

módulo getupdate

src/Cacic/WSBundle/Controller/DefaultController.php
... ... @@ -18,6 +18,8 @@ use Cacic\CommonBundle\Entity\RedeVersaoModulo;
18 18 use Cacic\WSBundle\Helper\OldCacicHelper;
19 19 use Cacic\WSBundle\Helper\TagValueHelper;
20 20 use Cacic\CommonBundle\Entity\LogAcesso;
  21 +use Symfony\Component\HttpFoundation\RedirectResponse;
  22 +
21 23  
22 24 /**
23 25 *
... ... @@ -94,7 +96,7 @@ class DefaultController extends Controller
94 96 $ip_computador = $request->getClientIp();
95 97 }
96 98 #$logger->debug("333333333333333333333333333333333333: $ip_computador");
97   - $logger->debug("Teste de Conexão! Ip do computador: $ip_computador Máscara da rede: $netmask");
  99 + $logger->debug("Teste de Conexão GET-TEST! Ip do computador: $ip_computador Máscara da rede: $netmask");
98 100  
99 101 // Caso não tenha encontrado, tenta pegar a variável da requisição
100 102 if (empty($te_node_address)) {
... ... @@ -200,7 +202,14 @@ class DefaultController extends Controller
200 202 $netmask = $request->get('netmask');
201 203 }
202 204  
203   - $logger->debug("Teste de Conexão! Ip do computador: $ip_computador Máscara da rede: $netmask MAC Address: $te_node_address");
  205 + /**
  206 + * Se a máscara de subrede ou o mac address estiver vazio, força o redirecionamento para provável atualização
  207 + */
  208 + if (empty($netmask) || (empty($te_node_address))) {
  209 +
  210 + return $this->forward('CacicWSBundle:Default:update', $this->getRequest()->request->all());
  211 +
  212 + }
204 213  
205 214 $so = $this->getDoctrine()->getRepository('CacicCommonBundle:So')->findOneBy( array('teSo'=>$request->get( 'te_so' )));
206 215 $rede = $this->getDoctrine()->getRepository('CacicCommonBundle:Rede')->getDadosRedePreColeta( $ip_computador, $netmask );
... ... @@ -208,6 +217,7 @@ class DefaultController extends Controller
208 217 //$local = $this->getDoctrine()->getRepository('CacicCommonBundle:Local')->findOneBy(array( 'idLocal' => $rede->getIdLocal() ));
209 218 $local = $rede->getIdLocal();
210 219 $data = new \DateTime('NOW');
  220 + $logger->debug("Teste de Conexão GET-CONFIG! Ip do computador: $ip_computador Máscara da rede: $netmask MAC Address: $te_node_address");
211 221  
212 222 //Debugging do Agente
213 223 $debugging = ( TagValueHelper::getValueFromTags('DateToDebugging',$computador->getTeDebugging() ) == date("Ymd") ? $computador->getTeDebugging() :
... ... @@ -231,7 +241,6 @@ class DefaultController extends Controller
231 241 $rede_grupos_ftp->setNuHoraFim($data);
232 242 }
233 243  
234   -
235 244 //Se instalação realizada com sucesso.
236 245 if (trim($request->get('in_instalacao')) == 'OK' )
237 246 {
... ... @@ -250,7 +259,6 @@ class DefaultController extends Controller
250 259 $rede_grupos_ftp = new RedeGrupoFtp();
251 260 }
252 261  
253   -
254 262 // Contagem por subrede
255 263 $rede_grupos_ftp_repository = $this->getDoctrine()->getRepository('CacicCommonBundle:RedeGrupoFtp')->findBy(array('idRede' => $rede->getIdRede()));
256 264 $soma_redes_grupo_ftp = count($rede_grupos_ftp_repository);
... ... @@ -552,4 +560,63 @@ class DefaultController extends Controller
552 560 // 'modPatrimonio'=> $modPatrimonio,
553 561 ), $response);
554 562 }
  563 +
  564 + /**
  565 + * Método responsável por verificar e e enviar os Hashes ao Agente CACIC
  566 + * @param Symfony\Component\HttpFoundation\Request $request
  567 + */
  568 + public function updateAction( Request $request )
  569 + {
  570 + $logger = $this->get('logger');
  571 + OldCacicHelper::autenticaAgente( $request ) ;
  572 + $strNetworkAdapterConfiguration = OldCacicHelper::deCrypt( $request, $request->get('NetworkAdapterConfiguration') );
  573 +
  574 + $te_node_address = TagValueHelper::getValueFromTags( 'MACAddress', $strNetworkAdapterConfiguration );
  575 + $netmask = TagValueHelper::getValueFromTags( 'IPSubnet', $strNetworkAdapterConfiguration );
  576 + $ip_computador = $request->get('te_ip_computador');
  577 + if ( empty($ip_computador) ){
  578 + $ip_computador = TagValueHelper::getValueFromTags( 'IPAddress', $strNetworkAdapterConfiguration );
  579 + }
  580 + if (empty($ip_computador)) {
  581 + $ip_computador = $request->getClientIp();
  582 + }
  583 +
  584 + /**
  585 + * Caso não tenha encontrado, tenta pegar a variável da requisição
  586 + */
  587 + if (empty($te_node_address)) {
  588 + $te_node_address = $request->get('te_node_address');
  589 + }
  590 +
  591 + if (empty($netmask)) {
  592 + $netmask = $request->get('netmask');
  593 + }
  594 +
  595 + /**
  596 + * Executa atualização forçada se algum dos parâmetros obrigatórios estiver vazio
  597 + */
  598 + $rede = $this->getDoctrine()->getRepository('CacicCommonBundle:Rede')->getDadosRedePreColeta( $ip_computador, $netmask );
  599 + $local = $rede->getIdLocal();
  600 + $configs = $this->getDoctrine()->getRepository('CacicCommonBundle:ConfiguracaoLocal')->listarPorLocal($local->getIdLocal());
  601 + $rede = $this->getDoctrine()->getRepository('CacicCommonBundle:Rede')->getDadosRedePreColeta( $ip_computador, $netmask );
  602 + $redes_versoes_modulos = $this->getDoctrine()->getRepository('CacicCommonBundle:RedeVersaoModulo')->findBy( array( 'idRede'=>$rede->getIdRede() ) );
  603 + $nm_user_login_updates = OldCacicHelper::enCrypt($request, $rede->getNmUsuarioLoginServUpdates());
  604 + $senha_serv_updates = OldCacicHelper::enCrypt($request, $rede->getTeSenhaLoginServUpdates());
  605 + $logger->debug("Teste de Conexão GET-UPDATE! Ip do computador: $ip_computador Máscara da rede: $netmask MAC Address: $te_node_address");
  606 +
  607 + $response = new Response();
  608 + $response->headers->set('Content-Type', 'xml');
  609 + return $this->render('CacicWSBundle:Default:update.xml.twig', array(
  610 + 'configs'=>$configs,
  611 + 'rede'=> $rede,
  612 + 'redes_versoes_modulos'=>$redes_versoes_modulos,
  613 + 'main_program'=>OldCacicHelper::CACIC_MAIN_PROGRAM_NAME.'.exe',
  614 + 'folder_name'=>OldCacicHelper::CACIC_LOCAL_FOLDER_NAME,
  615 + 'nm_user_login_updates'=>$nm_user_login_updates,
  616 + 'senha_serv_updates'=>$senha_serv_updates,
  617 + 'cs_compress'=>$request->get('cs_compress'),
  618 + 'cs_cipher'=>$request->get('cs_cipher'),
  619 + 'ws_folder'=>OldCacicHelper::CACIC_WEB_SERVICES_FOLDER_NAME,
  620 + ), $response);
  621 + }
555 622 }
... ...