public function load(ObjectManager $manager) { $rede = $manager->getRepository('CacicCommonBundle:Rede')->findOneBy(array('teIpRede' => '0.0.0.0')); foreach ($this->modulos as $elemento) { // Crio os objetos e atributos para a classe $classe = new RedeVersaoModulo(null, null, null, null, null, $rede); $classe->setNmModulo($elemento['nmModulo']); $classe->setTeVersaoModulo($elemento['teVersaoModulo']); $classe->setDtAtualizacao(new \DateTime()); $classe->setCsTipoSo($elemento['csTipoSo']); $classe->setTeHash($elemento['teHash']); $classe->setTipo('cacic'); $classe->setTipoSo($this->getReference($elemento['tipoSo'])); $classe->setFilepath($elemento['filepath']); // Grava os dados $manager->persist($classe); } $manager->flush(); }
public function setUp() { // Carrega dados da classe de cima parent::setUp(); $this->em = $this->container->get('doctrine')->getManager(); $this->hash = file_get_contents($this->data_dir . "instala/hash.json"); $this->erro = file_get_contents($this->data_dir . "instala/erro.json"); $rede = new Rede(); $rede->setTeIpRede('10.209.8.0'); $rede->setTeMascaraRede('255.255.255.255'); $rede->setTeServCacic('http://localhost'); $rede->setTeServUpdates('http://localhost'); $rede->setTePathServUpdates('/msi'); $rede->setNuLimiteFtp(100); $rede->setCsPermitirDesativarSrcacic('S'); $rede->setDownloadMethod('http'); //$this->em->persist($rede); $elemento = array('nmModulo' => 'cacic-service.exe', 'teVersaoModulo' => '3.0a1', 'csTipoSo' => 'windows', 'teHash' => '79df3561f83ac86eb19e2996b17d5e31', 'tipo' => 'cacic', 'tipoSo' => 'windows', 'filepath' => 'cacic/current/windows/cacic-service.exe'); $tipo_so = $this->em->getRepository("CacicCommonBundle:TipoSo")->findOneBy(array('tipo' => 'windows')); $classe = new RedeVersaoModulo(null, null, null, null, null, $rede); $classe->setNmModulo($elemento['nmModulo']); $classe->setTeVersaoModulo($elemento['teVersaoModulo']); $classe->setDtAtualizacao(new \DateTime()); $classe->setCsTipoSo($elemento['csTipoSo']); $classe->setTeHash($elemento['teHash']); $classe->setTipo('cacic'); $classe->setTipoSo($tipo_so); $classe->setFilepath($elemento['filepath']); //$this->em->persist($classe); //$this->em->flush(); // Carrega parâmetros globais $this->rede = $rede; $this->modulo = $classe; $this->tipo_so = $tipo_so; // Encontra hash do último serviço $rede = $this->em->getRepository("CacicCommonBundle:Rede")->findOneBy(array('teIpRede' => '0.0.0.0')); $cacic_service = $this->em->getRepository("CacicCommonBundle:RedeVersaoModulo")->getModulo($rede->getIdRede(), 'cacic-service.exe', 'windows'); $this->hash_service = $cacic_service[0]['teHash']; }
public function updateSubredesNeo(Request $request, $rede, $modulos = null) { $logger = $this->get('logger'); $em = $this->getDoctrine()->getManager(); $pIntIdRede = $rede->getIdRede(); // Varre o diretório em busca dos módulos $rootDir = $this->container->get('kernel')->getRootDir(); $webDir = $rootDir . "/../web/"; $downloadsDir = $webDir . "downloads/"; $cacicDir = $downloadsDir . "cacic/"; $linuxDir = $cacicDir . "linux/"; $windowsDir = $cacicDir . "windows/"; $outrosDir = $downloadsDir . "outros/"; // Consertar CRUD no Symfony $redeVersaoModulo = $em->getRepository('CacicCommonBundle:RedeVersaoModulo')->findBy(array('idRede' => $pIntIdRede)); // Se não existir, instancia o objeto if (!empty($redeVersaoModulo)) { // Nesse caso, remove todos os módulos para a subrede foreach ($redeVersaoModulo as $redeRemove) { $em->remove($redeRemove); } $em->flush(); } // Carrega todos os metadados dos módulos fornecidos ou de todos os módulos $modulos = $this->modulosNeoArray($request, $modulos); //$logger->debug("6666666666666666666666666666666666666 ".print_r($modulos, true)); foreach ($modulos as $tipo => $modulo) { foreach ($modulo as $key => $value) { $logger->debug("Nome do módulo: " . $value['filename']); $redeVersaoModulo = new RedeVersaoModulo(null, null, null, null, null, $rede); // Carrega dados da rede //$arrDadosRede = array( 'rede' => $em->getRepository( 'CacicCommonBundle:Rede' )->listar() ); //Debug::dump($arrDadosRede['rede'][0][0]); //$arrDadosRede = $arrDadosRede['rede'][0]; $arrDadosRede = array('teServUpdates' => $rede->getTeServUpdates(), 'tePathServUpdates' => $rede->getTePathServUpdates(), 'nmUsuarioLoginServUpdatesGerente' => $rede->getNmUsuarioLoginServUpdatesGerente(), 'teSenhaLoginServUpdatesGerente' => $rede->getTeSenhaLoginServUpdatesGerente(), 'nuPortaServUpdates' => $rede->getNuPortaServUpdates()); if ($rede->getDownloadMethod() == 'ftp') { $strResult = $this->checkAndSend($value['name'], $downloadsDir . $value['filename'], $arrDadosRede['teServUpdates'], $arrDadosRede['tePathServUpdates'], $arrDadosRede['nmUsuarioLoginServUpdatesGerente'], $arrDadosRede['teSenhaLoginServUpdatesGerente'], $arrDadosRede['nuPortaServUpdates']); $arrResult = explode('_=_', $strResult); } else { $arrResult[1] = 'Ok!'; } if ($arrResult[1] == 'Ok!') { $tipo_so = $em->getRepository('CacicCommonBundle:TipoSo')->findOneBy(array('tipo' => $tipo)); // Adicione o restante dos atributos $redeVersaoModulo->setNmModulo($value['name']); $redeVersaoModulo->setTeVersaoModulo($value['versao']); $redeVersaoModulo->setDtAtualizacao(new \DateTime('NOW')); $redeVersaoModulo->setCsTipoSo($value['tipoSo']); $redeVersaoModulo->setTeHash($value['hash']); $redeVersaoModulo->setTipoSo($tipo_so); $redeVersaoModulo->setFilepath($value['filename']); $redeVersaoModulo->setTipo('cacic'); $redeVersaoModulo->setIdRede($rede); $rede->addModulo($redeVersaoModulo); $em->persist($redeVersaoModulo); $em->persist($rede); $em->flush(); } else { $logger->error("Erro no envio dos módulos!\n" . $arrResult[1]); return false; } } } return true; }