From ec37e734b3e21f09688b2e3065eba561581d5107 Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Mon, 5 Jun 2017 10:39:36 -0300 Subject: [PATCH] [FEAT] Subindo implementações e ajustes de serviços --- composer.lock | 13 +++++++------ controlador_ws.php | 16 ++++++++++++++++ dto/MdWsSeiAtividadeDTO.php | 22 ++++++++++++++++++++++ dto/MdWsSeiPesquisarPendenciaDTO.php | 22 ++++++++++++++++++++++ rn/MdWsSeiAtividadeRN.php | 316 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- rn/MdWsSeiProcedimentoRN.php | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- teste.php | 12 ++++++++++-- vendor/composer/installed.json | 15 ++++++++------- vendor/slim/slim/LICENSE.md | 2 +- vendor/slim/slim/Slim/App.php | 48 +++++++++++++++++++++++++++++++++++++++++++----- vendor/slim/slim/Slim/CallableResolver.php | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------- vendor/slim/slim/Slim/CallableResolverAwareTrait.php | 4 ++-- vendor/slim/slim/Slim/Collection.php | 2 +- vendor/slim/slim/Slim/Container.php | 2 +- vendor/slim/slim/Slim/DefaultServicesProvider.php | 2 +- vendor/slim/slim/Slim/DeferredCallable.php | 4 ++-- vendor/slim/slim/Slim/Exception/ContainerException.php | 6 +++--- vendor/slim/slim/Slim/Exception/ContainerValueNotFoundException.php | 6 +++--- vendor/slim/slim/Slim/Exception/MethodNotAllowedException.php | 6 +++--- vendor/slim/slim/Slim/Exception/NotFoundException.php | 6 +++--- vendor/slim/slim/Slim/Exception/SlimException.php | 2 +- vendor/slim/slim/Slim/Handlers/AbstractError.php | 2 +- vendor/slim/slim/Slim/Handlers/AbstractHandler.php | 2 +- vendor/slim/slim/Slim/Handlers/Error.php | 22 ++++++++++++++++++++-- vendor/slim/slim/Slim/Handlers/NotAllowed.php | 2 +- vendor/slim/slim/Slim/Handlers/NotFound.php | 2 +- vendor/slim/slim/Slim/Handlers/PhpError.php | 2 +- vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php | 2 +- vendor/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php | 2 +- vendor/slim/slim/Slim/Http/Body.php | 2 +- vendor/slim/slim/Slim/Http/Cookies.php | 2 +- vendor/slim/slim/Slim/Http/Environment.php | 2 +- vendor/slim/slim/Slim/Http/Headers.php | 2 +- vendor/slim/slim/Slim/Http/Message.php | 2 +- vendor/slim/slim/Slim/Http/Request.php | 68 +++++++++++++++++++++++++++++++++++++++++++++++--------------------- vendor/slim/slim/Slim/Http/RequestBody.php | 2 +- vendor/slim/slim/Slim/Http/Response.php | 23 +++++++++++++++-------- vendor/slim/slim/Slim/Http/Stream.php | 2 +- vendor/slim/slim/Slim/Http/UploadedFile.php | 2 +- vendor/slim/slim/Slim/Http/Uri.php | 2 +- vendor/slim/slim/Slim/Interfaces/CallableResolverInterface.php | 2 +- vendor/slim/slim/Slim/Interfaces/CollectionInterface.php | 2 +- vendor/slim/slim/Slim/Interfaces/Http/CookiesInterface.php | 2 +- vendor/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php | 2 +- vendor/slim/slim/Slim/Interfaces/Http/HeadersInterface.php | 2 +- vendor/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php | 2 +- vendor/slim/slim/Slim/Interfaces/RouteGroupInterface.php | 2 +- vendor/slim/slim/Slim/Interfaces/RouteInterface.php | 14 +++++++------- vendor/slim/slim/Slim/Interfaces/RouterInterface.php | 6 +++++- vendor/slim/slim/Slim/MiddlewareAwareTrait.php | 22 ++++++++++++++-------- vendor/slim/slim/Slim/Routable.php | 6 +++--- vendor/slim/slim/Slim/Route.php | 4 ++-- vendor/slim/slim/Slim/RouteGroup.php | 2 +- vendor/slim/slim/Slim/Router.php | 6 +++--- vendor/slim/slim/composer.json | 3 ++- 55 files changed, 883 insertions(+), 189 deletions(-) create mode 100644 dto/MdWsSeiAtividadeDTO.php create mode 100644 dto/MdWsSeiPesquisarPendenciaDTO.php diff --git a/composer.lock b/composer.lock index de412d5..cc0dfa6 100644 --- a/composer.lock +++ b/composer.lock @@ -227,23 +227,24 @@ }, { "name": "slim/slim", - "version": "3.7.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/slimphp/Slim.git", - "reference": "4254e40d81559e35cdf856bcbaca5f3af468b7ef" + "reference": "5385302707530b2bccee1769613ad769859b826d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slimphp/Slim/zipball/4254e40d81559e35cdf856bcbaca5f3af468b7ef", - "reference": "4254e40d81559e35cdf856bcbaca5f3af468b7ef", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/5385302707530b2bccee1769613ad769859b826d", + "reference": "5385302707530b2bccee1769613ad769859b826d", "shasum": "" }, "require": { - "container-interop/container-interop": "^1.1", + "container-interop/container-interop": "^1.2", "nikic/fast-route": "^1.0", "php": ">=5.5.0", "pimple/pimple": "^3.0", + "psr/container": "^1.0", "psr/http-message": "^1.0" }, "provide": { @@ -293,7 +294,7 @@ "micro", "router" ], - "time": "2016-12-20T20:30:47+00:00" + "time": "2017-03-19T17:55:20+00:00" } ], "packages-dev": [], diff --git a/controlador_ws.php b/controlador_ws.php index 87ef3cd..24a00f7 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -457,6 +457,22 @@ $app->group('/api/v1',function(){ $rn = new MdWsSeiProcedimentoRN(); return $response->withJSON($rn->atribuirProcesso($api)); }); + $this->get('/verifica/acesso/{protocolo}', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new ProtocoloDTO(); + $dto->setDblIdProtocolo($request->getAttribute('route')->getArgument('protocolo')); + return $response->withJSON($rn->verificaAcesso($dto)); + }); + $this->post('/identificacao/acesso', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $usuarioDTO = new UsuarioDTO(); + $usuarioDTO->setStrSenha($request->getParam('senha')); + $protocoloDTO = new ProtocoloDTO(); + $protocoloDTO->setDblIdProtocolo($request->getParam('protocolo')); + $rn = new MdWsSeiProcedimentoRN(); + return $response->withJSON($rn->identificacaoAcesso($usuarioDTO, $protocoloDTO)); + }); })->add( new TokenValidationMiddleware()); diff --git a/dto/MdWsSeiAtividadeDTO.php b/dto/MdWsSeiAtividadeDTO.php new file mode 100644 index 0000000..aa1b54e --- /dev/null +++ b/dto/MdWsSeiAtividadeDTO.php @@ -0,0 +1,22 @@ +adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'ProtocoloFormatadoPesquisaProtocolo', + 'protocolo_formatado_pesquisa', + 'protocolo'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, + 'IdGrupoAcompanhamentoProcedimento', + 'id_grupo_acompanhamento', + 'acompanhamento'); + + + $this->configurarFK('IdProtocolo', 'acompanhamento', 'id_protocolo'); + } + +} diff --git a/dto/MdWsSeiPesquisarPendenciaDTO.php b/dto/MdWsSeiPesquisarPendenciaDTO.php new file mode 100644 index 0000000..20bf2a3 --- /dev/null +++ b/dto/MdWsSeiPesquisarPendenciaDTO.php @@ -0,0 +1,22 @@ +adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, + 'ProtocoloFormatadoPesquisaProtocolo', + 'protocolo_formatado_pesquisa', + 'protocolo'); + + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, + 'IdGrupoAcompanhamentoProcedimento', + 'id_grupo_acompanhamento', + 'acompanhamento'); + + + $this->configurarFK('IdProtocolo', 'acompanhamento', 'id_protocolo'); + } + +} diff --git a/rn/MdWsSeiAtividadeRN.php b/rn/MdWsSeiAtividadeRN.php index 544ba43..4c0eb68 100644 --- a/rn/MdWsSeiAtividadeRN.php +++ b/rn/MdWsSeiAtividadeRN.php @@ -1,7 +1,7 @@ isSetStrStaTipoAtribuicao()) { + $objPesquisaPendenciaDTO->setStrStaTipoAtribuicao(self::$TA_TODAS); + } + + if (!$objPesquisaPendenciaDTO->isSetNumIdUsuarioAtribuicao()) { + $objPesquisaPendenciaDTO->setNumIdUsuarioAtribuicao(null); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinMontandoArvore()) { + $objPesquisaPendenciaDTO->setStrSinMontandoArvore('N'); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinAnotacoes()) { + $objPesquisaPendenciaDTO->setStrSinAnotacoes('N'); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinSituacoes()) { + $objPesquisaPendenciaDTO->setStrSinSituacoes('N'); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinMarcadores()) { + $objPesquisaPendenciaDTO->setStrSinMarcadores('N'); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinInteressados()) { + $objPesquisaPendenciaDTO->setStrSinInteressados('N'); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinRetornoProgramado()) { + $objPesquisaPendenciaDTO->setStrSinRetornoProgramado('N'); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinCredenciais()) { + $objPesquisaPendenciaDTO->setStrSinCredenciais('N'); + } + + if (!$objPesquisaPendenciaDTO->isSetStrSinHoje()) { + $objPesquisaPendenciaDTO->setStrSinHoje('N'); + } + + $objAtividadeDTO = new MdWsSeiAtividadeDTO(); + $objAtividadeDTO->retNumIdAtividade(); + $objAtividadeDTO->retNumIdTarefa(); + $objAtividadeDTO->retNumIdUsuarioAtribuicao(); + $objAtividadeDTO->retNumIdUsuarioVisualizacao(); + $objAtividadeDTO->retNumTipoVisualizacao(); + $objAtividadeDTO->retNumIdUnidade(); + $objAtividadeDTO->retDthConclusao(); + $objAtividadeDTO->retDblIdProtocolo(); + $objAtividadeDTO->retStrSiglaUnidade(); + $objAtividadeDTO->retStrSinInicial(); + $objAtividadeDTO->retNumIdUsuarioAtribuicao(); + $objAtividadeDTO->retStrSiglaUsuarioAtribuicao(); + $objAtividadeDTO->retStrNomeUsuarioAtribuicao(); + + $objAtividadeDTO->setNumIdUnidade($objPesquisaPendenciaDTO->getNumIdUnidade()); + + if ($objPesquisaPendenciaDTO->isSetStrProtocoloFormatadoPesquisaProtocolo()) { + $strProtocoloFormatado = InfraUtil::retirarFormatacao( + $objPesquisaPendenciaDTO->getStrProtocoloFormatadoPesquisaProtocolo(), false + ); + $objAtividadeDTO->setStrProtocoloFormatadoPesquisaProtocolo( + '%'.$strProtocoloFormatado.'%', + InfraDTO::$OPER_LIKE + ); + } + if ($objPesquisaPendenciaDTO->isSetNumIdGrupoAcompanhamentoProcedimento()) { + $objAtividadeDTO->setNumIdGrupoAcompanhamentoProcedimento($objPesquisaPendenciaDTO->getNumIdGrupoAcompanhamentoProcedimento()); + } + + if ($objPesquisaPendenciaDTO->getStrSinHoje() == 'N') { + $objAtividadeDTO->setDthConclusao(null); + } else { + $objAtividadeDTO->adicionarCriterio(array('Conclusao', 'Conclusao'), + array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_MAIOR_IGUAL), + array(null, InfraData::getStrDataAtual() . ' 00:00:00'), + array(InfraDTO::$OPER_LOGICO_OR)); + } + + $objAtividadeDTO->setStrStaProtocoloProtocolo(ProtocoloRN::$TP_PROCEDIMENTO); + + if ($objPesquisaPendenciaDTO->getNumIdUsuario() == null) { + $objAtividadeDTO->setStrStaNivelAcessoGlobalProtocolo(ProtocoloRN::$NA_SIGILOSO, InfraDTO::$OPER_DIFERENTE); + } else { + $objAtividadeDTO->adicionarCriterio(array('StaNivelAcessoGlobalProtocolo', 'IdUsuario'), + array(InfraDTO::$OPER_DIFERENTE, InfraDTO::$OPER_IGUAL), + array(ProtocoloRN::$NA_SIGILOSO, $objPesquisaPendenciaDTO->getNumIdUsuario()), + array(InfraDTO::$OPER_LOGICO_OR)); + } + + if ($objPesquisaPendenciaDTO->getStrStaTipoAtribuicao() == self::$TA_MINHAS) { + $objAtividadeDTO->setNumIdUsuarioAtribuicao($objPesquisaPendenciaDTO->getNumIdUsuario()); + } else if ($objPesquisaPendenciaDTO->getStrStaTipoAtribuicao() == self::$TA_DEFINIDAS) { + $objAtividadeDTO->setNumIdUsuarioAtribuicao(null, InfraDTO::$OPER_DIFERENTE); + } else if ($objPesquisaPendenciaDTO->getStrStaTipoAtribuicao() == self::$TA_ESPECIFICAS) { + $objAtividadeDTO->setNumIdUsuarioAtribuicao($objPesquisaPendenciaDTO->getNumIdUsuarioAtribuicao()); + } + + if ($objPesquisaPendenciaDTO->isSetDblIdProtocolo()) { + if (!is_array($objPesquisaPendenciaDTO->getDblIdProtocolo())) { + $objAtividadeDTO->setDblIdProtocolo($objPesquisaPendenciaDTO->getDblIdProtocolo()); + } else { + $objAtividadeDTO->setDblIdProtocolo($objPesquisaPendenciaDTO->getDblIdProtocolo(), InfraDTO::$OPER_IN); + } + } + + if ($objPesquisaPendenciaDTO->isSetStrStaEstadoProcedimento()) { + if (is_array($objPesquisaPendenciaDTO->getStrStaEstadoProcedimento())) { + $objAtividadeDTO->setStrStaEstadoProtocolo($objPesquisaPendenciaDTO->getStrStaEstadoProcedimento(), InfraDTO::$OPER_IN); + } else { + $objAtividadeDTO->setStrStaEstadoProtocolo($objPesquisaPendenciaDTO->getStrStaEstadoProcedimento()); + } + } + + if ($objPesquisaPendenciaDTO->isSetStrSinInicial()) { + $objAtividadeDTO->setStrSinInicial($objPesquisaPendenciaDTO->getStrSinInicial()); + } + + if ($objPesquisaPendenciaDTO->isSetNumIdMarcador()) { + $objAtividadeDTO->setNumTipoFkAndamentoMarcador(InfraDTO::$TIPO_FK_OBRIGATORIA); + $objAtividadeDTO->setNumIdMarcador($objPesquisaPendenciaDTO->getNumIdMarcador()); + $objAtividadeDTO->setStrSinUltimoAndamentoMarcador('S'); + } + + //ordenar pela data de abertura descendente + //$objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC); + $objAtividadeDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_DESC); + + + //paginação + $objAtividadeDTO->setNumMaxRegistrosRetorno($objPesquisaPendenciaDTO->getNumMaxRegistrosRetorno()); + $objAtividadeDTO->setNumPaginaAtual($objPesquisaPendenciaDTO->getNumPaginaAtual()); + + $arrAtividadeDTO = $this->listarRN0036($objAtividadeDTO); + + //paginação + $objPesquisaPendenciaDTO->setNumTotalRegistros($objAtividadeDTO->getNumTotalRegistros()); + $objPesquisaPendenciaDTO->setNumRegistrosPaginaAtual($objAtividadeDTO->getNumRegistrosPaginaAtual()); + + $arrProcedimentos = array(); + + //Se encontrou pelo menos um registro + if (count($arrAtividadeDTO) > 0) { + + $objProcedimentoDTO = new ProcedimentoDTO(); + + $objProcedimentoDTO->retStrDescricaoProtocolo(); + + $arrProtocolosAtividades = array_unique(InfraArray::converterArrInfraDTO($arrAtividadeDTO, 'IdProtocolo')); + $objProcedimentoDTO->setDblIdProcedimento($arrProtocolosAtividades, InfraDTO::$OPER_IN); + + if ($objPesquisaPendenciaDTO->getStrSinMontandoArvore() == 'S') { + $objProcedimentoDTO->setStrSinMontandoArvore('S'); + } + + if ($objPesquisaPendenciaDTO->getStrSinAnotacoes() == 'S') { + $objProcedimentoDTO->setStrSinAnotacoes('S'); + } + + if ($objPesquisaPendenciaDTO->getStrSinSituacoes() == 'S') { + $objProcedimentoDTO->setStrSinSituacoes('S'); + } + + if ($objPesquisaPendenciaDTO->getStrSinMarcadores() == 'S') { + $objProcedimentoDTO->setStrSinMarcadores('S'); + } + + if ($objPesquisaPendenciaDTO->isSetDblIdDocumento()) { + $objProcedimentoDTO->setArrDblIdProtocoloAssociado(array($objPesquisaPendenciaDTO->getDblIdDocumento())); + } + + $objProcedimentoRN = new ProcedimentoRN(); + + $arr = $objProcedimentoRN->listarCompleto($objProcedimentoDTO); + + $arrObjParticipanteDTO = null; + if ($objPesquisaPendenciaDTO->getStrSinInteressados() == 'S') { + + $arrObjParticipanteDTO = array(); + + $objParticipanteDTO = new ParticipanteDTO(); + $objParticipanteDTO->retDblIdProtocolo(); + $objParticipanteDTO->retStrSiglaContato(); + $objParticipanteDTO->retStrNomeContato(); + $objParticipanteDTO->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO); + $objParticipanteDTO->setDblIdProtocolo($arrProtocolosAtividades, InfraDTO::$OPER_IN); + + $objParticipanteRN = new ParticipanteRN(); + $arrTemp = $objParticipanteRN->listarRN0189($objParticipanteDTO); + + foreach ($arrTemp as $objParticipanteDTO) { + if (!isset($arrObjParticipanteDTO[$objParticipanteDTO->getDblIdProtocolo()])) { + $arrObjParticipanteDTO[$objParticipanteDTO->getDblIdProtocolo()] = array($objParticipanteDTO); + } else { + $arrObjParticipanteDTO[$objParticipanteDTO->getDblIdProtocolo()][] = $objParticipanteDTO; + } + } + } + + $arrObjRetornoProgramadoDTO = null; + if ($objPesquisaPendenciaDTO->getStrSinRetornoProgramado() == 'S') { + $objRetornoProgramadoDTO = new RetornoProgramadoDTO(); + $objRetornoProgramadoDTO->retDblIdProtocoloAtividadeEnvio(); + $objRetornoProgramadoDTO->retStrSiglaUnidadeOrigemAtividadeEnvio(); + $objRetornoProgramadoDTO->retDtaProgramada(); + $objRetornoProgramadoDTO->setNumIdUnidadeAtividadeEnvio($objPesquisaPendenciaDTO->getNumIdUnidade()); + $objRetornoProgramadoDTO->setDblIdProtocoloAtividadeEnvio($arrProtocolosAtividades, InfraDTO::$OPER_IN); + $objRetornoProgramadoDTO->setNumIdAtividadeRetorno(null); + + $objRetornoProgramadoRN = new RetornoProgramadoRN(); + $arrObjRetornoProgramadoDTO = InfraArray::indexarArrInfraDTO($objRetornoProgramadoRN->listar($objRetornoProgramadoDTO), 'IdProtocoloAtividadeEnvio', true); + } + + + //Manter ordem obtida na listagem das atividades + $arrAdicionados = array(); + $arrIdProcedimentoSigiloso = array(); + + $arr = InfraArray::indexarArrInfraDTO($arr, 'IdProcedimento'); + + foreach ($arrAtividadeDTO as $objAtividadeDTO) { + + $objProcedimentoDTO = $arr[$objAtividadeDTO->getDblIdProtocolo()]; + + //pode não existir se o procedimento foi excluído + if ($objProcedimentoDTO != null) { + + $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); + + if ($objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO) { + + $objProcedimentoDTO->setStrSinCredencialProcesso('N'); + $objProcedimentoDTO->setStrSinCredencialAssinatura('N'); + + $arrIdProcedimentoSigiloso[] = $dblIdProcedimento; + } + + if (!isset($arrAdicionados[$dblIdProcedimento])) { + + $objProcedimentoDTO->setArrObjAtividadeDTO(array($objAtividadeDTO)); + + if (is_array($arrObjParticipanteDTO)) { + if (isset($arrObjParticipanteDTO[$dblIdProcedimento])) { + $objProcedimentoDTO->setArrObjParticipanteDTO($arrObjParticipanteDTO[$dblIdProcedimento]); + } else { + $objProcedimentoDTO->setArrObjParticipanteDTO(null); + } + } + + if (is_array($arrObjRetornoProgramadoDTO)) { + if (isset($arrObjRetornoProgramadoDTO[$dblIdProcedimento])) { + $objProcedimentoDTO->setArrObjRetornoProgramadoDTO($arrObjRetornoProgramadoDTO[$dblIdProcedimento]); + } else { + $objProcedimentoDTO->setArrObjRetornoProgramadoDTO(null); + } + } + + $arrProcedimentos[] = $objProcedimentoDTO; + $arrAdicionados[$dblIdProcedimento] = 0; + } else { + $arrAtividadeDTOProcedimento = $objProcedimentoDTO->getArrObjAtividadeDTO(); + $arrAtividadeDTOProcedimento[] = $objAtividadeDTO; + $objProcedimentoDTO->setArrObjAtividadeDTO($arrAtividadeDTOProcedimento); + } + } + } + + + if ($objPesquisaPendenciaDTO->getStrSinCredenciais() == 'S' && count($arrIdProcedimentoSigiloso)) { + + $objAcessoDTO = new AcessoDTO(); + $objAcessoDTO->retDblIdProtocolo(); + $objAcessoDTO->retStrStaTipo(); + $objAcessoDTO->setNumIdUsuario($objPesquisaPendenciaDTO->getNumIdUsuario()); + $objAcessoDTO->setNumIdUnidade($objPesquisaPendenciaDTO->getNumIdUnidade()); + $objAcessoDTO->setStrStaTipo(array(AcessoRN::$TA_CREDENCIAL_PROCESSO, AcessoRN::$TA_CREDENCIAL_ASSINATURA_PROCESSO), InfraDTO::$OPER_IN); + $objAcessoDTO->setDblIdProtocolo($arrIdProcedimentoSigiloso, InfraDTO::$OPER_IN); + + $objAcessoRN = new AcessoRN(); + $arrObjAcessoDTO = $objAcessoRN->listar($objAcessoDTO); + + /* + foreach($arr as $objProcedimentoDTO){ + $objProcedimentoDTO->setStrSinCredencialProcesso('N'); + $objProcedimentoDTO->setStrSinCredencialAssinatura('N'); + } + */ + + foreach ($arrObjAcessoDTO as $objAcessoDTO) { + if ($objAcessoDTO->getStrStaTipo() == AcessoRN::$TA_CREDENCIAL_PROCESSO) { + $arr[$objAcessoDTO->getDblIdProtocolo()]->setStrSinCredencialProcesso('S'); + } else if ($objAcessoDTO->getStrStaTipo() == AcessoRN::$TA_CREDENCIAL_ASSINATURA_PROCESSO) { + $arr[$objAcessoDTO->getDblIdProtocolo()]->setStrSinCredencialAssinatura('S'); + } + } + + } + } + + return $arrProcedimentos; + + } catch (Exception $e) { + throw new InfraException('Erro recuperando processos abertos.', $e); + } + } + } \ No newline at end of file diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index 773721d..4d0b5a2 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -176,45 +176,53 @@ class MdWsSeiProcedimentoRN extends InfraRN { */ protected function pesquisarProcedimentoConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam) { try{ + $pesquisaPendenciaDTO = new MdWsSeiPesquisarPendenciaDTO(); + $usuarioAtribuicaoAtividade = null; - $mdWsSeiProtocoloDTOConsulta = new MdWsSeiProtocoloDTO(); - $mdWsSeiProtocoloDTOConsulta->retDblIdProtocolo(); - $mdWsSeiProtocoloDTOConsulta->retTodos(); - $mdWsSeiProtocoloDTOConsulta->retStrNomeTipoProcedimentoProcedimento(); - $mdWsSeiProtocoloDTOConsulta->retStrSiglaUnidadeGeradora(); - $mdWsSeiProtocoloDTOConsulta->retStrSinCienciaProcedimento(); + if($mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioAtribuicaoAtividade()){ + $usuarioAtribuicaoAtividade = $mdWsSeiProtocoloDTOParam->getNumIdUsuarioAtribuicaoAtividade(); + } + if(!is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())){ + $pesquisaPendenciaDTO->setNumPaginaAtual($mdWsSeiProtocoloDTOParam->getNumPaginaAtual()); + }else{ + $pesquisaPendenciaDTO->setNumPaginaAtual(0); + } + + if($mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()){ + $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno($mdWsSeiProtocoloDTOParam->getNumMaxRegistrosRetorno()); + }else{ + $pesquisaPendenciaDTO->setNumMaxRegistrosRetorno(10); + } if($mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento()){ - $mdWsSeiProtocoloDTOConsulta->setNumIdGrupoAcompanhamentoProcedimento( - $mdWsSeiProtocoloDTOParam->isSetNumIdGrupoAcompanhamentoProcedimento() + $pesquisaPendenciaDTO->setNumIdGrupoAcompanhamentoProcedimento( + $mdWsSeiProtocoloDTOParam->getNumIdGrupoAcompanhamentoProcedimento() ); } if($mdWsSeiProtocoloDTOParam->isSetStrProtocoloFormatadoPesquisa()){ $strProtocoloFormatado = InfraUtil::retirarFormatacao( - $mdWsSeiProtocoloDTOParam->getStrProtocoloFormatadoPesquisa(), false - ); - $mdWsSeiProtocoloDTOConsulta->setStrProtocoloFormatadoPesquisa( + $mdWsSeiProtocoloDTOParam->getStrProtocoloFormatadoPesquisa(), false + ); + $pesquisaPendenciaDTO->setStrProtocoloFormatadoPesquisaProtocolo( '%'.$strProtocoloFormatado.'%', InfraDTO::$OPER_LIKE ); } - if(is_null($mdWsSeiProtocoloDTOParam->getNumPaginaAtual())){ - $mdWsSeiProtocoloDTOConsulta->setNumPaginaAtual(0); - }else{ - $mdWsSeiProtocoloDTOConsulta->setNumPaginaAtual($mdWsSeiProtocoloDTOParam->getNumPaginaAtual()); - } + $atividadeRN = new MdWsSeiAtividadeRN(); + $pesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); + $pesquisaPendenciaDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL,ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); + $pesquisaPendenciaDTO->setStrSinAnotacoes('S'); + $pesquisaPendenciaDTO->setStrSinRetornoProgramado('S'); + $pesquisaPendenciaDTO->setStrSinCredenciais('S'); + $pesquisaPendenciaDTO->setStrSinSituacoes('S'); + $pesquisaPendenciaDTO->setStrSinMarcadores('S'); - if(!$mdWsSeiProtocoloDTOParam->isSetNumMaxRegistrosRetorno()){ - $mdWsSeiProtocoloDTOConsulta->setNumMaxRegistrosRetorno(10); - }else{ - $mdWsSeiProtocoloDTOConsulta->setNumMaxRegistrosRetorno($mdWsSeiProtocoloDTOParam->getNumMaxRegistrosRetorno()); - } - $protocoloRN = new ProtocoloRN(); - $ret = $protocoloRN->listarRN0668($mdWsSeiProtocoloDTOConsulta); + $ret = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); $result = $this->montaRetornoListagemProcessos($ret, $usuarioAtribuicaoAtividade); - return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $mdWsSeiProtocoloDTOConsulta->getNumTotalRegistros()); + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $pesquisaPendenciaDTO->getNumTotalRegistros()); }catch (Exception $e){ return MdWsSeiRest::formataRetornoErroREST($e); } @@ -227,7 +235,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { */ protected function listarProcessosConectado(MdWsSeiProtocoloDTO $mdWsSeiProtocoloDTOParam){ try{ - $pesquisaPendenciaDTO = new PesquisaPendenciaDTO(); + $pesquisaPendenciaDTO = new MdWsSeiPesquisarPendenciaDTO(); $usuarioAtribuicaoAtividade = null; if($mdWsSeiProtocoloDTOParam->isSetNumIdUsuarioAtribuicaoAtividade()){ @@ -249,7 +257,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $pesquisaPendenciaDTO->setStrStaTipoAtribuicao('M'); } - $atividadeRN = new AtividadeRN(); + $atividadeRN = new MdWsSeiAtividadeRN(); $pesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); $pesquisaPendenciaDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); $pesquisaPendenciaDTO->setStrStaEstadoProcedimento(array(ProtocoloRN::$TE_NORMAL,ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO)); @@ -261,10 +269,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { if($mdWsSeiProtocoloDTOParam->getStrSinTipoBusca() == MdWsSeiProtocoloDTO::SIN_TIPO_BUSCA_R){ $pesquisaPendenciaDTO->setStrSinInicial('N'); - $ret = $atividadeRN->listarPendenciasRN0754($pesquisaPendenciaDTO); + $ret = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); }else if($mdWsSeiProtocoloDTOParam->getStrSinTipoBusca() == MdWsSeiProtocoloDTO::SIN_TIPO_BUSCA_G){ $pesquisaPendenciaDTO->setStrSinInicial('S'); - $ret = $atividadeRN->listarPendenciasRN0754($pesquisaPendenciaDTO); + $ret = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); }else{ throw new InfraException('O tipo de busca deve ser (R)ecebidos ou (G)erados'); } @@ -297,6 +305,8 @@ class MdWsSeiProcedimentoRN extends InfraRN { $tipoVisualizacao = 'N'; $retornoProgramado = 'N'; $retornoAtrasado = 'N'; + $arrDadosAbertura = array(); + $procedimentoDTO = null; $protocoloDTO = new MdWsSeiProtocoloDTO(); if($dto instanceof ProcedimentoDTO){ $protocoloDTO = new MdWsSeiProtocoloDTO(); @@ -323,7 +333,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { $processoDocumentoIncluidoAssinado = 'N'; $processoPublicado = 'N'; - $atividadeRN = new AtividadeRN(); + $atividadeRN = new MdWsSeiAtividadeRN(); $atividadeDTOConsulta = new AtividadeDTO(); $atividadeDTOConsulta->setDblIdProtocolo($protocoloDTO->getDblIdProtocolo()); $atividadeDTOConsulta->retDblIdProtocolo(); @@ -349,7 +359,8 @@ class MdWsSeiProcedimentoRN extends InfraRN { } $arrAtividadePendenciaDTO = array(); if($dto instanceof ProcedimentoDTO){ - $arrAtividadePendenciaDTO = $dto->getArrObjAtividadeDTO(); + $procedimentoDTO = $dto; + $arrAtividadePendenciaDTO = $procedimentoDTO->getArrObjAtividadeDTO(); }else{ $pesquisaPendenciaDTO = new PesquisaPendenciaDTO(); $pesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); @@ -361,9 +372,10 @@ class MdWsSeiProcedimentoRN extends InfraRN { $pesquisaPendenciaDTO->setStrSinSituacoes('S'); $pesquisaPendenciaDTO->setStrSinMarcadores('S'); $pesquisaPendenciaDTO->setDblIdProtocolo($protocoloDTO->getDblIdProtocolo()); - $arrProcedimentoDTO = $atividadeRN->listarPendenciasRN0754($pesquisaPendenciaDTO); + $arrProcedimentoDTO = $atividadeRN->listarPendencias($pesquisaPendenciaDTO); if($arrProcedimentoDTO){ - $arrAtividadePendenciaDTO = $arrProcedimentoDTO[0]->getArrObjAtividadeDTO(); + $procedimentoDTO = $arrProcedimentoDTO[0]; + $arrAtividadePendenciaDTO = $procedimentoDTO->getArrObjAtividadeDTO(); } } if($arrAtividadePendenciaDTO){ @@ -462,7 +474,14 @@ class MdWsSeiProcedimentoRN extends InfraRN { 'staAnotacao' => $anotacaoDTO->getStrStaAnotacao() ); } - + if($procedimentoDTO && $procedimentoDTO->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO){ + $ret = $this->listarUnidadeAberturaProcedimento($procedimentoDTO); + if(!$ret['sucesso']){ + throw new Exception($ret['mensagem']); + } + $arrDadosAbertura = $ret['data']; + } + $result[] = array( 'id' => $protocoloDTO->getDblIdProtocolo(), 'status' => $protocoloDTO->getStrStaProtocolo(), @@ -477,6 +496,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { 'idUnidade' => $protocoloDTO->getNumIdUnidadeGeradora(), 'sigla' => $protocoloDTO->getStrSiglaUnidadeGeradora() ), + 'dados_abertura' => $arrDadosAbertura, 'anotacoes' => $resultAnotacao, 'status' => array( 'documentoSigiloso' => $protocoloDTO->getStrStaGrauSigilo(), @@ -506,6 +526,104 @@ class MdWsSeiProcedimentoRN extends InfraRN { return $result; } + + protected function listarUnidadeAberturaProcedimentoConectado(ProcedimentoDTO $procedimentoDTO){ + try{ + $result = array(); + $atividadeRN = new MdWsSeiAtividadeRN(); + $strStaNivelAcessoGlobal = $procedimentoDTO->getStrStaNivelAcessoGlobalProtocolo(); + $dblIdProcedimento = $procedimentoDTO->getDblIdProcedimento(); + $atividadeDTO = new AtividadeDTO(); + $atividadeDTO->setDistinct(true); + $atividadeDTO->retStrSiglaUnidade(); + $atividadeDTO->retNumIdUnidade(); + $atividadeDTO->retStrDescricaoUnidade(); + + $atividadeDTO->setOrdStrSiglaUnidade(InfraDTO::$TIPO_ORDENACAO_ASC); + + if ($strStaNivelAcessoGlobal == ProtocoloRN::$NA_SIGILOSO) { + $atividadeDTO->retNumIdUsuario(); + $atividadeDTO->retStrSiglaUsuario(); + $atividadeDTO->retStrNomeUsuario(); + } else { + $atividadeDTO->retNumIdUsuarioAtribuicao(); + $atividadeDTO->retStrSiglaUsuarioAtribuicao(); + $atividadeDTO->retStrNomeUsuarioAtribuicao(); + + //ordena descendente pois no envio de processo que já existe na unidade e está atribuído ficará com mais de um andamento em aberto + //desta forma os andamentos com usuário nulo (envios do processo) serão listados depois + $atividadeDTO->setOrdStrSiglaUsuarioAtribuicao(InfraDTO::$TIPO_ORDENACAO_DESC); + + } + $atividadeDTO->setDblIdProtocolo($dblIdProcedimento); + $atividadeDTO->setDthConclusao(null); + + //sigiloso sem credencial nao considera o usuario atual + if ($strStaNivelAcessoGlobal == ProtocoloRN::$NA_SIGILOSO) { + + $acessoDTO = new AcessoDTO(); + $acessoDTO->setDistinct(true); + $acessoDTO->retNumIdUsuario(); + $acessoDTO->setDblIdProtocolo($dblIdProcedimento); + $acessoDTO->setStrStaTipo(AcessoRN::$TA_CREDENCIAL_PROCESSO); + + $acessoRN = new AcessoRN(); + $arrAcessoDTO = $acessoRN->listar($acessoDTO); + + $atividadeDTO->setNumIdUsuario(InfraArray::converterArrInfraDTO($arrAcessoDTO, 'IdUsuario'), InfraDTO::$OPER_IN); + } + $arrAtividadeDTO = $atividadeRN->listarRN0036($atividadeDTO); + + if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { + $arrAtividadeDTO = InfraArray::distinctArrInfraDTO($arrAtividadeDTO, 'SiglaUnidade'); + } + if (count($arrAtividadeDTO) == 0) { + $result['info'] = 'Processo não possui andamentos abertos.'; + $result['lista'] = array(); + }else{ + if (count($arrAtividadeDTO) == 1) { + $atividadeDTO = $arrAtividadeDTO[0]; + if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { + $result['info'] = 'Processo aberto somente na unidade:'; + $result['lista'][] = array( + 'sigla' => $atividadeDTO->getStrSiglaUnidade() + ); + } else { + $result['info'] = 'Processo aberto com o usuário:'; + $atividadeDTO = $arrAtividadeDTO[0]; + $result['lista'][] = array( + 'sigla' => $atividadeDTO->getStrNomeUsuario() + ); + } + } else { + if ($strStaNivelAcessoGlobal != ProtocoloRN::$NA_SIGILOSO) { + $result['info'] = 'Processo aberto nas unidades:'; + foreach ($arrAtividadeDTO as $atividadeDTO) { + $sigla = $atividadeDTO->getStrSiglaUnidade(); + if ($atividadeDTO->getNumIdUsuarioAtribuicao() != null) { + $sigla .= ' (atribuído a '.$atividadeDTO->getStrNomeUsuarioAtribuicao().')'; + } + $result['lista'][] = array( + 'sigla' => $sigla + ); + } + } else { + $result['info'] = 'Processo aberto com os usuários:'; + foreach ($arrAtividadeDTO as $atividadeDTO) { + $sigla = $atividadeDTO->getStrNomeUsuario().' na unidade '.$atividadeDTO->getStrSiglaUnidade(); + $result['lista'][] = array( + 'sigla' => $sigla + ); + } + } + } + } + + return MdWsSeiRest::formataRetornoSucessoREST(null, $result); + }catch (Exception $e){ + return MdWsSeiRest::formataRetornoErroREST($e); + } + } /** * Metodo que retorna as ciencias nos processos @@ -674,6 +792,78 @@ class MdWsSeiProcedimentoRN extends InfraRN { } } + /** + * Método que verifica o acesso a um processo ou documento + * @param ProtocoloDTO $protocoloDTOParam + * - Se acesso liberado e chamar autenticação for false, o usuário não pode de jeito nenhum visualizar o processo/documento + * @return array + */ + protected function verificaAcessoConectado(ProtocoloDTO $protocoloDTOParam){ + try{ + $acessoLiberado = false; + $chamarAutenticacao = false; + $protocoloRN = new ProtocoloRN(); + $protocoloDTO = new ProtocoloDTO(); + $protocoloDTO->setDblIdProtocolo($protocoloDTOParam->getDblIdProtocolo()); + $protocoloDTO->retStrStaNivelAcessoGlobal(); + $protocoloDTO->retDblIdProtocolo(); + $protocoloDTO = $protocoloRN->consultarRN0186($protocoloDTO); + if($protocoloDTO->getStrStaNivelAcessoGlobal() == ProtocoloRN::$NA_SIGILOSO){ + $objPesquisaProtocoloDTO = new PesquisaProtocoloDTO(); + $objPesquisaProtocoloDTO->setStrStaTipo(ProtocoloRN::$TPP_PROCEDIMENTOS); + $objPesquisaProtocoloDTO->setStrStaAcesso(ProtocoloRN::$TAP_AUTORIZADO); + $objPesquisaProtocoloDTO->setDblIdProtocolo($protocoloDTO->getDblIdProtocolo()); + + $objProtocoloRN = new ProtocoloRN(); + $arrProtocoloDTO = $objProtocoloRN->pesquisarRN0967($objPesquisaProtocoloDTO); + if($arrProtocoloDTO){ + $chamarAutenticacao = true; + } + }else{ + $acessoLiberado = true; + $chamarAutenticacao = false; + } + + return MdWsSeiRest::formataRetornoSucessoREST( + null, + array('acessoLiberado' => $acessoLiberado, 'chamarAutenticacao' => $chamarAutenticacao) + ); + + }catch (Exception $e){ + return MdWsSeiRest::formataRetornoErroREST($e); + } + } + + /** + * Identifica o acesso do usuário em um processo + * @param UsuarioDTO $usuarioDTO + * @param ProtocoloDTO $protocoloDTO + * @return array + */ + protected function identificacaoAcessoConectado(UsuarioDTO $usuarioDTO, ProtocoloDTO $protocoloDTO){ + try{ + $objInfraSip = new InfraSip(SessaoSEI::getInstance()); + $objInfraSip->autenticar(SessaoSEI::getInstance()->getNumIdOrgaoUsuario(), null, SessaoSEI::getInstance()->getStrSiglaUsuario(), $usuarioDTO->getStrSenha()); + AuditoriaSEI::getInstance()->auditar('usuario_validar_acesso'); + $ret = $this->verificaAcesso($protocoloDTO); + if(!$ret['sucesso']){ + return $ret; + } + $acessoAutorizado = false; + if($ret['data']['acessoLiberado'] || $ret['data']['chamarAutenticacao']){ + $acessoAutorizado = true; + } + + return MdWsSeiRest::formataRetornoSucessoREST(null, array('acessoAutorizado' => $acessoAutorizado)); + }catch (InfraException $e){ + $infraValidacaoDTO = $e->getArrObjInfraValidacao()[0]; + $eAuth = new Exception($infraValidacaoDTO->getStrDescricao(), $e->getCode(), $e); + return MdWsSeiRest::formataRetornoErroREST($eAuth); + }catch (Exception $e){ + return MdWsSeiRest::formataRetornoErroREST($e); + } + } + } \ No newline at end of file diff --git a/teste.php b/teste.php index 2a03a3f..e8bb78e 100644 --- a/teste.php +++ b/teste.php @@ -10,12 +10,20 @@ ini_set('xdebug.var_display_max_data', 2048); echo ''; $b = new MdWsSeiUsuarioRN(); -$token = $b->tokenEncode('teste', 'teste'); +$token = $b->tokenEncode('teste2', 'teste2'); echo 'Token: '; echo $token; echo '
'; $b->autenticarToken($token); +$arrProcessosVisitados = SessaoSEI::getInstance()->getAtributo('PROCESSOS_VISITADOS_' . SessaoSEI::getInstance()->getStrSiglaUnidadeAtual()); +var_dump($arrProcessosVisitados); +exit; + +require_once dirname(__FILE__).'/vendor/autoload.php'; + + + class TesteAtividade { public function listarAtividadesProcessoConectado(){ @@ -122,7 +130,7 @@ class TesteDocumento { public function downloadAnexoConectado(){ $rn = new MdWsSeiDocumentoRN(); $dto = new ProtocoloDTO(); - $dto->setDblIdProtocolo(32); + $dto->setDblIdProtocolo(36); var_dump($rn->downloadAnexo($dto)); } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index ef007c2..2cbbf08 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -230,24 +230,25 @@ }, { "name": "slim/slim", - "version": "3.7.0", - "version_normalized": "3.7.0.0", + "version": "3.8.1", + "version_normalized": "3.8.1.0", "source": { "type": "git", "url": "https://github.com/slimphp/Slim.git", - "reference": "4254e40d81559e35cdf856bcbaca5f3af468b7ef" + "reference": "5385302707530b2bccee1769613ad769859b826d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slimphp/Slim/zipball/4254e40d81559e35cdf856bcbaca5f3af468b7ef", - "reference": "4254e40d81559e35cdf856bcbaca5f3af468b7ef", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/5385302707530b2bccee1769613ad769859b826d", + "reference": "5385302707530b2bccee1769613ad769859b826d", "shasum": "" }, "require": { - "container-interop/container-interop": "^1.1", + "container-interop/container-interop": "^1.2", "nikic/fast-route": "^1.0", "php": ">=5.5.0", "pimple/pimple": "^3.0", + "psr/container": "^1.0", "psr/http-message": "^1.0" }, "provide": { @@ -257,7 +258,7 @@ "phpunit/phpunit": "^4.0", "squizlabs/php_codesniffer": "^2.5" }, - "time": "2016-12-20T20:30:47+00:00", + "time": "2017-03-19T17:55:20+00:00", "type": "library", "installation-source": "dist", "autoload": { diff --git a/vendor/slim/slim/LICENSE.md b/vendor/slim/slim/LICENSE.md index 0875f84..682c21d 100644 --- a/vendor/slim/slim/LICENSE.md +++ b/vendor/slim/slim/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2011-2016 Josh Lockhart +Copyright (c) 2011-2017 Josh Lockhart Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vendor/slim/slim/Slim/App.php b/vendor/slim/slim/Slim/App.php index 7bf900d..587e671 100644 --- a/vendor/slim/slim/Slim/App.php +++ b/vendor/slim/slim/Slim/App.php @@ -3,19 +3,21 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; use Exception; +use Slim\Exception\InvalidMethodException; +use Slim\Http\Response; use Throwable; use Closure; use InvalidArgumentException; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\ResponseInterface; -use Interop\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use FastRoute\Dispatcher; use Slim\Exception\SlimException; use Slim\Exception\MethodNotAllowedException; @@ -50,7 +52,7 @@ class App * * @var string */ - const VERSION = '3.7.0'; + const VERSION = '3.8.1'; /** * Container @@ -287,10 +289,13 @@ class App */ public function run($silent = false) { - $request = $this->container->get('request'); $response = $this->container->get('response'); - $response = $this->process($request, $response); + try { + $response = $this->process($this->container->get('request'), $response); + } catch (InvalidMethodException $e) { + $response = $this->processInvalidMethod($e->getRequest(), $response); + } if (!$silent) { $this->respond($response); @@ -300,6 +305,39 @@ class App } /** + * Pull route info for a request with a bad method to decide whether to + * return a not-found error (default) or a bad-method error, then run + * the handler for that error, returning the resulting response. + * + * Used for cases where an incoming request has an unrecognized method, + * rather than throwing an exception and not catching it all the way up. + * + * @param ServerRequestInterface $request + * @param ResponseInterface $response + * @return ResponseInterface + */ + protected function processInvalidMethod(ServerRequestInterface $request, ResponseInterface $response) + { + $router = $this->container->get('router'); + if (is_callable([$request->getUri(), 'getBasePath']) && is_callable([$router, 'setBasePath'])) { + $router->setBasePath($request->getUri()->getBasePath()); + } + + $request = $this->dispatchRouterAndPrepareRoute($request, $router); + $routeInfo = $request->getAttribute('routeInfo', [RouterInterface::DISPATCH_STATUS => Dispatcher::NOT_FOUND]); + + if ($routeInfo[RouterInterface::DISPATCH_STATUS] === Dispatcher::METHOD_NOT_ALLOWED) { + return $this->handleException( + new MethodNotAllowedException($request, $response, $routeInfo[RouterInterface::ALLOWED_METHODS]), + $request, + $response + ); + } + + return $this->handleException(new NotFoundException($request, $response), $request, $response); + } + + /** * Process a request * * This method traverses the application middleware stack and then returns the diff --git a/vendor/slim/slim/Slim/CallableResolver.php b/vendor/slim/slim/Slim/CallableResolver.php index 8c8eb64..b2ce368 100644 --- a/vendor/slim/slim/Slim/CallableResolver.php +++ b/vendor/slim/slim/Slim/CallableResolver.php @@ -3,13 +3,13 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; use RuntimeException; -use Interop\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use Slim\Interfaces\CallableResolverInterface; /** @@ -18,6 +18,8 @@ use Slim\Interfaces\CallableResolverInterface; */ final class CallableResolver implements CallableResolverInterface { + const CALLABLE_PATTERN = '!^([^\:]+)\:([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)$!'; + /** * @var ContainerInterface */ @@ -46,45 +48,63 @@ final class CallableResolver implements CallableResolverInterface */ public function resolve($toResolve) { - $resolved = $toResolve; + if (is_callable($toResolve)) { + return $toResolve; + } + + if (!is_string($toResolve)) { + $this->assertCallable($toResolve); + } + + // check for slim callable as "class:method" + if (preg_match(self::CALLABLE_PATTERN, $toResolve, $matches)) { + $resolved = $this->resolveCallable($matches[1], $matches[2]); + $this->assertCallable($resolved); + + return $resolved; + } - if (!is_callable($toResolve) && is_string($toResolve)) { - // check for slim callable as "class:method" - $callablePattern = '!^([^\:]+)\:([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)$!'; - if (preg_match($callablePattern, $toResolve, $matches)) { - $class = $matches[1]; - $method = $matches[2]; + $resolved = $this->resolveCallable($toResolve); + $this->assertCallable($resolved); + + return $resolved; + } + + /** + * Check if string is something in the DIC + * that's callable or is a class name which has an __invoke() method. + * + * @param string $class + * @param string $method + * @return callable + * + * @throws \RuntimeException if the callable does not exist + */ + protected function resolveCallable($class, $method = '__invoke') + { + if ($this->container->has($class)) { + return [$this->container->get($class), $method]; + } - if ($this->container->has($class)) { - $resolved = [$this->container->get($class), $method]; - } else { - if (!class_exists($class)) { - throw new RuntimeException(sprintf('Callable %s does not exist', $class)); - } - $resolved = [new $class($this->container), $method]; - } - } else { - // check if string is something in the DIC that's callable or is a class name which - // has an __invoke() method - $class = $toResolve; - if ($this->container->has($class)) { - $resolved = $this->container->get($class); - } else { - if (!class_exists($class)) { - throw new RuntimeException(sprintf('Callable %s does not exist', $class)); - } - $resolved = new $class($this->container); - } - } + if (!class_exists($class)) { + throw new RuntimeException(sprintf('Callable %s does not exist', $class)); } - if (!is_callable($resolved)) { + return [new $class($this->container), $method]; + } + + /** + * @param Callable $callable + * + * @throws \RuntimeException if the callable is not resolvable + */ + protected function assertCallable($callable) + { + if (!is_callable($callable)) { throw new RuntimeException(sprintf( '%s is not resolvable', - is_array($toResolve) || is_object($toResolve) ? json_encode($toResolve) : $toResolve + is_array($callable) || is_object($callable) ? json_encode($callable) : $callable )); } - - return $resolved; } } diff --git a/vendor/slim/slim/Slim/CallableResolverAwareTrait.php b/vendor/slim/slim/Slim/CallableResolverAwareTrait.php index 53e83be..ffb4eb2 100644 --- a/vendor/slim/slim/Slim/CallableResolverAwareTrait.php +++ b/vendor/slim/slim/Slim/CallableResolverAwareTrait.php @@ -3,13 +3,13 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; use RuntimeException; -use Interop\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use Slim\Interfaces\CallableResolverInterface; /** diff --git a/vendor/slim/slim/Slim/Collection.php b/vendor/slim/slim/Slim/Collection.php index 70ccb36..728bb73 100644 --- a/vendor/slim/slim/Slim/Collection.php +++ b/vendor/slim/slim/Slim/Collection.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; diff --git a/vendor/slim/slim/Slim/Container.php b/vendor/slim/slim/Slim/Container.php index 41ef31c..ac0d917 100644 --- a/vendor/slim/slim/Slim/Container.php +++ b/vendor/slim/slim/Slim/Container.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; diff --git a/vendor/slim/slim/Slim/DefaultServicesProvider.php b/vendor/slim/slim/Slim/DefaultServicesProvider.php index 6b23738..7087e4e 100644 --- a/vendor/slim/slim/Slim/DefaultServicesProvider.php +++ b/vendor/slim/slim/Slim/DefaultServicesProvider.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; diff --git a/vendor/slim/slim/Slim/DeferredCallable.php b/vendor/slim/slim/Slim/DeferredCallable.php index b79b948..22887c0 100644 --- a/vendor/slim/slim/Slim/DeferredCallable.php +++ b/vendor/slim/slim/Slim/DeferredCallable.php @@ -3,14 +3,14 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; use Closure; -use Interop\Container\ContainerInterface; +use Psr\Container\ContainerInterface; class DeferredCallable { diff --git a/vendor/slim/slim/Slim/Exception/ContainerException.php b/vendor/slim/slim/Slim/Exception/ContainerException.php index c72cc84..b147eb9 100644 --- a/vendor/slim/slim/Slim/Exception/ContainerException.php +++ b/vendor/slim/slim/Slim/Exception/ContainerException.php @@ -2,9 +2,9 @@ /** * Slim Framework (https://slimframework.com) * - * @link https://github.com/codeguy/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart - * @license https://github.com/codeguy/Slim/blob/master/LICENSE (MIT License) + * @link https://github.com/slimphp/Slim + * @copyright Copyright (c) 2011-2017 Josh Lockhart + * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE (MIT License) */ namespace Slim\Exception; diff --git a/vendor/slim/slim/Slim/Exception/ContainerValueNotFoundException.php b/vendor/slim/slim/Slim/Exception/ContainerValueNotFoundException.php index b7ef3f3..c5033b6 100644 --- a/vendor/slim/slim/Slim/Exception/ContainerValueNotFoundException.php +++ b/vendor/slim/slim/Slim/Exception/ContainerValueNotFoundException.php @@ -2,9 +2,9 @@ /** * Slim Framework (https://slimframework.com) * - * @link https://github.com/codeguy/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart - * @license https://github.com/codeguy/Slim/blob/master/LICENSE (MIT License) + * @link https://github.com/slimphp/Slim + * @copyright Copyright (c) 2011-2017 Josh Lockhart + * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE (MIT License) */ namespace Slim\Exception; diff --git a/vendor/slim/slim/Slim/Exception/MethodNotAllowedException.php b/vendor/slim/slim/Slim/Exception/MethodNotAllowedException.php index 8103626..e73b99e 100644 --- a/vendor/slim/slim/Slim/Exception/MethodNotAllowedException.php +++ b/vendor/slim/slim/Slim/Exception/MethodNotAllowedException.php @@ -2,9 +2,9 @@ /** * Slim Framework (https://slimframework.com) * - * @link https://github.com/codeguy/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart - * @license https://github.com/codeguy/Slim/blob/master/LICENSE (MIT License) + * @link https://github.com/slimphp/Slim + * @copyright Copyright (c) 2011-2017 Josh Lockhart + * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE (MIT License) */ namespace Slim\Exception; diff --git a/vendor/slim/slim/Slim/Exception/NotFoundException.php b/vendor/slim/slim/Slim/Exception/NotFoundException.php index 96057d6..8095eac 100644 --- a/vendor/slim/slim/Slim/Exception/NotFoundException.php +++ b/vendor/slim/slim/Slim/Exception/NotFoundException.php @@ -2,9 +2,9 @@ /** * Slim Framework (https://slimframework.com) * - * @link https://github.com/codeguy/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart - * @license https://github.com/codeguy/Slim/blob/master/LICENSE (MIT License) + * @link https://github.com/slimphp/Slim + * @copyright Copyright (c) 2011-2017 Josh Lockhart + * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE (MIT License) */ namespace Slim\Exception; diff --git a/vendor/slim/slim/Slim/Exception/SlimException.php b/vendor/slim/slim/Slim/Exception/SlimException.php index 3f06ee1..2480d73 100644 --- a/vendor/slim/slim/Slim/Exception/SlimException.php +++ b/vendor/slim/slim/Slim/Exception/SlimException.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Exception; diff --git a/vendor/slim/slim/Slim/Handlers/AbstractError.php b/vendor/slim/slim/Slim/Handlers/AbstractError.php index 81c572a..42f8dde 100644 --- a/vendor/slim/slim/Slim/Handlers/AbstractError.php +++ b/vendor/slim/slim/Slim/Handlers/AbstractError.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers; diff --git a/vendor/slim/slim/Slim/Handlers/AbstractHandler.php b/vendor/slim/slim/Slim/Handlers/AbstractHandler.php index 46e4ceb..b166a15 100644 --- a/vendor/slim/slim/Slim/Handlers/AbstractHandler.php +++ b/vendor/slim/slim/Slim/Handlers/AbstractHandler.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers; diff --git a/vendor/slim/slim/Slim/Handlers/Error.php b/vendor/slim/slim/Slim/Handlers/Error.php index 3bd53c9..dd0bc8d 100644 --- a/vendor/slim/slim/Slim/Handlers/Error.php +++ b/vendor/slim/slim/Slim/Handlers/Error.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers; @@ -81,7 +81,7 @@ class Error extends AbstractError while ($exception = $exception->getPrevious()) { $html .= '

Previous exception

'; - $html .= $this->renderHtmlException($exception); + $html .= $this->renderHtmlExceptionOrError($exception); } } else { $html = '

A website error has occurred. Sorry for the temporary inconvenience.

'; @@ -103,12 +103,30 @@ class Error extends AbstractError /** * Render exception as HTML. * + * Provided for backwards compatibility; use renderHtmlExceptionOrError(). + * * @param \Exception $exception * * @return string */ protected function renderHtmlException(\Exception $exception) { + return $this->renderHtmlExceptionOrError($exception); + } + + /** + * Render exception or error as HTML. + * + * @param \Exception|\Error $exception + * + * @return string + */ + protected function renderHtmlExceptionOrError($exception) + { + if (!$exception instanceof \Exception && !$exception instanceof \Error) { + throw new \RuntimeException("Unexpected type. Expected Exception or Error."); + } + $html = sprintf('
Type: %s
', get_class($exception)); if (($code = $exception->getCode())) { diff --git a/vendor/slim/slim/Slim/Handlers/NotAllowed.php b/vendor/slim/slim/Slim/Handlers/NotAllowed.php index 92c308a..9f382c4 100644 --- a/vendor/slim/slim/Slim/Handlers/NotAllowed.php +++ b/vendor/slim/slim/Slim/Handlers/NotAllowed.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers; diff --git a/vendor/slim/slim/Slim/Handlers/NotFound.php b/vendor/slim/slim/Slim/Handlers/NotFound.php index cf7421d..d4a9dec 100644 --- a/vendor/slim/slim/Slim/Handlers/NotFound.php +++ b/vendor/slim/slim/Slim/Handlers/NotFound.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers; diff --git a/vendor/slim/slim/Slim/Handlers/PhpError.php b/vendor/slim/slim/Slim/Handlers/PhpError.php index 23ab6c4..3ecce30 100644 --- a/vendor/slim/slim/Slim/Handlers/PhpError.php +++ b/vendor/slim/slim/Slim/Handlers/PhpError.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers; diff --git a/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php b/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php index 2d99a4a..ad99b56 100644 --- a/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php +++ b/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers\Strategies; diff --git a/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php b/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php index aa72eb2..739cc7e 100644 --- a/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php +++ b/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Handlers\Strategies; diff --git a/vendor/slim/slim/Slim/Http/Body.php b/vendor/slim/slim/Slim/Http/Body.php index 7d883cb..7a7b4df 100644 --- a/vendor/slim/slim/Slim/Http/Body.php +++ b/vendor/slim/slim/Slim/Http/Body.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/Cookies.php b/vendor/slim/slim/Slim/Http/Cookies.php index 0da4d20..c07c96f 100644 --- a/vendor/slim/slim/Slim/Http/Cookies.php +++ b/vendor/slim/slim/Slim/Http/Cookies.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/Environment.php b/vendor/slim/slim/Slim/Http/Environment.php index 925f458..786dc0a 100644 --- a/vendor/slim/slim/Slim/Http/Environment.php +++ b/vendor/slim/slim/Slim/Http/Environment.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/Headers.php b/vendor/slim/slim/Slim/Http/Headers.php index 3780971..f8c4ac1 100644 --- a/vendor/slim/slim/Slim/Http/Headers.php +++ b/vendor/slim/slim/Slim/Http/Headers.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/Message.php b/vendor/slim/slim/Slim/Http/Message.php index 69377e9..d02a43c 100644 --- a/vendor/slim/slim/Slim/Http/Message.php +++ b/vendor/slim/slim/Slim/Http/Message.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/Request.php b/vendor/slim/slim/Slim/Http/Request.php index d9d4dee..f67050b 100644 --- a/vendor/slim/slim/Slim/Http/Request.php +++ b/vendor/slim/slim/Slim/Http/Request.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; @@ -16,6 +16,8 @@ use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\UriInterface; use Psr\Http\Message\StreamInterface; use Slim\Collection; +use Slim\Exception\InvalidMethodException; +use Slim\Exception\MethodNotAllowedException; use Slim\Interfaces\Http\HeadersInterface; /** @@ -131,7 +133,7 @@ class Request extends Message implements ServerRequestInterface * * @param Environment $environment The Slim application Environment * - * @return self + * @return static */ public static function createFromEnvironment(Environment $environment) { @@ -166,6 +168,7 @@ class Request extends Message implements ServerRequestInterface * @param array $serverParams The server environment variables * @param StreamInterface $body The request body object * @param array $uploadedFiles The request uploadedFiles collection + * @throws InvalidMethodException on invalid HTTP method */ public function __construct( $method, @@ -176,7 +179,12 @@ class Request extends Message implements ServerRequestInterface StreamInterface $body, array $uploadedFiles = [] ) { - $this->originalMethod = $this->filterMethod($method); + try { + $this->originalMethod = $this->filterMethod($method); + } catch (InvalidMethodException $e) { + $this->originalMethod = $method; + } + $this->uri = $uri; $this->headers = $headers; $this->cookies = $cookies; @@ -194,20 +202,36 @@ class Request extends Message implements ServerRequestInterface } $this->registerMediaTypeParser('application/json', function ($input) { - return json_decode($input, true); + $result = json_decode($input, true); + if (!is_array($result)) { + return null; + } + return $result; }); $this->registerMediaTypeParser('application/xml', function ($input) { $backup = libxml_disable_entity_loader(true); + $backup_errors = libxml_use_internal_errors(true); $result = simplexml_load_string($input); libxml_disable_entity_loader($backup); + libxml_clear_errors(); + libxml_use_internal_errors($backup_errors); + if ($result === false) { + return null; + } return $result; }); $this->registerMediaTypeParser('text/xml', function ($input) { $backup = libxml_disable_entity_loader(true); + $backup_errors = libxml_use_internal_errors(true); $result = simplexml_load_string($input); libxml_disable_entity_loader($backup); + libxml_clear_errors(); + libxml_use_internal_errors($backup_errors); + if ($result === false) { + return null; + } return $result; }); @@ -215,6 +239,11 @@ class Request extends Message implements ServerRequestInterface parse_str($input, $data); return $data; }); + + // if the request had an invalid method, we can throw it now + if (isset($e) && $e instanceof InvalidMethodException) { + throw $e; + } } /** @@ -286,7 +315,7 @@ class Request extends Message implements ServerRequestInterface * changed request method. * * @param string $method Case-sensitive method. - * @return self + * @return static * @throws \InvalidArgumentException for invalid HTTP methods. */ public function withMethod($method) @@ -321,10 +350,7 @@ class Request extends Message implements ServerRequestInterface $method = strtoupper($method); if (!isset($this->validMethods[$method])) { - throw new InvalidArgumentException(sprintf( - 'Unsupported HTTP method "%s" provided', - $method - )); + throw new InvalidMethodException($this, $method); } return $method; @@ -497,7 +523,7 @@ class Request extends Message implements ServerRequestInterface * @link http://tools.ietf.org/html/rfc7230#section-2.7 (for the various * request-target forms allowed in request messages) * @param mixed $requestTarget - * @return self + * @return static * @throws InvalidArgumentException if the request target is invalid */ public function withRequestTarget($requestTarget) @@ -555,7 +581,7 @@ class Request extends Message implements ServerRequestInterface * @link http://tools.ietf.org/html/rfc3986#section-4.3 * @param UriInterface $uri New request URI to use. * @param bool $preserveHost Preserve the original state of the Host header. - * @return self + * @return static */ public function withUri(UriInterface $uri, $preserveHost = false) { @@ -567,7 +593,7 @@ class Request extends Message implements ServerRequestInterface $clone->headers->set('Host', $uri->getHost()); } } else { - if ($this->uri->getHost() !== '' && (!$this->hasHeader('Host') || $this->getHeader('Host') === null)) { + if ($uri->getHost() !== '' && (!$this->hasHeader('Host') || $this->getHeaderLine('Host') === '')) { $clone->headers->set('Host', $uri->getHost()); } } @@ -717,7 +743,7 @@ class Request extends Message implements ServerRequestInterface * updated cookie values. * * @param array $cookies Array of key/value pairs representing cookies. - * @return self + * @return static */ public function withCookieParams(array $cookies) { @@ -778,7 +804,7 @@ class Request extends Message implements ServerRequestInterface * * @param array $query Array of query string arguments, typically from * $_GET. - * @return self + * @return static */ public function withQueryParams(array $query) { @@ -817,7 +843,7 @@ class Request extends Message implements ServerRequestInterface * updated body parameters. * * @param array $uploadedFiles An array tree of UploadedFileInterface instances. - * @return self + * @return static * @throws \InvalidArgumentException if an invalid structure is provided. */ public function withUploadedFiles(array $uploadedFiles) @@ -915,7 +941,7 @@ class Request extends Message implements ServerRequestInterface * @see getAttributes() * @param string $name The attribute name. * @param mixed $value The value of the attribute. - * @return self + * @return static */ public function withAttribute($name, $value) { @@ -938,7 +964,7 @@ class Request extends Message implements ServerRequestInterface * updated attributes. * * @param array $attributes New attributes - * @return self + * @return static */ public function withAttributes(array $attributes) { @@ -960,7 +986,7 @@ class Request extends Message implements ServerRequestInterface * * @see getAttributes() * @param string $name The attribute name. - * @return self + * @return static */ public function withoutAttribute($name) { @@ -1048,7 +1074,7 @@ class Request extends Message implements ServerRequestInterface * * @param null|array|object $data The deserialized body data. This will * typically be in an array or object. - * @return self + * @return static * @throws \InvalidArgumentException if an unsupported argument type is * provided. */ @@ -1069,7 +1095,7 @@ class Request extends Message implements ServerRequestInterface * * Note: This method is not part of the PSR-7 standard. * - * @return self + * @return $this */ public function reparseBody() { @@ -1171,7 +1197,7 @@ class Request extends Message implements ServerRequestInterface } /** - * Fetch assocative array of body and query string parameters. + * Fetch associative array of body and query string parameters. * * Note: This method is not part of the PSR-7 standard. * diff --git a/vendor/slim/slim/Slim/Http/RequestBody.php b/vendor/slim/slim/Slim/Http/RequestBody.php index 95429bd..50887fd 100644 --- a/vendor/slim/slim/Slim/Http/RequestBody.php +++ b/vendor/slim/slim/Slim/Http/RequestBody.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/Response.php b/vendor/slim/slim/Slim/Http/Response.php index 12c4752..dd96505 100644 --- a/vendor/slim/slim/Slim/Http/Response.php +++ b/vendor/slim/slim/Slim/Http/Response.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; @@ -118,6 +118,13 @@ class Response extends Message implements ResponseInterface ]; /** + * EOL characters used for HTTP response. + * + * @var string + */ + const EOL = "\r\n"; + + /** * Create new HTTP response. * * @param int $status The response status code. @@ -176,7 +183,7 @@ class Response extends Message implements ResponseInterface * @param string $reasonPhrase The reason phrase to use with the * provided status code; if none is provided, implementations MAY * use the defaults as suggested in the HTTP specification. - * @return self + * @return static * @throws \InvalidArgumentException For invalid status code arguments. */ public function withStatus($code, $reasonPhrase = '') @@ -254,7 +261,7 @@ class Response extends Message implements ResponseInterface * Proxies to the underlying stream and writes the provided data to it. * * @param string $data - * @return self + * @return $this */ public function write($data) { @@ -277,7 +284,7 @@ class Response extends Message implements ResponseInterface * * @param string|UriInterface $url The redirect destination. * @param int|null $status The redirect HTTP status code. - * @return self + * @return static */ public function withRedirect($url, $status = null) { @@ -306,7 +313,7 @@ class Response extends Message implements ResponseInterface * @param int $status The HTTP status code. * @param int $encodingOptions Json encoding options * @throws \RuntimeException - * @return self + * @return static */ public function withJson($data, $status = null, $encodingOptions = 0) { @@ -461,11 +468,11 @@ class Response extends Message implements ResponseInterface $this->getStatusCode(), $this->getReasonPhrase() ); - $output .= PHP_EOL; + $output .= Response::EOL; foreach ($this->getHeaders() as $name => $values) { - $output .= sprintf('%s: %s', $name, $this->getHeaderLine($name)) . PHP_EOL; + $output .= sprintf('%s: %s', $name, $this->getHeaderLine($name)) . Response::EOL; } - $output .= PHP_EOL; + $output .= Response::EOL; $output .= (string)$this->getBody(); return $output; diff --git a/vendor/slim/slim/Slim/Http/Stream.php b/vendor/slim/slim/Slim/Http/Stream.php index 0f294a0..27c7a76 100644 --- a/vendor/slim/slim/Slim/Http/Stream.php +++ b/vendor/slim/slim/Slim/Http/Stream.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/UploadedFile.php b/vendor/slim/slim/Slim/Http/UploadedFile.php index 3f97be8..ae5dfb6 100644 --- a/vendor/slim/slim/Slim/Http/UploadedFile.php +++ b/vendor/slim/slim/Slim/Http/UploadedFile.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Http/Uri.php b/vendor/slim/slim/Slim/Http/Uri.php index 17248a2..31f202a 100644 --- a/vendor/slim/slim/Slim/Http/Uri.php +++ b/vendor/slim/slim/Slim/Http/Uri.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Http; diff --git a/vendor/slim/slim/Slim/Interfaces/CallableResolverInterface.php b/vendor/slim/slim/Slim/Interfaces/CallableResolverInterface.php index f5b8ce4..17d81db 100644 --- a/vendor/slim/slim/Slim/Interfaces/CallableResolverInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/CallableResolverInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces; diff --git a/vendor/slim/slim/Slim/Interfaces/CollectionInterface.php b/vendor/slim/slim/Slim/Interfaces/CollectionInterface.php index e1f00c1..be995bf 100644 --- a/vendor/slim/slim/Slim/Interfaces/CollectionInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/CollectionInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces; diff --git a/vendor/slim/slim/Slim/Interfaces/Http/CookiesInterface.php b/vendor/slim/slim/Slim/Interfaces/Http/CookiesInterface.php index 6ef3c0c..206175a 100644 --- a/vendor/slim/slim/Slim/Interfaces/Http/CookiesInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/Http/CookiesInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces\Http; diff --git a/vendor/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php b/vendor/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php index b56a382..af19d28 100644 --- a/vendor/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces\Http; diff --git a/vendor/slim/slim/Slim/Interfaces/Http/HeadersInterface.php b/vendor/slim/slim/Slim/Interfaces/Http/HeadersInterface.php index 370929e..b737705 100644 --- a/vendor/slim/slim/Slim/Interfaces/Http/HeadersInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/Http/HeadersInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces\Http; diff --git a/vendor/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php b/vendor/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php index 1c097b8..14a92c1 100644 --- a/vendor/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces; diff --git a/vendor/slim/slim/Slim/Interfaces/RouteGroupInterface.php b/vendor/slim/slim/Slim/Interfaces/RouteGroupInterface.php index 55aa5c2..5ed3303 100644 --- a/vendor/slim/slim/Slim/Interfaces/RouteGroupInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/RouteGroupInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces; diff --git a/vendor/slim/slim/Slim/Interfaces/RouteInterface.php b/vendor/slim/slim/Slim/Interfaces/RouteInterface.php index 6e930de..d2d0d24 100644 --- a/vendor/slim/slim/Slim/Interfaces/RouteInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/RouteInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces; @@ -25,16 +25,16 @@ interface RouteInterface * Retrieve a specific route argument * * @param string $name - * @param mixed $default + * @param string|null $default * - * @return mixed + * @return string|null */ public function getArgument($name, $default = null); /** * Get route arguments * - * @return array + * @return string[] */ public function getArguments(); @@ -58,16 +58,16 @@ interface RouteInterface * @param string $name * @param string $value * - * @return static + * @return self */ public function setArgument($name, $value); /** * Replace route arguments * - * @param array $arguments + * @param string[] $arguments * - * @return static + * @return self */ public function setArguments(array $arguments); diff --git a/vendor/slim/slim/Slim/Interfaces/RouterInterface.php b/vendor/slim/slim/Slim/Interfaces/RouterInterface.php index dd2d864..2ab8b67 100644 --- a/vendor/slim/slim/Slim/Interfaces/RouterInterface.php +++ b/vendor/slim/slim/Slim/Interfaces/RouterInterface.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim\Interfaces; @@ -20,6 +20,10 @@ use Psr\Http\Message\ServerRequestInterface; */ interface RouterInterface { + // array keys from route result + const DISPATCH_STATUS = 0; + const ALLOWED_METHODS = 1; + /** * Add route * diff --git a/vendor/slim/slim/Slim/MiddlewareAwareTrait.php b/vendor/slim/slim/Slim/MiddlewareAwareTrait.php index 98f6149..14404b5 100644 --- a/vendor/slim/slim/Slim/MiddlewareAwareTrait.php +++ b/vendor/slim/slim/Slim/MiddlewareAwareTrait.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; @@ -63,8 +63,14 @@ trait MiddlewareAwareTrait $this->seedMiddlewareStack(); } $next = $this->stack->top(); - $this->stack[] = function (ServerRequestInterface $req, ResponseInterface $res) use ($callable, $next) { - $result = call_user_func($callable, $req, $res, $next); + $this->stack[] = function ( + ServerRequestInterface $request, + ResponseInterface $response + ) use ( + $callable, + $next + ) { + $result = call_user_func($callable, $request, $response, $next); if ($result instanceof ResponseInterface === false) { throw new UnexpectedValueException( 'Middleware must return instance of \Psr\Http\Message\ResponseInterface' @@ -100,12 +106,12 @@ trait MiddlewareAwareTrait /** * Call middleware stack * - * @param ServerRequestInterface $req A request object - * @param ResponseInterface $res A response object + * @param ServerRequestInterface $request A request object + * @param ResponseInterface $response A response object * * @return ResponseInterface */ - public function callMiddlewareStack(ServerRequestInterface $req, ResponseInterface $res) + public function callMiddlewareStack(ServerRequestInterface $request, ResponseInterface $response) { if (is_null($this->stack)) { $this->seedMiddlewareStack(); @@ -113,8 +119,8 @@ trait MiddlewareAwareTrait /** @var callable $start */ $start = $this->stack->top(); $this->middlewareLock = true; - $resp = $start($req, $res); + $response = $start($request, $response); $this->middlewareLock = false; - return $resp; + return $response; } } diff --git a/vendor/slim/slim/Slim/Routable.php b/vendor/slim/slim/Slim/Routable.php index 9c2a89b..c912db4 100644 --- a/vendor/slim/slim/Slim/Routable.php +++ b/vendor/slim/slim/Slim/Routable.php @@ -3,12 +3,12 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; -use Interop\Container\ContainerInterface; +use Psr\Container\ContainerInterface; /** * A routable, middleware-aware object @@ -97,7 +97,7 @@ abstract class Routable /** * Set the route pattern * - * @set string + * @param string $newPattern */ public function setPattern($newPattern) { diff --git a/vendor/slim/slim/Slim/Route.php b/vendor/slim/slim/Slim/Route.php index ac4435c..6a44b3f 100644 --- a/vendor/slim/slim/Slim/Route.php +++ b/vendor/slim/slim/Slim/Route.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; @@ -265,7 +265,7 @@ class Route extends Routable implements RouteInterface * Retrieve a specific route argument * * @param string $name - * @param mixed $default + * @param string|null $default * * @return mixed */ diff --git a/vendor/slim/slim/Slim/RouteGroup.php b/vendor/slim/slim/Slim/RouteGroup.php index daf72bd..705ac45 100644 --- a/vendor/slim/slim/Slim/RouteGroup.php +++ b/vendor/slim/slim/Slim/RouteGroup.php @@ -3,7 +3,7 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; diff --git a/vendor/slim/slim/Slim/Router.php b/vendor/slim/slim/Slim/Router.php index e0107c4..8311628 100644 --- a/vendor/slim/slim/Slim/Router.php +++ b/vendor/slim/slim/Slim/Router.php @@ -3,13 +3,13 @@ * Slim Framework (https://slimframework.com) * * @link https://github.com/slimphp/Slim - * @copyright Copyright (c) 2011-2016 Josh Lockhart + * @copyright Copyright (c) 2011-2017 Josh Lockhart * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; use FastRoute\Dispatcher; -use Interop\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use InvalidArgumentException; use RuntimeException; use Psr\Http\Message\ServerRequestInterface; @@ -199,7 +199,7 @@ class Router implements RouterInterface * * @param string[] $methods Array of HTTP methods * @param string $pattern The route pattern - * @param callable $handler The route callable + * @param callable $callable The route callable * * @return \Slim\Interfaces\RouteInterface */ diff --git a/vendor/slim/slim/composer.json b/vendor/slim/slim/composer.json index ed19202..554a838 100644 --- a/vendor/slim/slim/composer.json +++ b/vendor/slim/slim/composer.json @@ -32,7 +32,8 @@ "pimple/pimple": "^3.0", "psr/http-message": "^1.0", "nikic/fast-route": "^1.0", - "container-interop/container-interop": "^1.1" + "container-interop/container-interop": "^1.2", + "psr/container": "^1.0" }, "require-dev": { "squizlabs/php_codesniffer": "^2.5", -- libgit2 0.21.2