Jump to content

Bruno Augusto

Members
  • Content count

    6431
  • Joined

  • Last visited

  • Days Won

    34

Bruno Augusto last won the day on February 1 2014

Bruno Augusto had the most liked content!

Community Reputation

417 Incrível

About Bruno Augusto

  • Rank
    Sou Bobo Também ¬¬
  • Birthday 03/13/1988

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Itajubá (MG)
  • Interesses
    Desenvolvimento de Sistemas e Aplicações Web 2.0

Recent Profile Visitors

19003962 profile views
  1. Bruno Augusto

    Piadas!

    Me pegou nessa. :yay:
  2. Bruno Augusto

    FPDF error: Some data has already been output, can't send PDF file

    Não, ambos os argumentos de FPDF::Output() são opcionais. Ao omiti-los a classe assume doc.pdf para o primeiro argumento e I para o segundo, fazendo com que o buffer seja enviado ao browser.
  3. Bruno Augusto

    Separar nome/sobrenome

    Apesar de explode() funcionar e ter melhor performance (mínima, porém existente), se você está trabalhando com strings, deve usar funções de string para trabalhar com strings que retornem strings. No caso, me refiro a substr(), porém como você precisaria de strpos() como apoio, por chamar duas funções, perde um tiquinho de dana de performance.
  4. Bruno Augusto

    Piadas!

    Aqui na cidade tem uma loja de um cara educado assim. :lol:
  5. Bruno Augusto

    Piadas!

    Vish... Tomou
  6. Bruno Augusto

    Sistema de permissões

    Primeiro separe os elementos: Grupos, Usuários e Permissões. São três tabelas diferentes. Na tabela de Grupos você tem apenas o ID Primário e o nome do Grupo. Na tabela de Usuários, você tem dentre tudo aquilo que vai precisar, uma coluna para relacionar com a tabela Grupos. Na tabela Permissões você tem além do ID Primário, uma coluna para se relacionar com o ID do Grupo e uma para cada ação que os membros daquele Grupo poderá realizar. Esses valores serão simples, como zeros e uns. Segundo, na tela de criação/edição de um Grupo você mostra um checkbox para cada coluna de ação (a do ID primário e estrangeiro não contam). Por padrão mostre tudo marcado, mas se estiver atualizando um grupo existente condicione o atributo checked com o valor armazenado. Terceiro, no acesso antes de executar cada ação você busca o valor da coluna referente a ação condicionando a coluna que referencia o Grupo das Permissões com o ID do Grupo ao qual o usuário pertence. Essa informação normalmente vêm junto com os dados de sessão, durante a autenticação. Para facilitar, crie formas rápidas de executar essas verificações. Se estiver trabalhando com Orientação a Objetos fica ainda melhor.
  7. Bruno Augusto

    Boteco iMasters

    Eu não citei essa porque é boa ou ruim, afinal nem beber eu bebo. O fiz porque é uma das mais caras que conheço. E, na bem da verdade, nem rico gosta, só bebe de poser, porque pode pagar.
  8. Bruno Augusto

    Boteco iMasters

    Pessoal aqui da alta roda, só no Whisky 12 anos
  9. Bruno Augusto

    Boteco iMasters

    Eu disse que eu faço tudo isso, não que eu ganho por tudo isso. :cry:
  10. Bruno Augusto

    Boteco iMasters

    Eu, digitador, sou na verdade telefonista, recepcionista, secretário, digitador, escrevente cartorário, contador, técnico em informática, instrutor de informatica e Jó, porque as vezes tem que ter um saco daquele tamanho pra aguentar esse bando de povo chato.
  11. Bruno Augusto

    Boteco iMasters

    Difícil decidir qual é o castigo pior...
  12. Bruno Augusto

    Boteco iMasters

    Larga de ser estúpido Cristiano. 1. Ninguém te chamou no tópico 2. Ninguém pediu sua opinião se o texto é grande ou curto 3. Se você não sabe o que é um Gerador de Lero-Lero, volta pra casa.
  13. Bruno Augusto

    Jogo dos Números

    Pra variar um pouco o padrão monótono de trens ou brinquedos (ou Mário e Mota :P), vamos ver o 9532...
  14. Bruno Augusto

    Piadas!

    Vish... :lol:
  15. Bruno Augusto

    Abreviar nomes do meio (sobrenome)

    Já que desde o começo você está se baseando num array de componentes, dá pra melhorar isso aí: - Verifica se o número de componentes é maior que dois, como já fez e, se for, remove e armazena numa variável o primeiro e o último elementos, com array_shift() e array_pop(), respectivamente. - Do array resultante você filtra, com array_filter(), removendo todas as entradas que sejam conectivos. Como a filtragem não afeta a string da iteração interna, você pode descapitalizar o valor com strtolower() e encurtar seu array de conectivos, poupando memória. - Como array_filter() pode vir a deixar o array vazio para nomes de 3 componentes onde um deles é um conectivo, você conta de novo e se ainda for maior que zero, com um preg_replace_callback() você substitui toda a palavra pela sua inicial e um ponto literal. - Depois une com implode() o resultado anterior e precedendo-o aquilo que array_shift() retornou e sucedendo-o com a última palavra, vinda de array_pop(). Essa é a forma mais longa pois você pode fazer tudo isso dentro de preg_replace_callback() de uma só vez.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.