/** * Executa comando * * @param Object $oInput * @param Object $oOutput * @access public * @return void */ public function execute($oInput, $oOutput) { $oParametros = new \StdClass(); $oParametros->aArquivos = $oInput->getArgument('arquivos'); $oParametros->iTag = ltrim(strtoupper($oInput->getOption('tag')), 'T'); $oParametros->aMensagens = $oInput->getOption('message'); $oParametros->sData = $oInput->getOption('date'); $oArquivoModel = new ArquivoModel(); $aArquivosCommitados = $oArquivoModel->getCommitados($oParametros); if (empty($aArquivosCommitados)) { throw new \Exception("Nenhum arquivo encontrado."); } $oOutput->writeln(""); $oBuscaOutputFormatter = new OutputFormatterStyle('red', null, array()); $oOutput->getFormatter()->setStyle('busca', $oBuscaOutputFormatter); foreach ($aArquivosCommitados as $oDadosCommit) { $sTitulo = "- <comment>" . date('d/m/Y', strtotime($oDadosCommit->date)) . "</comment> as " . date('H:s:i', strtotime($oDadosCommit->date)); $sTitulo .= " " . count($oDadosCommit->aArquivos) . " arquivo(s) commitado(s)"; $oOutput->writeln($sTitulo); if (!empty($oDadosCommit->title)) { $oOutput->writeln("\n " . $oDadosCommit->title); } $oTabela = new \Table(); $oTabela->setHeaders(array('1', '1', '1', '1')); foreach ($oDadosCommit->aArquivos as $oArquivo) { $sArquivo = $this->getApplication()->clearPath($oArquivo->name); $sTag = $oArquivo->tag; $sMensagem = $oArquivo->message; foreach ($oParametros->aArquivos as $sParametroArquivo) { $sArquivo = $this->colorirBusca($sArquivo, $sParametroArquivo, 'busca'); } if (!empty($oParametros->iTag)) { $sTag = $this->colorirBusca($oArquivo->tag, $oParametros->iTag, 'busca'); } if (!empty($oParametros->aMensagens)) { foreach ($oParametros->aMensagens as $sMensagemBuscar) { $sMensagem = $this->colorirBusca($sMensagem, $sMensagemBuscar, 'busca'); } } $oTabela->addRow(array($oArquivo->type, " {$sArquivo}", " {$sTag}", " {$sMensagem}")); } $oOutput->writeln(" " . str_replace("\n", "\n ", $oTabela->render(true))); } }