当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Filter_Digits类代码示例

本文整理汇总了PHP中Zend_Filter_Digits的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Filter_Digits类的具体用法?PHP Zend_Filter_Digits怎么用?PHP Zend_Filter_Digits使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Zend_Filter_Digits类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: indexAction

 function indexAction()
 {
     //Zend_Session::namespaceUnset('cart');
     $yourCart = new Zend_Session_Namespace('cart');
     //$yourCart->count= ham_1($yourCart->count);
     $ssInfo = $yourCart->getIterator();
     $filter = new Zend_Filter_Digits();
     $id = $filter->filter($this->_arrParam['id']);
     if (count($yourCart->cart) == 0) {
         $cart[$id] = 1;
         $yourCart->cart = $cart;
     } else {
         //echo '<br>Trong gio hang da co san pham';
         $tmp = $ssInfo['cart'];
         if (array_key_exists($id, $tmp) == true) {
             $tmp[$id] = $tmp[$id] + 1;
         } else {
             $tmp[$id] = 1;
         }
         $yourCart->cart = $tmp;
     }
     $base = new Zend_View();
     $link = $base->baseUrl();
     $url = $link . "/shoppingcart";
     chuyen_trang($url);
 }
开发者ID:lynguyetvan88,项目名称:webtuthien,代码行数:26,代码来源:CartController.php

示例2: isValid

 /**
  * Defined by Zend_Validate_Interface
  *
  * Returns true if and only if $value contains a valid Eividencial namber message
  *
  * @param  string $value
  * @return boolean
  */
 public function isValid($value)
 {
     $this->_setValue($value);
     if (null === self::$_filter) {
         /**
          * @see Zend_Filter_Digits
          */
         require_once 'Zend/Filter/Digits.php';
         self::$_filter = new Zend_Filter_Digits();
     }
     $valueFiltered = self::$_filter->filter($value);
     $length = strlen($valueFiltered);
     if ($length != 10) {
         $this->_error(self::LENGTH);
         return false;
     }
     $mod = 11;
     $sum = 0;
     $weights = array(6, 5, 7, 2, 3, 4, 5, 6, 7);
     preg_match_all("/\\d/", $valueFiltered, $digits);
     $valueFilteredArray = $digits[0];
     foreach ($valueFilteredArray as $digit) {
         $weight = current($weights);
         $sum += $digit * $weight;
         next($weights);
     }
     if (($sum % $mod == 10 ? 0 : $sum % $mod) != $valueFilteredArray[$length - 1]) {
         $this->_error(self::CHECKSUM, $valueFiltered);
         return false;
     }
     return true;
 }
开发者ID:hYOUstone,项目名称:tsg,代码行数:40,代码来源:Nip.php

示例3: numerosAction

 public function numerosAction()
 {
     $v = new Zend_Filter_Digits();
     $numero = '123oi321';
     echo $v->filter($numero);
     exit;
 }
开发者ID:JoaoAntonioMaruti,项目名称:AulasUnipar2015,代码行数:7,代码来源:FiltroController.php

示例4: isValid

    /**
     * Defined by Zend_Validate_Interface
     *
     * Returns true if and only if $value only contains digit characters
     *
     * @param  string $value
     * @return boolean
     */
    public function isValid($value)
    {
        if (!is_string($value) && !is_int($value) && !is_float($value)) {
            $this->_error(self::INVALID);
            return false;
        }

        $this->_setValue((string) $value);

        if ('' === $this->_value) {
            $this->_error(self::STRING_EMPTY);
            return false;
        }

        if (null === self::$_filter) {
            require_once 'Zend/Filter/Digits.php';
            self::$_filter = new Zend_Filter_Digits();
        }

        if ($this->_value !== self::$_filter->filter($this->_value)) {
            $this->_error(self::NOT_DIGITS);
            return false;
        }

        return true;
    }
开发者ID:nhp,项目名称:shopware-4,代码行数:34,代码来源:Digits.php

示例5: isValid

 /**
  * Defined by Zend_Validate_Interface
  *
  * Returns true if and only if $value follows the Luhn algorithm (mod-10 checksum)
  *
  * @param  string $value
  * @return boolean
  */
 public function isValid($value)
 {
     $this->_setValue($value);
     if (null === self::$_filter) {
         /**
          * @see Zend_Filter_Digits
          */
         // require_once 'Zend/Filter/Digits.php';
         self::$_filter = new Zend_Filter_Digits();
     }
     $valueFiltered = self::$_filter->filter($value);
     $length = strlen($valueFiltered);
     if ($length < 13 || $length > 19) {
         $this->_error(self::LENGTH);
         return false;
     }
     $sum = 0;
     $weight = 2;
     for ($i = $length - 2; $i >= 0; $i--) {
         $digit = $weight * $valueFiltered[$i];
         $sum += floor($digit / 10) + $digit % 10;
         $weight = $weight % 2 + 1;
     }
     if ((10 - $sum % 10) % 10 != $valueFiltered[$length - 1]) {
         $this->_error(self::CHECKSUM, $valueFiltered);
         return false;
     }
     return true;
 }
开发者ID:ngchie,项目名称:system,代码行数:37,代码来源:Ccnum.php

示例6: filter

 public function filter($value)
 {
     $amount = explode('.', $value);
     if ($amount[0]) {
         $filter = new Zend_Filter_Digits();
         $filteredAmount = $filter->filter($amount[0]);
     }
     if ($amount[1]) {
         $filteredDecimals = $filter->filter($amount[1]);
         $filteredAmount = $filteredAmount . "." . $filteredDecimals;
         $filteredAmount = round((double) $filteredAmount, 2);
     }
     return $filteredAmount;
     //return number_format((float)$filteredAmount, 2, '.', '');;
 }
开发者ID:relyd,项目名称:aidstream,代码行数:15,代码来源:Currency.php

示例7: ContentFile

    /**
     * Helper main function
     * @param $actionsHtml String HTML code showing the action buttons
     * @param $content String The content of this element
     * @param $dbId Int DB id of the object
     * @param $order Int order of this item in the DB
     * @param $params Array parameters (if any)
     * @return String HTML to be inserted in the view
     */
    public function ContentFile($actionsHtml = '', $content = '', $dbId = 0, $order = 0, $params = array('level' => 1), $moduleName = 'adminpages', $pagstructureId = 0, $sharedInIds = '')
    {
        $eventsInfo = SafactivitylogOp::getAuthorNLastEditorForContent($dbId, $moduleName);
        $module = 'publicms';
        $params2 = array('mode' => 'filids', 'layout' => 'none', 'viewl' => 'list', 'noviewswitch' => 'Y', 'ids' => $content);
        $this->view->flist = array();
        $sql = '';
        $fltr = new Zend_Filter_Digits();
        if ($params2['mode'] == 'filids' && isset($params2['ids'])) {
            $ids = array();
            foreach (explode(',', $params2['ids']) as $id) {
                $ids[] = $fltr->filter($id);
            }
        }
        if (is_array($params) && isset($params['type']) && $params['type'] == "categories") {
            // Load the files id based on their category
            $linkedFiles = new FilfoldersFilfiles();
            $ids = array();
            foreach (preg_split('/,/', $content) as $category) {
                $ids[] = $linkedFiles->getFilfilesLinkedTo($category);
            }
        }
        $this->view->viewl = 'list';
        $this->view->noviewswitch = 'Y';
        $oFile = new Filfiles();
        $params2['flist'] = $oFile->getFileInfosByIdList($ids);
        $toret = '<li
                    class="' . $params['addClass'] . ' sydney_editor_li"
                    dbparams="' . $content . '"
                    type=""
                    editclass="files"
                    dbid="' . $dbId . '"
                    dborder="' . $order . '"
                    data-content-type="file-block"
                    pagstructureid="' . $pagstructureId . '"
                    sharedinids="' . $sharedInIds . '">
		' . $actionsHtml . '
			<div class="content">
				' . $this->view->partial('file/filelist.phtml', $module, $params2) . '
			</div>
			<p class="lastUpdatedContent sydney_editor_p">' . $eventsInfo['firstEvent'] . '<br />' . $eventsInfo['lastEvent'] . '</p>
		</li>';
        return $toret;
    }
开发者ID:Cryde,项目名称:sydney-core,代码行数:53,代码来源:ContentFile.php

示例8: isValid

 /**
  * Defined by Zend_Validate_Interface
  *
  * Returns true if and only if $value only contains digit characters
  *
  * @param  string $value
  * @return boolean
  */
 public function isValid($value)
 {
     $valueString = (string) $value;
     $this->_setValue($valueString);
     if ('' === $valueString) {
         $this->_error(self::STRING_EMPTY);
         return false;
     }
     if (null === self::$_filter) {
         /**
          * @see Zend_Filter_Digits
          */
         require_once 'Zend/Filter/Digits.php';
         self::$_filter = new Zend_Filter_Digits();
     }
     if ($valueString !== self::$_filter->filter($valueString)) {
         $this->_error(self::NOT_DIGITS);
         return false;
     }
     return true;
 }
开发者ID:quangbt2005,项目名称:vhost-kis,代码行数:29,代码来源:Digits.php

示例9: testBasic

 /**
  * Ensures that the filter follows expected behavior
  *
  * @return void
  */
 public function testBasic()
 {
     if (self::$_unicodeEnabled && extension_loaded('mbstring')) {
         // Filter for the value with mbstring
         /**
          * The first element of $valuesExpected contains multibyte digit characters.
          *   But , Zend_Filter_Digits is expected to return only singlebyte digits.
          *
          * The second contains multibyte or singebyte space, and also alphabet.
          * The third  contains various multibyte characters.
          * The last contains only singlebyte digits.
          */
         $valuesExpected = array('192八3四8' => '123', 'C 4.5B 6' => '456', '9壱8@7.6,5#4' => '987654', '789' => '789');
     } else {
         // POSIX named classes are not supported, use alternative 0-9 match
         // Or filter for the value without mbstring
         $valuesExpected = array('abc123' => '123', 'abc 123' => '123', 'abcxyz' => '', 'AZ@#4.3' => '43', '1.23' => '123', '0x9f' => '09');
     }
     foreach ($valuesExpected as $input => $output) {
         $this->assertEquals($output, $result = $this->_filter->filter($input), "Expected '{$input}' to filter to '{$output}', but received '{$result}' instead");
     }
 }
开发者ID:omusico,项目名称:logica,代码行数:27,代码来源:DigitsTest.php

示例10: aprovarUsuario

 private function aprovarUsuario()
 {
     // Atualiza Cadastro
     $iId = $this->_getParam('id');
     $oCadastro = Administrativo_Model_Cadastro::getById($iId);
     $oCadastro->setStatus('1');
     $oCadastro->persist();
     $oFilterDigits = new Zend_Filter_Digits();
     $oFilterTrim = new Zend_Filter_StringTrim();
     // Cadastra Usuario
     $aDados = $this->_getAllParams();
     $aUsuario['id_perfil'] = $oFilterDigits->filter($aDados['id_perfil']);
     $aUsuario['tipo'] = $oFilterDigits->filter($aDados['tipo']);
     $aUsuario['cnpj'] = $oFilterDigits->filter($aDados['cpfcnpj']);
     $aUsuario['login'] = $oFilterTrim->filter($aDados['login']);
     $aUsuario['senha'] = $oFilterTrim->filter($aDados['senha']);
     $aUsuario['nome'] = $oFilterTrim->filter($aDados['nome']);
     $aUsuario['email'] = $oFilterTrim->filter($aDados['email']);
     $aUsuario['fone'] = $oFilterDigits->filter($aDados['telefone']);
     $oUsuario = new Administrativo_Model_Usuario();
     $oUsuario->persist($aUsuario);
 }
开发者ID:arendasistemasintegrados,项目名称:mateusleme,代码行数:22,代码来源:CadastroController.php

示例11: isValid

 /**
  * Defined by Zend_Validate_Interface
  *
  * Returns true if and only if $value follows the Luhn algorithm (mod-10 checksum)
  *
  * @param  string $value
  * @return boolean
  */
 public function isValid($value)
 {
     $this->_messages = array();
     $filterDigits = new Zend_Filter_Digits();
     $valueFiltered = $filterDigits->filter($value);
     $length = strlen($valueFiltered);
     if ($length < 13 || $length > 19) {
         $this->_messages[] = "'{$value}' must contain between 13 and 19 digits";
         return false;
     }
     $sum = 0;
     $weight = 2;
     for ($i = $length - 2; $i >= 0; $i--) {
         $digit = $weight * $valueFiltered[$i];
         $sum += floor($digit / 10) + $digit % 10;
         $weight = $weight % 2 + 1;
     }
     if ((10 - $sum % 10) % 10 != $valueFiltered[$length - 1]) {
         $this->_messages[] = "Luhn algorithm (mod-10 checksum) failed on '{$valueFiltered}'";
         return false;
     }
     return true;
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:31,代码来源:Ccnum.php

示例12: isValid

 /**
  * Defined by Zend_Validate_Interface
  *
  * Returns true if and only if $value follows the Luhn algorithm (mod-10 checksum)
  *
  * @param  string $value
  * @return boolean
  */
 public function isValid($value)
 {
     $this->_setValue($value);
     $filterDigits = new Zend_Filter_Digits();
     $valueFiltered = $filterDigits->filter($value);
     $length = strlen($valueFiltered);
     if ($length < 13 || $length > 19) {
         $this->_error(self::LENGTH);
         return false;
     }
     $sum = 0;
     $weight = 2;
     for ($i = $length - 2; $i >= 0; $i--) {
         $digit = $weight * $valueFiltered[$i];
         $sum += floor($digit / 10) + $digit % 10;
         $weight = $weight % 2 + 1;
     }
     if ((10 - $sum % 10) % 10 != $valueFiltered[$length - 1]) {
         $this->_error(self::CHECKSUM, $valueFiltered);
         return false;
     }
     return true;
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:31,代码来源:Ccnum.php

示例13: postSave

 /**
  * @param type $entity
  * @param type $dto
  * @param type $objArtProDto
  */
 public function postSave($entity, $dto = null, $objArtProDto = null)
 {
     $retorno = false;
     $this->getEntityManager()->beginTransaction();
     $sqPessoaCorporativo = \Core_Integration_Sica_User::getPersonId();
     try {
         // salva o artefato_processo
         $objArtProDto->setSqArtefato($entity);
         $this->saveArtefatoProcesso($objArtProDto);
         $arrPesArtDto = array('entity' => 'Sgdoce\\Model\\Entity\\PessoaArtefato', 'mapping' => array('sqPessoaFuncao' => 'Sgdoce\\Model\\Entity\\PessoaFuncao', 'sqPessoaSgdoce' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'sqArtefato' => 'Sgdoce\\Model\\Entity\\Artefato'));
         $sqPessoaSgdoce = $this->_getRepository('app:PessoaSgdoce')->findBySqPessoaCorporativo($sqPessoaCorporativo);
         if (empty($sqPessoaSgdoce)) {
             $filter = new \Zend_Filter_Digits();
             $data['sqPessoaCorporativo'] = $this->_getRepository('app:VwPessoa')->find($sqPessoaCorporativo);
             $dtoPessoaSearch = \Core_Dto::factoryFromData($data, 'search');
             $cpfCnpjPassaportUnfiltered = $this->getServiceLocator()->getService('VwPessoa')->returnCpfCnpjPassaporte($dtoPessoaSearch);
             $cpfCnpjPassaport = $filter->filter($cpfCnpjPassaportUnfiltered);
             $noPessoaCorporativo = $data['sqPessoaCorporativo']->getNoPessoa();
             $this->addPessoaSgdoce($sqPessoaCorporativo, $noPessoaCorporativo, $cpfCnpjPassaport);
             $sqPessoaSgdoce = $this->_getRepository('app:PessoaSgdoce')->findBySqPessoaCorporativo($sqPessoaCorporativo);
         }
         $arrParams = array();
         $arrParams['sqArtefato'] = $entity->getSqArtefato();
         $arrParams['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoAutor();
         $arrParams['sqPessoaSgdoce'] = $sqPessoaSgdoce[0]->getSqPessoaSgdoce();
         $objPessoArtefato = $this->getServiceLocator()->getService('PessoaArtefato')->findBy($arrParams);
         if (!count($objPessoArtefato)) {
             $objPessoaArtefatoDto = \Core_Dto::factoryFromData($arrParams, 'entity', $arrPesArtDto);
             $this->getServiceLocator()->getService('PessoaArtefato')->savePessoaArtefato($objPessoaArtefatoDto);
         }
         // Autor
         $this->_arInconsistencia[3] = 't';
         $this->_salvaOrigem($entity, $dto);
         $this->_arInconsistencia[0] = 't';
         // SALVA GRAU DE ACESSO.
         if ($dto->getSqGrauAcesso()) {
             $grauAcesso = $this->getEntityManager()->getPartialReference('app:GrauAcesso', $dto->getSqGrauAcesso());
             $this->getServiceLocator()->getService('GrauAcessoArtefato')->saveGrauAcessoArtefato($entity, $grauAcesso);
         }
         /*
          * ##### VOLUME #####
          *
          * só é postado no create
          *
          */
         if ($dto->getDataVolume()) {
             $dataIntessado = $dto->getDataVolume();
             $sqPessoaAbertura = \Core_Integration_Sica_User::getPersonId();
             $sqUnidadeOrgAbertura = \Core_Integration_Sica_User::getUserUnit();
             foreach ($dataIntessado->getApi() as $method) {
                 $line = $dataIntessado->{$method}();
                 if (!(int) $line->getNuVolume()) {
                     throw new \Core_Exception_ServiceLayer('Volume não informado.');
                 }
                 $nuFolhaFinal = (int) $line->getNuFolhaFinal();
                 $dtEncerramento = null;
                 if (!empty($nuFolhaFinal)) {
                     $dtEncerramento = \Zend_Date::now();
                 } else {
                     $nuFolhaFinal = null;
                 }
                 $add = $this->getServiceLocator()->getService('ProcessoVolume')->addVolume(array('nuVolume' => (int) $line->getNuVolume(), 'nuFolhaInicial' => (int) $line->getNuFolhaInicial(), 'nuFolhaFinal' => $nuFolhaFinal, 'sqArtefato' => $entity->getSqArtefato(), 'sqPessoa' => $sqPessoaAbertura, 'sqUnidadeOrg' => $sqUnidadeOrgAbertura, 'dtAbertura' => \Zend_Date::now(), 'dtEncerramento' => $dtEncerramento));
                 if (!$add) {
                     throw new \Core_Exception_ServiceLayer('Erro ao adicionar volume.');
                 }
             }
         }
         /*
          * ##### INTERESSADO #####
          *
          * só é postado no create, em caso de edit os interessados são
          * manutenidos no proprio formulario
          *
          */
         if ($dto->getDataInteressado()) {
             $dataIntessado = $dto->getDataInteressado();
             foreach ($dataIntessado->getApi() as $method) {
                 $line = $dataIntessado->{$method}();
                 //metodo foi copiado e adaptado de Artefato_PessoaController::addInteressadoAction()
                 $add = $this->getServiceLocator()->getService('Documento')->addInteressado(array('noPessoa' => $line->getNoPessoa(), 'unidFuncionario' => $line->getUnidFuncionario(), 'sqPessoaCorporativo' => $line->getSqPessoaCorporativo(), 'sqTipoPessoa' => $line->getSqTipoPessoa(), 'sqPessoaFuncao' => $line->getSqPessoaFuncao(), 'sqArtefato' => $entity->getSqArtefato()));
                 if (!$add) {
                     throw new \Core_Exception_ServiceLayer($line->getNoPessoa() . ' já é um interessado deste processo.');
                 }
                 $this->_arInconsistencia[2] = 't';
             }
         } else {
             $dtoInteressado = \Core_Dto::factoryFromData(array('sqArtefato' => $entity->getSqArtefato()), 'search');
             $nuInteressados = $this->getServiceLocator()->getService('PessoaInterassadaArtefato')->countInteressadosArtefato($dtoInteressado);
             if ($nuInteressados['nu_interessados'] > 0) {
                 $this->_arInconsistencia[2] = 't';
             } else {
                 throw new \Core_Exception_ServiceLayer(\Core_Registry::getMessage()->translate('MN176'));
             }
         }
         /*
//.........这里部分代码省略.........
开发者ID:sgdoc,项目名称:sgdoce-codigo,代码行数:101,代码来源:ProcessoMigracao.php

示例14: setDadosEventual

 /**
  * Seta os dados para gravar a entidade
  * @param array $aDados dados para definir os dados da entidade
  */
 public function setDadosEventual(array $aDados)
 {
     $oFiltro = new Zend_Filter_Digits();
     if (!empty($aDados['id_perfil'])) {
         $this->setPerfil(Administrativo_Model_Perfil::getById($aDados['id_perfil']));
     }
     if (!empty($aDados['cnpjcpf'])) {
         $this->setCpfcnpj($oFiltro->filter($aDados['cnpjcpf']));
     }
     if (!empty($aDados['nome'])) {
         $this->setNome($aDados['nome']);
     }
     if (!empty($aDados['nome_fantasia'])) {
         $this->setNomeFantasia($aDados['nome_fantasia']);
     }
     if (!empty($aDados['cep'])) {
         $this->setCep($oFiltro->filter($aDados['cep']));
     }
     if (!empty($aDados['estado'])) {
         $this->setEstado($aDados['estado']);
     }
     if (!empty($aDados['cidade'])) {
         $this->setCidade($aDados['cidade']);
     }
     if (!empty($aDados['bairro'])) {
         $this->setBairro($aDados['bairro']);
     }
     if (!empty($aDados['cod_bairro'])) {
         $this->setCodBairro($aDados['cod_bairro']);
     }
     if (!empty($aDados['endereco'])) {
         $this->setEndereco($aDados['endereco']);
     }
     if (!empty($aDados['cod_endereco'])) {
         $this->setCodEndereco($aDados['cod_endereco']);
     }
     if (!empty($aDados['numero'])) {
         $this->setNumero($aDados['numero']);
     }
     if (!empty($aDados['complemento'])) {
         $this->setComplemento($aDados['complemento']);
     }
     if (!empty($aDados['telefone'])) {
         $this->setTelefone($oFiltro->filter($aDados['telefone']));
     }
     if (!empty($aDados['email'])) {
         $this->setEmail($aDados['email']);
     }
     if (!empty($aDados['hash'])) {
         $this->setHash($aDados['hash']);
     }
     if (!empty($aDados['tipo_liberacao'])) {
         $this->setTipoLiberacao($aDados['tipo_liberacao']);
     }
     if (!empty($aDados['data_cadastro'])) {
         $this->setDataCadastro($aDados['data_cadastro']);
     } else {
         $this->setDataCadastro(new DateTime());
     }
     return true;
 }
开发者ID:arendasistemasintegrados,项目名称:mateusleme,代码行数:65,代码来源:CadastroPessoa.php

示例15: indexAction

 /**
  * Monta a tela para emissão do RPS
  *
  * @return void
  */
 public function indexAction()
 {
     try {
         $aDados = $this->getRequest()->getParams();
         $oContribuinte = $this->_session->contribuinte;
         $this->view->empresa_nao_prestadora = FALSE;
         $this->view->empresa_nao_emissora_nfse = FALSE;
         $this->view->bloqueado_msg = FALSE;
         $oForm = $this->formNota(NULL, $oContribuinte);
         // Verifica se o contribuinte tem permissão para emitir nfse/rps
         if ($oContribuinte->getTipoEmissao() != Contribuinte_Model_ContribuinteAbstract::TIPO_EMISSAO_NOTA) {
             $this->view->empresa_nao_emissora_nfse = TRUE;
             return;
         }
         // Verifica se a empresa é prestadora de serviços
         $aServicos = Contribuinte_Model_Servico::getByIm($oContribuinte->getInscricaoMunicipal());
         if ($aServicos == NULL || empty($aServicos)) {
             $this->view->empresa_nao_prestadora = TRUE;
             return;
         }
         // Verifica o prazo de emissão de documentos e retorna as mensagens de erro
         self::mensagemPrazoEmissao();
         // Configura o formulário
         $oForm->preenche($aDados);
         $oForm->setListaServicos($aServicos);
         $this->view->form = $oForm;
         // Validadores
         $oValidaData = new Zend_Validate_Date(array('format' => 'yyyy-MM-dd'));
         // Bloqueia a emissão se possuir declarações sem movimento
         if (isset($aDados['dt_nota']) && $oValidaData->isValid($aDados['dt_nota'])) {
             $oDataSimples = new DateTime($aDados['dt_nota']);
             $aDeclaracaoSemMovimento = Contribuinte_Model_Competencia::getDeclaracaoSemMovimentoPorContribuintes($oContribuinte->getInscricaoMunicipal(), $oDataSimples->format('Y'), $oDataSimples->format('m'));
             if (count($aDeclaracaoSemMovimento) > 0) {
                 $sMensagemErro = 'Não é possível emitir um documento nesta data, pois a competência foi declarada como ';
                 $sMensagemErro .= 'sem movimento.<br>Entre em contato com o setor de arrecadação da prefeitura.';
                 $this->view->messages[] = array('error' => $sMensagemErro);
                 return;
             }
         }
         // Trata o post do formulário
         if ($this->getRequest()->isPost()) {
             $oNota = new Contribuinte_Model_Nota();
             // Valida os dados informados no formulário
             if (!$oForm->isValid($aDados)) {
                 $this->view->form = $oForm;
                 $this->view->messages[] = array('error' => $this->translate->_('Preencha os dados corretamente.'));
             } else {
                 if ($oNota::existeRps($oContribuinte, $aDados['n_rps'], $aDados['tipo_nota'])) {
                     $this->view->form = $oForm;
                     $this->view->messages[] = array('error' => $this->translate->_('Já existe um RPS com esta numeração.'));
                 } else {
                     $oAidof = new Administrativo_Model_Aidof();
                     $iInscricaoMunicipal = $oContribuinte->getInscricaoMunicipal();
                     /*
                      * Verifica se a numeração do AIDOF é válida
                      */
                     $lVerificaNumeracao = $oAidof->verificarNumeracaoValidaParaEmissaoDocumento($iInscricaoMunicipal, $aDados['n_rps'], $aDados['tipo_nota']);
                     if (!$lVerificaNumeracao) {
                         $sMensagem = 'A numeração do RPS não confere com os AIDOFs liberados.';
                         $this->view->messages[] = array('error' => $this->translate->_($sMensagem));
                         return;
                     }
                     // Remove chaves inválidas
                     unset($aDados['enviar'], $aDados['action'], $aDados['controller'], $aDados['module'], $aDados['estado']);
                     // Filtro para retornar somente numeros
                     $aFilterDigits = new Zend_Filter_Digits();
                     $aDados['p_im'] = $oContribuinte->getInscricaoMunicipal();
                     $aDados['grupo_nota'] = Contribuinte_Model_Nota::GRUPO_NOTA_RPS;
                     $aDados['t_cnpjcpf'] = $aFilterDigits->filter($aDados['t_cnpjcpf']);
                     $aDados['t_cep'] = $aFilterDigits->filter($aDados['t_cep']);
                     $aDados['t_telefone'] = $aFilterDigits->filter($aDados['t_telefone']);
                     $aDados['id_contribuinte'] = $oContribuinte->getIdUsuarioContribuinte();
                     $aDados['id_usuario'] = $this->usuarioLogado->getId();
                     if (!$oNota->persist($aDados)) {
                         $this->view->form = $oForm;
                         $this->view->messages[] = array('error' => $this->translate->_('Houver um erro ao tentar emitir a nota.'));
                         return NULL;
                     }
                     $this->view->messages[] = array('success' => $this->translate->_('Nota emitida com sucesso.'));
                     $this->_redirector->gotoSimple('dadosnota', 'nota', NULL, array('id' => $oNota->getId(), 'tipo_nota' => 'rps'));
                 }
             }
         }
     } catch (Exception $oError) {
         $this->view->messages[] = array('error' => $oError->getMessage());
         return;
     }
 }
开发者ID:arendasistemasintegrados,项目名称:mateusleme,代码行数:93,代码来源:RpsController.php


注:本文中的Zend_Filter_Digits类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。