Pular para o conteúdo principal

Postagens

Mostrando postagens de 2010

Trocar símbolos por smiles

Criei uma função que utiliza a função str_replace para trocar os símbolos por smiles nos bate-papos. Usei como base os ícones e símbolos do skype. Para baixar acesse: http://www.megaupload.com/?d=8ZWE4FEG

CSS de botão estilo facebook

Para quem gosta do botão no estilo do facebook, aí vai o CSS. CSS: input[type=button], input[type=submit]{     font-family:"Lucida Grande", Tahoma, Verdana, Arial, sans-serif;     font-size:11px;     font-weight:bold;     text-align:center;     white-space:nowrap;     word-spacing:0px;     background-color:#00000000;     background-position:0px 0px;     color:#333333;     height:22px;     padding:1px 7px 2px 7px;     display:inline-block;     cursor:pointer;     background-image:url(../../images/fundo_botao.png);     border-top:1px solid #999999;     border-right:1px solid #999999;     border-bottom:1px solid #888888;     border-left:1px solid #999999;     vertical-align:middle; } Imagem de fundo: Formato que vai ficar:

Auditoria em banco de dados usando triggers.

Um problema seríssimo acontece quanto uma pessoa exclui algo do banco e depois vem alguém querendo que o dado seja restabelecido ou saber quando isso aconteceu. Um jeito de resolver este problema é usando triggers ou gatilho de banco de dados. Os passos para usar são os seguintes: a) Cria-se uma tabela com os mesmos campos da tabela que se deseja controlar, mas sem chave primária. Exemplo: se a tabela é cliente, pode-se criar outra com nome cliente_auditoria b) Adiciona-se na tabela de auditoria um campo chamado dt_exclusao do tipo DATETIME; c) Executa a SQL abaixo no banco: DROP TRIGGER IF EXISTS trg_cliente_exclusao; CREATE TRIGGER trg_cliente_exclusao AFTER DELETE ON cliente FOR EACH ROW BEGIN     INSERT INTO cliente_alditoria (dt_exclusao, id_cliente, cliente)         VALUES (SYSDATE(), old.id_cliente, old.cliente);   END; d) Pronto...toda vez que alguém excluir alguém da tabela, automaticamente os dados serão transferidos para a segunda e será gravado

Tempo de processamento

Função baseada no CodeIgniter que calcula o tempo de processamento...muito bom para ver se os códigos estão funcionando legal ou se estão muito lentos... class TempoProcessamento { var $marcas = array(); function marca($name){ $this->marcas[$name] = microtime(); } function tempo_decorrido($ponto1 = '', $ponto2 = '', $decimals = 4) { if ($ponto1 == ''){ return '{tempo_vazio}'; } if ( ! isset($this->marcas[$ponto1])){ return ''; } if ( ! isset($this->marcas[$ponto2])){ $this->marcas[$ponto2] = microtime(); } list($sm, $ss) = explode(' ', $this->marcas[$ponto1]); list($em, $es) = explode(' ', $this->marcas[$ponto2]); return number_format(($em + $es) - ($sm + $ss), $decimals); } } $tempo = new TempoProcessamento; $tempo->marca("inicio"); $tempo->marca("final"); echo $tempo->tempo_decorrido("inicio","final")." ";

Função que deixa apenas os números e as letras sem acentos, mas permite exceções

A função abaixo funciona assim: $permitido[]='à'; echo paranoid("asdfqwerf654à_asdf-çàéô",$permitido); //asdfqwerf654àasdfà function paranoid($string, $allowed = array()) { $allow = null; if (!empty($allowed)) { foreach ($allowed as $value) { $allow .= "\\$value"; } } if (is_array($string)) { $cleaned = array(); foreach ($string as $key => $clean) { $cleaned[$key] = preg_replace("/[^{$allow}a-zA-Z0-9]/", '', $clean); } } else { $cleaned = preg_replace("/[^{$allow}a-zA-Z0-9]/", '', $string); } return $cleaned; }