本文整理汇总了PHP中Core_Configuration::getSgdoceGrauAcessoSigiloso方法的典型用法代码示例。如果您正苦于以下问题:PHP Core_Configuration::getSgdoceGrauAcessoSigiloso方法的具体用法?PHP Core_Configuration::getSgdoceGrauAcessoSigiloso怎么用?PHP Core_Configuration::getSgdoceGrauAcessoSigiloso使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Core_Configuration
的用法示例。
在下文中一共展示了Core_Configuration::getSgdoceGrauAcessoSigiloso方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _migraDocumento
/**
*
* @param ArtefatoEntity $entArtefato
* @return boolean
* @throws \Exception
*/
private function _migraDocumento(ArtefatoEntity $entArtefato)
{
//fecha a conexão com banco
$this->_closeConnection();
// tb_documentos_imagem.flg_publico = [0=>confidencial, 1=publico, 2=>excluido]
// tb_documentos_imagem.img_type = [7=>TIF, 8=>PNG, 9=>PDF]
// todos o PNG esta excluido (2)
$sqArtefato = $entArtefato->getSqArtefato();
$this->_nuDigital = $entArtefato->getNuDigital()->getNuEtiqueta();
$this->_txDigital = str_pad($this->_nuDigital, 7, '0', STR_PAD_LEFT);
$arrImagem = $this->_getRepository('app:VwImagemSgdocFisico')->findBy(array('sqArtefato' => $sqArtefato), array('dtInclusao' => 'ASC', 'nuOrdem' => 'ASC'));
if (!$arrImagem) {
self::_debug('Sem imagem para processar');
throw new \Exception("Nenhuma imagem encontrada para a digital {$this->_txDigital}", self::CODE_IMG_NOT_FOUND);
}
$this->_setImagePathIn($entArtefato)->_setImagePathOut();
$this->_arrPdf = array();
$arrTif = array();
$sigiloso = false;
$arrFileNotFound = array();
self::_debug('Iniciando conversão das imagems caso necessário');
foreach ($arrImagem as $imagem) {
$typeFile = $imagem->getInTipoArquivo();
$filename = $imagem->getTxNomeArquivo() . $this->_extension[$typeFile];
$fullFilename = $this->_imagePathOut . $filename;
$stPublico = $imagem->getStPublico();
$this->_pageCount += $imagem->getInQtdePagina();
//verifica se alguma imagem é confidencial para setar o grau acesso do artefato
if ($stPublico === self::ACESSO_CONFIDENCIAL && false === $sigiloso) {
$sigiloso = true;
}
//se o arquivo da imagem não existir no file system registra o nome do arquivo
if (!file_exists($fullFilename)) {
$arrFileNotFound[] = $filename;
continue;
}
//adicion tif na stack de conversão
if ($typeFile == self::ARQUIVO_TIF) {
$arrTif[] = $fullFilename;
if (!filesize($fullFilename)) {
self::_debug("Digital {$this->_txDigital} com imagem corrompida");
throw new \Exception("A digital {$this->_txDigital} possui uma ou mais imagens corrompidas", self::CODE_IMG_CORRUPTED);
}
}
if ($typeFile == self::ARQUIVO_PDF) {
//se for pdf e possui tif na stack
//processa os tifs para transformar em pdf
//antes de adicionar a proxima imagem pdf na stack
if ($arrTif) {
$this->_convertTifToPdf($arrTif, $this->_arrPdf);
//limpa a fila de tif após a conversão
$arrTif = array();
}
$this->_arrPdf[] = $fullFilename;
}
}
if ($arrFileNotFound) {
self::_debug("O(s) arquivo(s) " . implode(', ', $arrFileNotFound) . " não foi(ram) localizado(s) no diretório de origem ({$this->_imagePathOut}) para digital {$this->_txDigital}");
//para o processo do artefato da vez
$this->_unlinkTmpFile();
throw new \Exception("O(s) arquivo(s) " . implode(', ', $arrFileNotFound) . " não foi(ram) localizado(s) no diretório de origem ({$this->_imagePathOut}) para digital {$this->_txDigital}");
}
//por fim se sobrou tif na stack processa novamente
if ($arrTif) {
$this->_convertTifToPdf($arrTif);
//limpa a fila de tif
$arrTif = array();
}
//setar grau de acesso para o artefato
$sqGrauAcesso = \Core_Configuration::getSgdoceGrauAcessoPublico();
if ($sigiloso) {
$sqGrauAcesso = \Core_Configuration::getSgdoceGrauAcessoSigiloso();
}
self::_debug('Conversões finalizadas');
$this->_processMergePdf($entArtefato)->_grauAcesso($entArtefato, $sqGrauAcesso)->_unlinkTmpFile();
}
示例2: forbiddenAccess
/**
* @param integer $sqArtefato
* @return boolean
*/
public function forbiddenAccess($sqArtefato, $sqPessoa)
{
$artefatoImagemEntity = $this->_getArtefatoImageEntity($sqArtefato);
$artefatoEntity = $artefatoImagemEntity->getSqArtefato();
if ($artefatoEntity instanceof ArtefatoEntity) {
$grauAcessoArtefatoEntity = $artefatoEntity->getSqGrauAcessoArtefato();
if ($grauAcessoArtefatoEntity instanceof GrauAcessoArtefatoEntity) {
$grauAcessoEntity = $grauAcessoArtefatoEntity->getSqGrauAcesso();
if ($grauAcessoEntity instanceof GrauAcessoEntity) {
$forbiddenList = array(\Core_Configuration::getSgdoceGrauAcessoSigiloso());
//se o grau for controlado verifica se o usuario pode ver o artefato
if (in_array($grauAcessoEntity->getSqGrauAcesso(), $forbiddenList)) {
//se usuario pode ver inverte o boleano para manter a semantica do retorno
//do deste metodo (forbiddenAccess)
return !$this->_canViewSigiloso($sqArtefato, $sqPessoa);
}
return false;
}
}
}
return false;
}
示例3: _checkArtefatoSigiloso
/**
* Verifica se um artefato é sigiloso
*
* @param \Core_Dto_Search $dto
* @return \Artefato\Service\TramiteArtefato
* @throws \Core_Exception_ServiceLayer
*/
private function _checkArtefatoSigiloso(\Core_Dto_Search $dto)
{
$entityGAA = $this->getServiceLocator()->getService('GrauAcessoArtefato')->getGrauAcessoArtefato($dto);
$entityTipoArtefato = $entityGAA->getSqArtefato()->getSqTipoArtefatoAssunto()->getSqTipoArtefato();
$sqTipoArtefato = $entityTipoArtefato->getSqTipoArtefato();
$artefatoError = null;
if ($entityGAA->getSqGrauAcesso()->getSqGrauAcesso() == \Core_Configuration::getSgdoceGrauAcessoSigiloso()) {
if ($sqTipoArtefato == \Core_Configuration::getSgdoceTipoArtefatoProcesso()) {
$artefatoError = $this->_formatProcessNumber($entityGAA->getSqArtefato());
} else {
$artefatoError = $entityGAA->getSqArtefato()->getNuDigital()->getNuEtiqueta();
}
$msg = "O %s <b>'%s'</b> é sigiloso e não pode ser tramitado externamente.";
throw new \Core_Exception_ServiceLayer(sprintf($msg, $entityTipoArtefato->getNoTipoArtefato(), $artefatoError));
}
return $this;
}