Esempio n. 1
0
 public function execute($oInput, $oOutput)
 {
     $oArquivoModel = new ArquivoModel();
     $aArquivos = $oArquivoModel->getAdicionados();
     $aArquivosInformados = $oInput->getArgument('arquivos');
     $aArquivosRemover = array();
     if (empty($aArquivos)) {
         $oOutput->writeln('<error>Nenhum arquivo para remover</error>');
         return 1;
     }
     foreach ($aArquivosInformados as $sArquivo) {
         if (empty($aArquivos[$sArquivo]) && empty($aArquivos[getcwd() . '/' . $sArquivo])) {
             $oOutput->writeln("<error>Arquivo não encontrado na lista: {$sArquivo}</error>");
             continue;
         }
         $aArquivosRemover[] = $sArquivo;
     }
     /**
      * Nenhum arquivo informado, pergunta se pode remover todos 
      *
      */
     if (empty($aArquivosInformados)) {
         $oDialog = $this->getHelperSet()->get('dialog');
         $sRemoverTodos = $oDialog->ask($oOutput, 'Nenhum arquivo inforamado, remover todos da lista? (s/N): ');
         if (strtoupper($sRemoverTodos) == 'S') {
             $aArquivosRemover = array_keys($aArquivos);
         }
     }
     if (!empty($aArquivosRemover)) {
         foreach ($aArquivosRemover as $sArquivoRemovido) {
             $sArquivoRemovido = realpath($sArquivoRemovido);
             $lRemovido = $oArquivoModel->removerArquivo($sArquivoRemovido);
             if (!$lRemovido) {
                 throw new \Exception('Não foi possivel remover arquivo da lista: ' . $sArquivoRemovido);
             }
             $sArquivoRemovido = $this->getApplication()->clearPath($sArquivoRemovido);
             $oOutput->writeln("<info>Arquivo removido da lista: {$sArquivoRemovido}</info>");
         }
     }
 }