iDeas

novidades, artigos e tudo mais!

Siga-me no Twitter!RSS Feeds

  • Início
  • Site Pessoal
  • Sobre
  • Contato
app store

Review de dois app financeiros para iPod Touch/iPhone

07/03/10

Escrito por Gabriela em App Store

Nenhum comentário

Testei essa semana dois Aplicativos para gerenciamento financeiro pessoal: Bills ~ On your table e o iBearMoney Free 4.0. O primeiro sendo pago US$ 1.99 e o segundo sendo Free, porém, a versão paga, que custa US$ 3.99 não difere muito da Free.
Mais >

VN:F [1.9.3_1094]
aguarde...
Rating: 0.0/5 (0 votes cast)
App Store, Apple, bills, ibearmoney, iphone, ipod touch, money

Classe PHP para integridade de dados.

18/02/10

Escrito por Gabriela em Web

Nenhum comentário

Esse código é meio temporário, em breve eu coloco ele numa classe e disponibilizo para vocês:

Vocês podem usar este código a vontade nos trabalhos de vocês.

Vejam abaixo:

<?php

//Troca aspas simples por entities
function _no_single_quotes($str) {
	return str_replace("'","&#39;",$str);
}

//Retira as barras inversas
function _no_slashes($str) {
	return str_replace("\\","",$str);
}

//Deixa a string somente com números
function _just_numbers($str) {
	return ereg_replace("[^0-9]","",$str);
}

//Retira: espaços no início e fim, barras inversas
//Troca por entities: ampersand (&), aspas dupla ("), aspas simples ('), menor que (<), maior que (>)
function fix_string($str) {
	return trim(_no_slashes(htmlspecialchars($str,ENT_QUOTES)));
}

//Trata uma string para ser usada em URLs ou nomes de arquivos
function fix_to_url($str) {
	$str_lower = strtolower(trim($str)); //remove espaços do início e fim e deixa tudo em minúsculo
	$strtr = strtr($str_lower, 'ÀÁÃÂÉÊÍÓÕÔÚÜÇÑàáãâéêíóõôúüçñ ','aaaaeeiooouucnaaaaeeiooouucn-'); //traduz alguns caracteres
	$str_replace = ereg_replace('[^0-9a-z-]','',$strtr); //deixa a string apenas com alfa numéricos e com os traçõs (-)
	return ereg_replace('-{1,}', '-', $str_replace); //retorna a string formatada para uma URL (aplica um novo replace para tirar os traços que ficaram em sequência (---) )
}

//Inversão entre os formatos dd/mm/yyyy e yyyy-mm-dd
function fix_date($date) {
	$x = split("[^0-9]",$date);
	$sep = (strlen($x[0]) <= 2)?"-":"/";
	return $x[2].$sep.$x[1].$sep.$x[0];
}

//Formata um datetime para o padrão português Brasil
function fix_datetime($datetime) {
	$x = explode(" ",$datetime);
	return fix_date($x[0])." ".$x[1];
}

//Formatar o número de telefone/fax
function fix_phone($number) {
	$x = _just_numbers($number);
	if (strlen($x) >= 10) {
		$final = substr($x,-4);
		$pre = substr($x,-8,4);
		$ddd = substr($x,-10,2);
		return "($ddd) $pre-$final";
	} else {
		return $number;
	}
}

//Formata o número do CPF
function fix_cpf($cpf) {
	$cpf = _just_numbers($cpf);
	return substr($cpf,0,3).".".substr($cpf,3,3).".".substr($cpf,6,3)."-".substr($cpf,9,2);
}

//Formata o número do CNPJ
function fix_cnpj($cnpj) {
	$cnpj = _just_numbers($cnpj);
	return substr($cnpj,0,2).".".substr($cnpj,2,3).".".substr($cnpj,5,3)."/".substr($cnpj,8,4)."-".substr($cnpj,12,2);
}

//Formata o CEP
function fix_cep($cep) {
	$cep = _just_numbers($cep);
	return substr($cep,0,5)."-".substr($cep,5,3);
}

//Retira atributos e tags (Útil para limpar o conteúdo submetido através de um textarea com o editor TinyMce)
//Utilize o parâmetro $tags para informar quais tags são aceitas e o parâmetro $attributes para informar quais atributos *não* são aceitos
function fix_html_text($text, $tags = array("b","strong","i","em","strike","ul","ol","li","blockquote","q","cite","a","img","object","param","embed","sub","sup","table","th","tr","td","caption","h1","h2","h3","h4","h5","h6","p","pre","address","br","hr"), $attributes = array("style")) {

	$text = stripslashes($text); //Remove aspas de addslashes (o valor sempre será recebido com aspas, em /config/globals_cfg.php todos os $_POST são configurados para receber addslashes)

	//Atributos não permitidos
	foreach ($attributes as $attribute) {
		preg_match_all("|$attribute=\"(.*)\"|U",$text,$out_not_allowed, PREG_PATTERN_ORDER);
		foreach ($out_not_allowed[0] as $attribute_not_allowed) {
	  $attributes_not_allowed[] = $attribute_not_allowed;
		}
	}

	//Array com todas as tags permitidas
	foreach ($tags as $tag) {
		$allowed_tags[] = "<$tag>";
	}

	$replace = str_replace($attributes_not_allowed,null,$text); //substitui por null todos os atributos não desejados
	$replace2 = eregi_replace(" {1,}>",">",$replace); //retira algumas sobras, ex. <strong   > para <strong>
	$replace3 = eregi_replace(" {1,}"," ",$replace2); //substitui sequências de espaços por um espaço, ex. <img    src="foto.jpg" /> para <img src="foto.jpg" />
	$replace4 = eregi_replace("<[A-Za-z]{1,}>(&nbsp;| )?</[A-Za-z]{1,}>","",$replace3); //exclui tags vazias, ex. <p></p>, <div> </div>
	$fixhtml = $replace4;

	if($encoding == 'iso-8859-1'){
		return _no_single_quotes(html_entity_decode(strip_tags($fixhtml,implode($allowed_tags))));
	} else {
		return _no_single_quotes(strip_tags($fixhtml,implode($allowed_tags)));
	}
}

//Limita a quantidade de palavras de uma string
function word_limit($str, $limit = 100) {
	$words = explode(" ",$str);
	if (count($words) > $limit) {
		for ($i = 0; $i <= $limit-1; $i++) {
			$w[] = $words[$i];
		}
		return implode(" ",$w)."...";
	} else {
		return $str;
	}
}

//Quebra uma string em linhas usando um caracter de quebra de linha
function word_wrap($str, $width = 75, $break = "<br />") {
	return wordwrap($str,$width,$break,1);
}

//Checa se é um email válido
function is_email($email) {
	return (preg_match("/^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/",$email))?true:false;
}

//Checa se é uma data válida
//Utilize o parâmetro $format para informar o formato da data a ser validada
function is_date($date, $format = "dd/mm/yyyy") {
	$w = split("[^a-zA-Z0-9]",$format);
	$x = split("[^0-9]",$date);
	$z = (count($w) === count($x))?array_combine($w, $x):false;
	return ($z and checkdate($z['mm'],$z['dd'],$z['yyyy']))?true:false;
}

//Checa se pode ser um telefone
function is_phone($number) {
	return (strlen(_just_numbers($number)) >= 10)?true:false;
}

function is_cpf($cpf) {
	/**
	 * Função para validar CPF (Cadastro de Pessoas Físicas)
	 *
	 * @author    Paulo Ricardo F. Santos <v1d4l0k4.at.gmail.dot.com>
	 * @copyright Copyright &copy; 2006, Paulo Ricardo F. Santos
	 * @license   http://creativecommons.org/licenses/by-nc-sa/2.0/br Commons Creative
	 * @version   20070316
	 * @param     string $cpf CPF que deseja validar
	 * @return    bool true caso seje válido, false caso não seje válido
	 */
	$cpf = str_pad(ereg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT);

	if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '99999999999') {
		return false;
	} else {
		for ($t = 9; $t < 11; $t++) {
			for ($d = 0, $c = 0; $c < $t; $c++) {
				$d += $cpf{$c} * (($t + 1) - $c);
			}

			$d = ((10 * $d) % 11) % 10;

			if ($cpf{$c} != $d) {
				return false;
			}
		}

		return true;
	}
}

function is_cnpj($cnpj) {
	/**
	 * Função para validar CNPJ (Cadastro Nacional da Pessoa Jurídica)
	 *
	 * @author    Paulo Ricardo F. Santos <v1d4l0k4.at.gmail.dot.com>
	 * @copyright Copyright &copy; 2006, Paulo Ricardo F. Santos
	 * @license   http://creativecommons.org/licenses/by-nc-sa/2.0/br Commons Creative
	 * @version   20070316
	 * @param     string $cnpj CNPJ que deseja validar
	 * @return    bool true caso seje válido, false caso não seje válido
	 */
	$cnpj = str_pad(ereg_replace('[^0-9]', '', $cnpj), 14, '0', STR_PAD_LEFT);

	if (strlen($cnpj) != 14) {
		return false;
	} else {
		for ($t = 12; $t < 14; $t++) {
			for ($d = 0, $p = $t - 7, $c = 0; $c < $t; $c++) {
				$d += $cnpj{$c} * $p;
				$p   = ($p < 3) ? 9 : --$p;
			}

			$d = ((10 * $d) % 11) % 10;

			if ($cnpj{$c} != $d) {
				return false;
			}
		}

		return true;
	}
}

//Verfica se a string pode ser um CEP (número com 8 dígitos)
function is_cep($cep) {
	return (strlen(_just_numbers($cep)) == 8)?true:false;
}

//Verifica se a string pode ser uma imagem (baseado na extensão), não é verificado se o arquivo é realmente uma imagem
function is_img($str, $img_exts = array("JPG","JPEG","jpg","jpeg","GIF","gif","PNG","png")) {
	$ext = _extension($str);
	return (in_array($ext,$img_exts))?true:false;
}

?>
VN:F [1.9.3_1094]
aguarde...
Rating: 0.0/5 (0 votes cast)
php
Logo FNAC

Propaganda Enganosa da FNAC

12/02/10

Escrito por Gabriela em Realidade

1 comentário

Fiquei totalmente surpreendida com a FNAC, sinceramente propaganda enganosa não era uma das coisas ao qual eu esperava deles. O Código de Defesa do Consumidor é claro: se você ofertou você tem que ser capaz de cumprir a oferta.

Mais >

VN:F [1.9.3_1094]
aguarde...
Rating: 0.0/5 (0 votes cast)
fnac, procon, propaganda enganosa
Google Apps

Themes e Labs no Google Apps

31/03/09

Escrito por Gabriela em Gmail

4 comentários

Google AppsO Google Apps implementou hoje o recurso de temas para o Gmail para a sua versão corporativa. Os temas presentes são os mesmos contidos na versão do Gmail atual sem qualquer alteração.

Pra quem gosta de dar uma customizada no Gmail e enjoou daquele verde horroroso das labels, isso é muito bem. Pois aquele verde realmente era irritante.

Percebi também que o Gmail Labs também está ativo, mas não sei dizer ao certo se já estava ativo ou não, pois percebi apenas hoje.

UPDATE: Descobri hoje que o Google inaugurou a versão do labs para o Apps hoje.

VN:F [1.9.3_1094]
aguarde...
Rating: 5.0/5 (1 vote cast)
Gmail, Google, google apps, labs, temas
Apple

Acentuação no Leopard

07/03/09

Escrito por Gabriela em Apple

2 comentários

U.S International

Um dos grandes problemas para quem vem para a plataforma Mac é se acostumar com a acentuação. Nativamente, para se acentuar “paixão”, por exemplo, seria Command + N + a = ã. O que fica complexo quando se digita em português. Pensando nisso, o Rainer Brockerhoff fez uma adaptação do “Windowns – U.S. International Keyboard” para o Mac. O arquivo pode ser baixado aqui.

Para instalá-lo, abra o .dmg e arraste o aruqivo U.S. International para a pasta:

/Library/Keyboard Layouts

Após, vá ao System Preferences e em International>Input Menu marque o U.S. International:

System Preferences > Input Menu

Essa versão é a 1.2, as versões anteriores tem maior compatibilidade com o Tiger, enquanto que a mais nova é mais compatível com o Leopard. Esse layout funciona perfeitamente também com o Hackintosh do Leopard.

VN:F [1.9.3_1094]
aguarde...
Rating: 0.0/5 (0 votes cast)
acentos no mac, acentuacao, Apple, layout, leopard, portugues, teclado, tiger
«123»
    • Comentários recentes
    • Artigos populares
    • Arquivos
    • Marcadores
    • Categorias
    • Ajax (1)
    • Apple (4)
      • App Store (1)
    • Gadgets (1)
    • Gmail (2)
    • Google (3)
      • Internet (2)
    • Mozilla (1)
    • php (1)
    • Realidade (1)
    • redmine (1)
    • Resenha (1)
    • Sem categoria (1)
    • Tutorial (1)
    • Web (4)
    acentos no mac acentuacao Adobe Ajax Apple App Store bespin bills combo css editor enderecos email filtros fnac framework game center gem Gmail Google google apps hackintosh hmbt html iad iATKOS ibearmoney ibm iphone iphone killer iphone os 4 ipod touch javascript julgamento labs layout leopard microsoft money Mozilla multi-tarefa multiplos enderecos multitasking mysql n97 redmine
    • junho 2010 (2)
    • maio 2010 (1)
    • abril 2010 (2)
    • março 2010 (1)
    • fevereiro 2010 (2)
    • março 2009 (2)
    • fevereiro 2009 (4)
    • setembro 2008 (1)
    • Instalando o Redmine no Windows (46)
    • "Combo carrega combo" usando o Spry (7)
    • Hackintosh (5)
    • Themes e Labs no Google Apps (4)
    • Pirataria versus Lucro (2)
    • Acentuação no Leopard (2)
    • A verdade do Nokia N97 (2)
    • Crie filtros no GMail com múltiplos endereços de email (2)
    • Propaganda Enganosa da FNAC (1)
    • Gerenciando Projetos com o ActiveCollab (1)
    • JOAO PAULO: Estou com o mesmo problema da Daniela. Será que é porque as versoes dos programas usados nesse t...
    • Daniela: Olá! Estou recebendo um erro durante umadas etapas e não sei como solucioná-lo: ao digitar no pr...
    • Gerenciando Projetos com o ActiveCollab | iDeias Tech: [...] dos artigos que o pessoal mais acessa aqui é de como instalar o Redmine no Windows (nota ...
    • Gerenciando projetos com o active collab | iDeias Tech: [...] dos artigos que o pessoal mais acessa aqui é de como instalar o Redmine no Windows (nota ...
    • Marco Antonio Bidoia: Instalar o repositorio do git.
    • Marco Antonio Bidoia: Instalar orepositorio do git
    • Gabriela: O que vc quer fazer exatamente com o apache?
    • Marco Antonio Bidoia: Por favor, Como configurar o apache no Windows. Obrigado... Obs. Só falta isso o resto eu já usei a...
  • Who's Online

    • 0 Members.
    • 5 Guests.
  • Meus tweets recentes

    Carregando tweets...
    Siga-me no Twitter!
  • Categorias

    • Ajax
    • App Store
    • Apple
    • Gadgets
    • Gmail
    • Google
    • Internet
    • Mozilla
    • php
    • Realidade
    • redmine
    • Resenha
    • Sem categoria
    • Tutorial
    • Web
  • Texto

  • Meta

    • Login
    • Posts RSS
    • RSS dos comentários
    • WordPress.org
    • Lista de Links

      • Blog Sr. Web
      • Dreamhost
      • Site do Flávio Torelli
      • Sr. Web
    • Tags

      acentos no mac acentuacao Adobe Ajax Apple App Store bespin bills combo css editor enderecos email filtros fnac framework game center gem Gmail Google google apps hackintosh hmbt html iad iATKOS ibearmoney ibm iphone iphone killer iphone os 4 ipod touch javascript julgamento labs layout leopard microsoft money Mozilla multi-tarefa multiplos enderecos multitasking mysql n97 redmine
    • Arquivos

      • junho 2010
      • maio 2010
      • abril 2010
      • março 2010
      • fevereiro 2010
      • março 2009
      • fevereiro 2009
      • setembro 2008
Tema Mystique por digitalnature | Movido a WordPress
RSS Feeds XHTML 1.1 Topo