Пример #1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $name = $input->getArgument('name');
     $text = "Olá {$name}";
     // Conexão e execução do arquivo
     $cacicHelper = new OldCacicHelper($this->getContainer()->get('kernel'));
     $rootDir = $cacicHelper->getRootDir();
     $demo = $rootDir . "/src/Cacic/CommonBundle/Resources/data/demo.sql";
     $container = $this->getContainer();
     // Carrega configurações do banco de dados
     $dbhost = $container->getParameter('database_host');
     $db = $container->getParameter('database_name');
     $port = $container->getParameter('database_port');
     $user = $container->getParameter('database_user');
     $pass = $container->getParameter('database_password');
     // A única forma que encontrei foi executar manualmente o psql
     $exec_string = "psql -f {$demo} -U {$user} -d {$db} ";
     if (!empty($dbhost)) {
         $exec_string .= "-h {$dbhost} ";
     }
     if (!empty($port)) {
         $exec_string .= "-p {$port} ";
     }
     if (!empty($pass)) {
         // Tem que passar a senha como variável
         $exec("PG_PASSWORD={$pass}");
     }
     // Manda executar o psql
     exec($exec_string);
     $force = $input->getOption('force');
     $output->writeln($text);
 }
Пример #2
0
 /**
  * --------------------------------------------------------------------------------------
  * Função usada para fazer updates de subredes...
  * Recebe como parâmetro o objeto da rede
  *--------------------------------------------------------------------------------------
  */
 public function updateSubredes($rede, $modulos = null)
 {
     $logger = $this->get('logger');
     $pIntIdRede = $rede->getIdRede();
     $cacic_helper = new Helper\OldCacicHelper($this->container->get('kernel'));
     $iniFile = $cacic_helper->iniFile();
     if (!file_exists($iniFile)) {
         $this->get('session')->getFlashBag()->add('error', 'O arquivo versions_and_hashes.ini não foi encontrado. Você fez o upload dos agentes 2.8?');
         $logger->error("Arquivo versions_and_hashes.ini não foi encontrado no update de subredes");
     }
     $itemArray = parse_ini_file($iniFile);
     $teste = parse_ini_file($iniFile, true);
     $intLoopSEL = 1;
     $intLoopVersionsIni = 0;
     $sessStrTripaItensEnviados = '';
     // Carrega todos os metadados dos módulos fornecidos ou de todos os módulos
     $modulos = $this->modulosArray($modulos);
     foreach ($teste["ItemsDefinitions"] as &$arrItemDefinitions) {
         $intLoopVersionsIni++;
         $arrItemDefinitions = explode(',', $itemArray['Item_' . $intLoopVersionsIni]);
         // Nome do módulo sendo carregado
         $pStrNmItem = Helper\OldCacicHelper::getOnlyFileName(trim($arrItemDefinitions[0]));
         $logger->debug("Nome do módulo: {$pStrNmItem}");
         if ($modulos[$pStrNmItem]) {
             $logger->debug("Carregando módulo {$pStrNmItem}");
             // Carrega dados da rede
             $em = $this->getDoctrine()->getManager();
             //$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());
             // Caso o servidor de updates ainda não tenha sido trabalhado...
             if (!Helper\OldCacicHelper::stripos2($sessStrTripaItensEnviados, $arrDadosRede['teServUpdates'] . '_' . $arrDadosRede['tePathServUpdates'] . '_' . $pStrNmItem . '_', false)) {
                 $sessStrTripaItensEnviados .= $arrDadosRede['teServUpdates'] . '_' . $arrDadosRede['tePathServUpdates'] . '_' . $pStrNmItem . '_';
                 $strResult = $this->checkAndSend($pStrNmItem, $cacic_helper->getRootDir() . $cacic_helper::CACIC_PATH_RELATIVO_DOWNLOADS . $pStrNmItem, $arrDadosRede['teServUpdates'], $arrDadosRede['tePathServUpdates'], $arrDadosRede['nmUsuarioLoginServUpdatesGerente'], $arrDadosRede['teSenhaLoginServUpdatesGerente'], $arrDadosRede['nuPortaServUpdates']);
             } else {
                 $strResult = 'Ja Enviado ao Servidor!_=_Ok!_=_Resended';
             }
             $arrResult = explode('_=_', $strResult);
             if ($arrResult[1] == 'Ok!') {
                 // Consertar CRUD no Symfony
                 $redeVersaoModulo = $em->getRepository('CacicCommonBundle:RedeVersaoModulo')->findBy(array('idRede' => $pIntIdRede, 'nmModulo' => $pStrNmItem));
                 // Se não existir, instancia o objeto
                 if (!$redeVersaoModulo) {
                     $redeVersaoModulo = new RedeVersaoModulo(null, null, null, null, null, $rede);
                 } else {
                     // Carrego o objeto encontrado
                     $redeVersaoModulo = $redeVersaoModulo[0];
                 }
                 // Adicione o restante dos atributos
                 $redeVersaoModulo->setNmModulo($pStrNmItem);
                 $redeVersaoModulo->setTeVersaoModulo($itemArray[$pStrNmItem . '_VER']);
                 $redeVersaoModulo->setDtAtualizacao(new \DateTime('NOW'));
                 $redeVersaoModulo->setCsTipoSo($pStrNmItem, '.exe', false ? 'MS-Windows' : 'GNU/LINUX');
                 $redeVersaoModulo->setTeHash($itemArray[$pStrNmItem . '_HASH']);
                 $em->persist($redeVersaoModulo);
                 $em->flush();
             } else {
                 $logger->error("Erro no envio do módulo via FTP \n" . $arrResult[1]);
             }
             //echo $_GET['pIntIdRede'] . '_=_' . $_GET['pStrNmItem'] . '_=_' . $strResult;
             #FIXME: Inserir hash do módulo pyCacyc. Atualmente dá erro mas não trava
         }
         $intLoopSEL++;
     }
     return;
 }
Пример #3
0
 public function iniFile()
 {
     return OldCacicHelper::getRootDir() . OldCacicHelper::CACIC_PATH_RELATIVO_DOWNLOADS . 'versions_and_hashes.ini';
 }