/**
  * Processa a autenticação de NFSe
  */
 public function autenticarPostAction()
 {
     $aDadosRequest = $this->getRequest()->getParams();
     $aRetornoJson['status'] = FALSE;
     $oForm = new Auth_Form_nfse_FormAutenticacao();
     $oForm->populate($aDadosRequest);
     // Valida o "codigo de verificação" ou "número da RPS" está preenchido
     if (!$oForm->getElement('codigo_verificacao')->getValue() && !$oForm->getElement('numero_rps')->getValue()) {
         $aRetornoJson['fields'] = array('codigo_verificacao', 'numero_rps');
         $aRetornoJson['error'][] = $this->translate->_('Informe o Número do RPS ou o Código de Verificação.');
         echo $this->getHelper('json')->sendJson($aRetornoJson);
     }
     // Valida o restante do formulário
     if ($oForm->isValid($aDadosRequest)) {
         $sPrestadorCnpj = $oForm->getElement('prestador_cnpjcpf')->getValue();
         $sNumeroRps = $oForm->getElement('numero_rps')->getValue();
         $sCodigoVerificacao = $oForm->getElement('codigo_verificacao')->getValue();
         if ($sCodigoVerificacao) {
             $uNota = Contribuinte_Model_Nota::getByPrestadorAndCodigoVerificacao($sPrestadorCnpj, $sCodigoVerificacao);
         } else {
             $uNota = Contribuinte_Model_Nota::getByPrestadorAndNumeroRps($sPrestadorCnpj, $sNumeroRps);
         }
         if (is_object($uNota) || is_array($uNota)) {
             // Url criptografada
             $aUrlVerificacao = DBSeller_Helper_Url_Encrypt::encrypt(array('module' => 'default', 'controller' => 'index', 'action' => 'autentica', 'url' => $aDadosRequest));
             $aRetornoJson['status'] = TRUE;
             $aRetornoJson['url'] = $aUrlVerificacao;
         } else {
             $sMensagemErro = 'Nenhum registro foi encontrado, verifique os dados informados e tente novamente.';
             $aRetornoJson['error'][] = $this->translate->_($sMensagemErro);
         }
     } else {
         $aRetornoJson['fields'] = array_keys($oForm->getMessages());
         $aRetornoJson['error'][] = $this->translate->_('Preencha os dados corretamente.');
     }
     echo $this->getHelper('json')->sendJson($aRetornoJson);
 }
 /**
  * Página para autenticação de notas
  */
 public function autenticaAction()
 {
     // Desabilita o layout do sistema
     parent::noLayout();
     $sPrestadorCnpjCpf = parent::getParam('prestador_cnpjcpf');
     $sNumeroRps = parent::getParam('numero_rps');
     $sCodigoVerificacao = parent::getParam('codigo_verificacao');
     $sCodVer = parent::getParam('cod_ver');
     $sCpfCnpj = parent::getParam('cpfcnpj');
     if (!empty($sCodigoVerificacao) && !empty($sPrestadorCnpjCpf)) {
         $oNota = Contribuinte_Model_Nota::getByPrestadorAndCodigoVerificacao($sPrestadorCnpjCpf, $sCodigoVerificacao);
     } else {
         if (!empty($sCodVer) && !empty($sCpfCnpj)) {
             $oNota = Contribuinte_Model_Nota::getByPrestadorAndCodigoVerificacao($sCodVer, $sCpfCnpj);
         } else {
             $oNota = Contribuinte_Model_Nota::getByPrestadorAndNumeroRps($sPrestadorCnpjCpf, $sNumeroRps);
         }
     }
     $oPrefeitura = Administrativo_Model_Prefeitura::getDadosPrefeituraBase();
     $this->view->aDadosNota = Contribuinte_Model_Nota::getDadosEmissao($sCodigoVerificacao, $oNota, $oPrefeitura);
     $this->view->setBasePath(APPLICATION_PATH . '/modules/contribuinte/views/');
     $sHtml = $this->view->render("pdf/nota_modelo_{$oPrefeitura->getModeloImpressaoNfse()}.phtml");
     echo $sHtml;
 }