本文整理汇总了PHP中Shell::columns方法的典型用法代码示例。如果您正苦于以下问题:PHP Shell::columns方法的具体用法?PHP Shell::columns怎么用?PHP Shell::columns使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Shell
的用法示例。
在下文中一共展示了Shell::columns方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* Executa comando
*
* @param Object $oInput
* @param Object $oOutput
* @access public
* @return void
*/
public function execute($oInput, $oOutput)
{
$oOutput->write("baixando atualizações...\r");
$oComando = $this->getApplication()->execute('cvs update -dRP');
$aRetornoComandoUpdate = $oComando->output;
$iStatusComandoUpdate = $oComando->code;
/**
* Caso CVS encontre conflito, retorna erro 1
*/
if ($iStatusComandoUpdate > 1) {
$oOutput->writeln('<error>Erro nº ' . $iStatusComandoUpdate . ' ao execurar cvs update -dR:' . "\n" . $this->getApplication()->getLastError() . '</error>');
return $iStatusComandoUpdate;
}
$oOutput->writeln(str_repeat(' ', \Shell::columns()) . "\r" . "Atualizações baixados");
$sComandoRoot = '';
/**
* Senha do root
*/
$sSenhaRoot = $this->getApplication()->getConfig('senhaRoot');
/**
* Executa comando como root
* - caso for existir senha no arquivo de configuracoes
*/
if (!empty($sSenhaRoot)) {
$sComandoRoot = "echo '{$sSenhaRoot}' | sudo -S ";
}
$oComando = $this->getApplication()->execute($sComandoRoot . 'chmod 777 -R ' . getcwd());
$aRetornoComandoPermissoes = $oComando->output;
$iStatusComandoPermissoes = $oComando->code;
if ($iStatusComandoPermissoes > 0) {
throw new Exception("Erro ao atualizar permissões dos arquivos, configura a senha do root: cvsgit config -e");
}
}
示例2: importarHistorico
/**
* Importa historicos do CVS para usar em consultas locais
*
* @access public
* @return boolean
*/
public function importarHistorico()
{
$oModel = $this->oModel;
$oDataBase = $this->oDataBase;
$oDataBase->begin();
$aLogRepositorio = $this->getLogRepository();
$iTotalArquivos = count($aLogRepositorio);
$iArquivosImportados = 0;
foreach ($aLogRepositorio as $sArquivo => $oDadosArquivo) {
try {
$iArquivosImportados++;
$sArquivoBusca = getcwd() . '/' . $sArquivo;
$sArquivoBusca = strtr($sArquivo, array(' ' => '\\ ', '(' => '\\(', ')' => '\\)', "'" => "\\'"));
$this->oOutput->write("\r" . str_repeat(' ', \Shell::columns()) . "\r[{$iArquivosImportados}/{$iTotalArquivos}] Processando arquivo: {$sArquivoBusca}");
$aDadosHistoricoArquivoSalvo = $oDataBase->selectAll("\n SELECT id \n FROM history_file \n WHERE project_id = " . $oModel->getProjeto()->id . "\n AND name = '{$sArquivoBusca}' \n ");
if (!empty($aDadosHistoricoArquivoSalvo)) {
foreach ($aDadosHistoricoArquivoSalvo as $oDadosHistoricoArquivoSalvo) {
$oDataBase->delete('history_file', 'id = ' . $oDadosHistoricoArquivoSalvo->id);
$oDataBase->delete('history_file_tag', 'history_file_id = ' . $oDadosHistoricoArquivoSalvo->id);
}
}
foreach ($oDadosArquivo->aLog as $iVersao => $oDadosVersao) {
$data = str_replace('/', '-', $oDadosVersao->sData . ' ' . $oDadosVersao->sHora);
$data = strtotime($data);
$sData = date('Y-m-d H:s:i', $data);
$sMensagem = str_replace("'", '"', $oDadosVersao->sMensagem);
$iHistorico = $oDataBase->insert('history_file', array('project_id' => $oModel->getProjeto()->id, 'name' => $sArquivoBusca, 'revision' => $oDadosVersao->iVersao, 'message' => $sMensagem, 'author' => $oDadosVersao->sAutor, 'date' => $sData));
foreach ($oDadosVersao->aTags as $sTag) {
$oDataBase->insert('history_file_tag', array('history_file_id' => $iHistorico, 'tag' => $sTag));
}
}
} catch (\PDOException $oErro) {
$this->oOutput->write("\r" . str_repeat(' ', \Shell::columns()) . "\r\n<error> - Arquivo não processado: {$sArquivo}\n {$oErro->getMessage()}</error>\n\n");
}
}
// endforeach - dados do log
$oDataBase->commit();
$this->oOutput->write("\r" . str_repeat(' ', \Shell::columns()) . "\r<info>Histórico de {$iArquivosImportados} arquivo(s) importado.</info>\n");
return true;
}
示例3: execute
//.........这里部分代码省略.........
foreach ($aRetornoComandoTags as $iIndiceTags => $sLinhaRetornoTag) {
if (strpos($sLinhaRetornoTag, 'head:') !== false) {
$iVersaoAtual = trim(str_replace('head:', '', $sLinhaRetornoTag));
continue;
}
if (strpos($sLinhaRetornoTag, 'symbolic names:') !== false) {
$lInicioListaTags = true;
continue;
}
if ($lInicioListaTags) {
if (strpos($sLinhaRetornoTag, 'keyword substitution') !== false) {
break;
}
if (strpos($sLinhaRetornoTag, 'total revisions') !== false) {
break;
}
$aLinhaTag = explode(':', $sLinhaRetornoTag);
$iVersao = trim($aLinhaTag[1]);
$sTag = trim($aLinhaTag[0]);
$aTagsPorVersao[$iVersao][] = $sTag;
}
}
/**
* Lista informacoes do commit, sem as tags
*/
$oComando = $this->getApplication()->execute('cvs log -N ' . escapeshellarg($sArquivo));
$aRetornoComandoInformacoes = $oComando->output;
$iStatusComandoInformacoes = $oComando->code;
if ($iStatusComandoInformacoes > 0) {
throw new Exception('Erro ao execurar cvs log -N ' . escapeshellarg($sArquivo) . PHP_EOL . $this->getApplication()->getLastError(), $iStatusComandoInformacoes);
}
$aLog = array();
$iLinhaInformacaoCommit = 0;
$oTabela = new Table();
$oTabela->setHeaders(array('Autor', 'Data', 'Versao', 'Tag', 'Mensagem'));
$aLinhas = array();
$iVersao = null;
$sAutor = null;
$sData = null;
$sMensagem = null;
foreach ($aRetornoComandoInformacoes as $iIndice => $sLinhaRetorno) {
if (strpos($sLinhaRetorno, '------') !== false) {
continue;
}
if ($iLinhaInformacaoCommit == 0 && $iIndice > 11) {
$sTagsPorVersao = null;
if (!empty($aTagsPorVersao[$iVersao])) {
$sTagsPorVersao = implode(', ', $aTagsPorVersao[$iVersao]);
}
$oTabela->addRow(array($sAutor, $sData, $iVersao, $sTagsPorVersao, Encode::toUTF8($sMensagem)));
$iVersao = '';
$sAutor = '';
$sData = '';
$sMensagem = '';
}
if ($iLinhaInformacaoCommit > 0) {
$iLinhaInformacaoCommit--;
}
/**
* Versao
*/
if (strpos($sLinhaRetorno, 'revision') !== false && strpos($sLinhaRetorno, 'revision') === 0) {
$iLinhaInformacaoCommit = 2;
}
/**
* Versao
*/
if ($iLinhaInformacaoCommit == 2) {
$iVersao = trim(str_replace('revision', '', $sLinhaRetorno));
continue;
}
/**
* Data e autor
*/
if ($iLinhaInformacaoCommit == 1) {
$sLinhaRetorno = strtr($sLinhaRetorno, array('date:' => '', 'author:' => ''));
$aLinhaInformacoesCommit = explode(';', $sLinhaRetorno);
$sLinhaData = array_shift($aLinhaInformacoesCommit);
$aLinhaData = explode(' ', $sLinhaData);
$sData .= implode('/', array_reverse(explode('-', $aLinhaData[1])));
$sAutor = trim(array_shift($aLinhaInformacoesCommit));
continue;
}
/**
* Mensagem
*/
if ($iLinhaInformacaoCommit == 0) {
$sMensagem = $sLinhaRetorno;
}
}
$sOutput = Encode::toUTF8($oTabela->render());
$iColunas = array_sum($oTabela->getWidths());
$iColunas += count($oTabela->getWidths()) * 2;
$iColunas += count($oTabela->getWidths()) - 1;
if ($iColunas > \Shell::columns()) {
$this->getApplication()->less($sOutput);
return;
}
$oOutput->writeln($sOutput);
}