quinta-feira, 15 de dezembro de 2011

Adicionando Filtros no Twig

Só para registrar, segue uma forma simples de adicionar filtros no TWIG. Ultimamente tenho trabalhado muito com o Symfony2.

O Symfony 2 vem com o twig, como sistema de templates padrão, gostei dele, é bom de trabalhar, e também é fácil de criar o layout com este sistema de template.
No início me lembrou um pouco de Facelets, outro ótimo sistema de templates, porém achei o twig mais simples e mais funcional, talvez porque cada um está numa linguagem diferente e porque não dizer num paradigma diferente também.

Com o tempo surgiram algumas complicações, como exibir apenas parte do texto, então pesquisei um pouco na internet, agrupei um material e consegui assimilar uma forma simples para adicionar filtros

Abaixo segue o arquivo que deve ser adicionado dentro do diretório Extension que deve estar dentro do diretório do seu bundle.



namespace Acme\AcmeBundle\Extension;

class Text extends \Twig_Extension {

    /**
     * Returns a list of filters.
     *
     * @return array
     */
    public function getFilters() {
        return array(
            'substr' => new \Twig_Filter_Method($this, 'substr'),
            'strtoupper' => new \Twig_Filter_Method($this, 'strtoupper')
                        );
    }

    /**
     * Name of this extension
     *
     * @return string
     */
    public function getName() {
        return 'Text';
    }

    public function strtoupper($string ) {
        return strtoupper((string)$string);
    }

    public function substr($string, $start , $length=null) {
        return substr((string)$string, $start, $length);        
    }

}
Depois disto adicione na Classe DependencyInjection do seu Bundle o seguinte conteúdo, ou altere da forma necessária:
    /**
     * {@inheritDoc}
     */
    public function load(array $configs, ContainerBuilder $container) {

        $definition = new Definition('Acme\AcmeBundle\Extension\Text');
        $definition->addTag('twig.extension');
        $container->setDefinition('Text', $definition);

        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $config = new \Doctrine\ORM\Configuration();
        /** CONTINUES */
        $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
        $loader->load('services.xml');
    }
Feito isto é só usar o seu filtro, Este filtro no twig ficaria algo assim:
  {{campoTexto|substr(0,2)}}

quarta-feira, 14 de dezembro de 2011

Projeto de lei altera o Estatuto da Criança e do Adolescente, proibindo os pais de aplicarem o castigo físico a crianças e adolescentes



A comissão especial da Câmara aprovou na tarde desta quarta-feira (14) proposta encaminhada pelo ex-presidente Luiz Inácio Lula da Silva que proíbe o uso de castigos corporais em crianças e adolescentes. Opositores do projeto - também chamado de "Lei da Palmada" - os evangélicos saíram derrotados da votação. O texto aprovado, que irá direto para o Senado, sem passar pelo plenário da Câmara, estabeleceu o conceito de castigo corporal, um meio termo entre "agressão corporal" e "castigo".


Então agora esta bem claro: castigo corporal é algo entre uma agressão corporal e um castigo.
Obrigado senhores deputados!

Outra mudança feita foi a substituição da palavra "dor" por "sofrimento". Os evangélicos não queriam nem um dos dois termos, por entender que são conceitos subjetivos e impediriam qualquer tipo de punição aplicada pelos pais. O deputado Pastor Marco Feliciano (PSC-SP) chegou a apresentar destaque para excluir a palavra "sofrimento", mas foi derrotado por 12 votos a dois.

Na noite do mesmo dia, descobri que eu sou evangélico.


sexta-feira, 2 de dezembro de 2011

Desabilitar "verificando alterações externas" do Netbeans

Prezados, muitos já se depararam com problemas de lenntidão no netbeans, e provavelmente perceberam que o processo "verificando alterações externas" está rodando neste momento. Não sei ainda porque isto ocorre, porém para desativar a verificação é muito fácil.

Vá em Ferramentas->Opções->miscelâneas -> arquivos. Desabilite a opção "habilitar a análise automática de código-fonte".
Agora para verificar alterações do código fonte deverá utilizar a opção "verificar alterações externas" no menu "Código Fonte".

sexta-feira, 27 de maio de 2011

Máscara para CPF no Excel

Para quando você estiver com o Excel e a célula possui um CPF digitado somente com número e você quer que fique aparecendo certinho os pontos e o traço. Para formatar a célula com no padrão CPF, vá em:
- Formatar células;
- Aba Número / Personalizado;
- Tipo (digite o código): 00#"."###"."###"-"##

Agora, quando você digitar 11122233344, o Excel formatará para 111.222.333-44
Pronto. Seu CPF estará formatado.

Lista de servidores pro xy para acessar sites bloqueados

Se você tem bloqueio por palavras chaves, deve buscar no google por "pro xy" que assim não terá bloqueio. Chegango nesta lista, poderá acessar os servidores por IP e porta, assim não terá bloqueio por palavras!

http://128.42.6.143:3124, http://141.213.4.202:3127, http://193.2.62.1:444, http://211.113.187.3:40050, http://211.38.50.193:40050, http://211.56.248.38:40050, http://216.132.3.61:444, http://218.36.180.241:40050, http://218.44.248.186:444, http://219.254.95.176:40050, http://219.93.174.101:553, http://219.93.174.102:553, http://219.93.174.102:554, http://219.93.174.103:553, http://219.93.174.105:554, http://219.93.174.106:553, http://219.93.174.106:553, http://219.93.174.107:553, http://219.93.174.108:553, http://219.93.174.108:554, http://220.117.156.188:40050, http://220.76.150.137:40050, http://220.78.195.240:40050, http://220.82.79.70:40050, http://221.186.133.83:65208, http://222.104.246.158:40050, http://222.104.246.158:40050, http://222.105.36.182:40050, http://222.109.224.183:40050, http://222.109.224.183:40050, http://222.113.30.7:40050, http://222.113.30.7:40050, http://222.97.39.102:40050, http://222.98.62.33:40050, http://222.98.62.33:40050, http://24.75.92.72:8000, http://24.96.101.131:65208, http://24.96.101.145:65208, http://61.35.199.90:40050, http://61.37.165.30:40050, http://64.175.80.90:444, http://64.9.33.237:444, http://65.37.157.34:65208, http://66.162.20.126:444, http://66.213.192.56:8000, http://67.134.235.179:444, http://69.182.46.22:81