<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Internet Affiliate Marketing &#187; Tutoriais</title>
	<atom:link href="http://blue.muiomuio.net/category/tutoriais/feed/" rel="self" type="application/rss+xml" />
	<link>http://blue.muiomuio.net</link>
	<description>Find great deals online</description>
	<lastBuildDate>Tue, 24 Jan 2012 12:43:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Farmville Cheats, Codes and Hacks</title>
		<link>http://blue.muiomuio.net/farmville-cheats-codes-and-hacks/</link>
		<comments>http://blue.muiomuio.net/farmville-cheats-codes-and-hacks/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 08:45:16 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[farmville]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=915</guid>
		<description><![CDATA[Farmville is a very addicting Facebook App Game that allows you to create and raise your farm. By playing you get Farm Coins, animals, trees, vehicles, just about anything you can image on a farm. There are a few hacks available and if you are lucky you can find some bots to help you out, [...]]]></description>
			<content:encoded><![CDATA[<p>Farmville is a very addicting Facebook App Game that allows you to create and raise your farm. By playing you get Farm Coins, animals, trees, vehicles, just about anything you can image on a farm.</p>
<p>There are a few hacks available and if you are lucky you can find some bots to help you out, maybe build one and make a profit for yourself.<br />
Farmville is owned by a company called Zynga and they are aware of the current hacks and bots out there and are working to find a way to stop them. So if any cheat or hack doesn&#8217;t work, maybe it was fixed by Zynga.</p>
<p>Here are some tips for becoming a succsessful farmer on Farmville  <img src='http://blue.muiomuio.net/wp-includes/images/smilies/icon_cool.gif' alt=':cool:' class='wp-smiley' />  </p>
<h2>FarmVille &#8211; Harvest, Plow, Plant IN LESS THAN 3 MINUTES!</h2>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/MhylOrPbQtw&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/MhylOrPbQtw&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<h2>Farmville Money And Experience Hack</h2>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/TOTl8SprDEQ&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TOTl8SprDEQ&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<h2>Farmville greatest money cheat</h2>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/mBE6ktxZsYU&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/mBE6ktxZsYU&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<h2>Farmville hack using cheat engine HQ</h2>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/KPI5W5WbDhc&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/KPI5W5WbDhc&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Happy Farming  <img src='http://blue.muiomuio.net/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/farmville-cheats-codes-and-hacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP tutorial: Criar uma Tag Cloud</title>
		<link>http://blue.muiomuio.net/php-tutorial-criar-uma-tag-cloud/</link>
		<comments>http://blue.muiomuio.net/php-tutorial-criar-uma-tag-cloud/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 20:21:17 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=805</guid>
		<description><![CDATA[Uma das formas de navegação introduzidas com o surgimento da Web 2.0 foi a navegação através de Tags. Uma tag é nada mais nada menos que uma keyword que define algo. Se escrevo num site de informática sobre um processador, esse artigo pode ser marcado com uma keyword processadores, desta forma a pesquisa por artigos [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das formas de navegação introduzidas com o surgimento da Web 2.0 foi a navegação através de Tags.<br />
Uma tag é nada mais nada menos que uma keyword que define algo. Se escrevo num site de informática sobre um processador, esse artigo pode ser marcado com uma keyword processadores, desta forma a pesquisa por artigos relacionados com processadores é simplificada.</p>
<p>Criar uma tag cloud não é um processo complexo. Básicamente precisas de ter uma fonte onde vais buscar as tags, normalmente é um vector onde são definidas e depois armazenadas em base de dados e a partir daí trabalhas o código. Vamos então começar.</p>
<p><code>< ?php<br />
// cria a ligação á base de dados<br />
$query = "SELECT coluna_da_bd AS tag, COUNT(id) AS quantity<br />
FROM tabela<br />
GROUP BY coluna_da_bd<br />
ORDER BY coluna_da_bd ASC";<br />
$result = mysql_query($query);<br />
</code></p>
<p>No código em cima vamos seleccionar qual é a coluna da base de dados que vamos usar para definir as tags.</p>
<p><code>while ($row = mysql_fetch_array($result)) {<br />
    $tags[$row['tag']] = $row['quantity'];<br />
}<br />
</code></p>
<p>$tags[$row['tag']] &#8211; vector $tag recebe as keywords da base de dados.<br />
$row['quantity'] &#8211; devolve a quantidade de vezes que a keyword existe.</p>
<p>Exemplo</p>
<p>$tag[processadores] = 2; &#8211; A palavra processadores existe 2x na pesquisa efectuada.<br />
A quantidade de vezes que a palavra existe é útil para definir o tamanho da tag.</p>
<p><code><br />
$max_size = 300;<br />
$min_size = 100;<br />
</code></p>
<p>Aqui defines o tamanho mínimo e máximo das fontes. Para que funcione bem com qualquer estilo definido no CSS prefiro interpretar os valores em percentagem (%) em vez de pixels ou qualquer outra medida.</p>
<p><code>$max_qty = max(array_values($tags));<br />
$min_qty = min(array_values($tags));<br />
</code></p>
<p>Agora é preciso definir quais as keywords com os valores máximos e mínimos do vector $tags e saber qual é o alcance desses valores de forma a podermos calcular o tamanho da fonte.</p>
<p><code>$spread = $max_qty - $min_qty;<br />
if (0 == $spread) {<br />
    $spread = 1;<br />
}</code></p>
<p>Uma vez feito isso vamos agora determinar o tamanho da fonte. </p>
<p><code>$step = ($max_size - $min_size)/($spread);<br />
foreach ($tags as $key => $value) {<br />
    // Vamos encontrar o $value superior a $min_qty<br />
    // multiplicamos esse valor pelo tamanho da fonte ($size)<br />
    // E adicionamos o $min_size definido anteriormente<br />
    $size = $min_size + (($value - $min_qty) * $step);<br />
    // Colocamos o valor em forma de poder ser calculado em percentagem (%)<br />
    $size = ceil($size);</code></p>
<p><code>    // Adicionar link ás tags<br />
    echo '&lt;a href="#" style="font-size: '.$size.'%"';<br />
    // ajustar o tooltip gerado pelo atributo title do link<br />
    echo ' title="'.$value.' ( '.$key.' )"';<br />
    echo '>'.$key.' ';<br />
}<br />
?><br />
</code></p>
<p>E pronto se tudo correu bem deverás ter uma tag cloud. Para limitar os resultados mostrados na tagcloud basta definires o limite quando fazes a consulta á base de dados:</p>
<p><code>$query = "SELECT coluna_da_bd AS tag, COUNT(id) AS quantity LIMIT 25</code><br />
Desta forma a tua tagcloud mostra 25 tags.</p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/php-tutorial-criar-uma-tag-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mootools scripts para formulários</title>
		<link>http://blue.muiomuio.net/mootools-scripts-para-formularios/</link>
		<comments>http://blue.muiomuio.net/mootools-scripts-para-formularios/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 18:32:47 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=797</guid>
		<description><![CDATA[Mootools é uma framework em Javascript bastente leve e bastante útil. Pode simplificar trabalho, melhorar apresentação, e até mesmo melhorar a performance da user-experience num site. Aqui ficam 10 Mootools Scripts que fazem exactamente isso: Formulários Ajax Web 2.0 Style Download: Web 2.0 Forms Demo: http://www.stoutlabs.com/demos/formMagic_1.htm Aumentar caixas de texto Source: http://ejectmedia.net/examples/moo_textareas/ Formulários de Login [...]]]></description>
			<content:encoded><![CDATA[<p>Mootools é uma framework em Javascript bastente leve e bastante útil. Pode simplificar trabalho, melhorar apresentação, e até mesmo melhorar a performance da user-experience num site.<br />
Aqui ficam 10 Mootools Scripts que fazem exactamente isso:</p>
<h2>Formulários Ajax Web 2.0 Style</h2>
<p><strong>Download: <a href="http://www.stoutlabs.com/site/post/jazz_up_your_forms_with_mootools_pt_1">Web 2.0 Forms</a></strong></p>
<p><strong>Demo: <a href="http://www.stoutlabs.com/demos/formMagic_1.htm"> http://www.stoutlabs.com/demos/formMagic_1.htm</a></strong></p>
<h2 style="margin-top: 60px;">Aumentar caixas de texto</h2>
<p><strong>Source: <a href="http://ejectmedia.net/examples/moo_textareas/">http://ejectmedia.net/examples/moo_textareas/</a></strong></p>
<h2 style="margin-top: 60px;">Formulários de Login</h2>
<p><strong>Download: <a href=""> http://joeabiraad.com/ajax/ajax-login-form-php-javascript/89</a></strong><br />
<strong>Demo: <a href="http://joeabiraad.com/demos/ajax2/"> http://joeabiraad.com/demos/ajax2/</a></strong></p>
<h2>Calendários</h2>
<p><strong>Source: <a href="">http://www.electricprism.com/aeron/calendar/</a></strong></p>
<h2>Validação de formulários</h2>
<p><strong>Source: <a href="http://www.phatfusion.net/validate/">http://www.phatfusion.net/validate/</a></strong></p>
<h2>Personalização de elementos de formulários</h2>
<p><strong>Source: <a href="http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/">http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/</a></strong></p>
<h2>Selecção múltipla</h2>
<p><strong>Source: <a href="http://www.wollzelle.com/os/multiple-select-widget/">http://www.wollzelle.com/os/multiple-select-widget/</a></strong></p>
<h2>iMask</h2>
<p><strong>Source: <a href="http://zendold.lojcomm.com.br/imask/">http://zendold.lojcomm.com.br/imask/</a></strong></p>
<h2>Auto Completion</h2>
<p><strong>Source: <a href="http://devthought.com/textboxlist-meets-autocompletion/">http://devthought.com/textboxlist-meets-autocompletion/</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/mootools-scripts-para-formularios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial PHP: Techorati Inbound Links</title>
		<link>http://blue.muiomuio.net/tutorial-php-techorati-inbound-links/</link>
		<comments>http://blue.muiomuio.net/tutorial-php-techorati-inbound-links/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 10:50:56 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[technorati]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=770</guid>
		<description><![CDATA[O Technorati Ã© um dos mais conhecidos agregadores de conteÃºdos de blogs em toda a web que pussui uma API. No tutorial de hoje vou mostrar com Ã© fÃ¡cil usar a API do Technorati para mostrar o nÃºmero de reacÃ§Ãµes (links) Ã¡ tua pÃ¡gina. Para poderes usar a API do Technorati precisas da API key. [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www.technorati.com">Technorati</a> Ã© um dos mais conhecidos agregadores de conteÃºdos de blogs em toda a web que pussui uma API.</p>
<p>No tutorial de hoje vou mostrar com Ã© fÃ¡cil usar a <a href="http://technorati.com/developers/api/">API do Technorati</a> para mostrar o nÃºmero de reacÃ§Ãµes (links) Ã¡ tua pÃ¡gina.</p>
<p>Para poderes usar a API do Technorati precisas da <a href="http://technorati.com/developers/apikey.html">API key</a>. Para isso tens de te registar no Technorati depois procura pela documentaÃ§Ã£o da API e lÃ¡ poderÃ¡s obter a tua API Key.</p>
<p>Uma vez que jÃ¡ tens a tua API key cria uma constante usando a funÃ§Ã£o define() que te permitirÃ¡ passar a variÃ¡vel para outras funÃ§Ãµes sem teres de a declarar global ou escrever a API Key vezes sem conta.</p>
<p>Para definires a tua constante basta adicionares esta linha onde XXXXXXXX Ã© obviamente a tua API Key:</p>
<pre lang="php">< ?php define('TECHNORATI_KEY','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); ?></pre>
<p>No exemplo que se segue o cÃ³digo apresentado serÃ¡ para mostrar as recÃ§Ãµes para a pÃ¡gina em questÃ£o. </p>
<pre lang="php" line="1">
< ?php
    function get_technorati_reactions($page=NULL){
        $page = empty($page) ? 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] : $page;

        $apicall = 'http://api.technorati.com/cosmos';
        $apicall .= '?key='.TECHNORATI_KEY;
        $apicall .= '&#038;url='.urlencode($page);
        $apicall .= '&#038;format=xml';
        $result = simplexml_load_file($apicall);

        return intval($result->document->result->inboundlinks);
    }
?>
</pre>
<p>O script faz isto de forma automÃ¡tica, caso queiras restar terÃ¡s de alterar</p>
<pre lang="php">$page =
empty($page) ? 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] : $page;</pre>
<p>para</p>
<pre lang="php">
empty($page) ? 'http://blue.muiomuio.net' : $page;</pre>
<p>Neste caso usei o endereÃ§o do meu blog, podes usar o endereÃ§o que quiseres.</p>
<p>O script em cima sÃ£o as funÃ§Ãµes para obter os resultados, falta agora mostra-los na pÃ¡gina:</p>
<pre lang="php" line="1">
< ?php
    #Para a pÃ¡gina que estÃ¡ a ser vista
    echo 'Reac&ccedil;&otilde;es:  ', get_technorati_reactions();

    #Usando a funÃ§Ã£o para outra pÃ¡gina que nÃ£o a que estÃ¡ a ser visualizada
    $count = get_technorati_reactions('http://muiomuio.net');
    echo 'Muiomuio.net tem', $count ,' Reac&ccedil;&otilde;es';
?>
</pre>
<p>Este script vai buscar o nÃºmero de reacÃ§Ãµes (links) no <a href="http://technorati.com">technorati</a> que pode ser usado como medidor de popularidade. </p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/tutorial-php-techorati-inbound-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial PHP: Leitores RSS do Feedburner</title>
		<link>http://blue.muiomuio.net/tutorial-php-leitores-rss-do-feedburner/</link>
		<comments>http://blue.muiomuio.net/tutorial-php-leitores-rss-do-feedburner/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 13:27:11 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[feed count]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=765</guid>
		<description><![CDATA[Este tutorial vai ensinar como mostrar os leitores RSS do feedburner em texto. O script usa a API do Feedburner. Podes ver um exemplo na Smashing Magazine na sidebar no topo direito onde usaram o script para criar um botÃ£o personalizado com o nÃºmero de leitores RSS. < ?php //a linha que se segue vai [...]]]></description>
			<content:encoded><![CDATA[<p>Este tutorial vai ensinar como mostrar os leitores RSS do feedburner em texto. O script usa a API do Feedburner.</p>
<p>Podes ver um exemplo na <a href="http://www.smashingmagazine.com/">Smashing Magazine</a> na sidebar no topo direito onde usaram o script para criar um botÃ£o personalizado com o nÃºmero de leitores RSS.</p>
<pre lang="php" line="1">
< ?php
//a linha que se segue vai buscar o numero de leitores a tua feed (feed count)
$whaturl="http://api.feedburner.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/bluemuiomuio";

//inicializa o a sessÃ£o do Curl
$ch = curl_init();

//devolve o valor em vez de imprimir no browser
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//especifica o URL
curl_setopt($ch, CURLOPT_URL, $whaturl);

//executa um fetch para ir buscar o valor dos leitores feed
$data = curl_exec($ch);
//Fecha a sessÃ£o do cUrl
curl_close($ch);

$xml = new SimpleXMLElement($data);
$fb = $xml->feed->entry['circulation'];

//finito
?>
</pre>
<p>Agora para colocares o nÃºmero de leitores na pÃ¡gina basta fazeres um simples echo da variÃ¡vel $fb:</p>
<pre lang="php">< ?php echo $fb;?></pre>
<p>Ã‰ importante relembrar que Ã© necessÃ¡rio alterar o endereÃ§o da tua feed na variÃ¡vel $whaturl <img src='http://blue.muiomuio.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/tutorial-php-leitores-rss-do-feedburner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial PHP: Alexa Rank</title>
		<link>http://blue.muiomuio.net/tutorial-php-alexa-rank/</link>
		<comments>http://blue.muiomuio.net/tutorial-php-alexa-rank/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 12:50:17 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[alexa rank]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=759</guid>
		<description><![CDATA[Embora muitos jÃ¡ usam o alexa rank para definir tops, estatutos, etc&#8230; mas pouca gente conhece o mÃ©todo de o usar sem ser atravÃ©s de aplicaÃ§Ãµes jÃ¡ disponÃ­veis na net. Neste tutorial vou mostrar como criar um script que devolve o valor do Alexa Rank para um determinado site. O script pode ser facilmente adaptado [...]]]></description>
			<content:encoded><![CDATA[<p>Embora muitos jÃ¡ usam o alexa rank para definir tops, estatutos, etc&#8230; mas pouca gente conhece o mÃ©todo de o usar sem ser atravÃ©s de aplicaÃ§Ãµes jÃ¡ disponÃ­veis na net.</p>
<p>Neste tutorial vou mostrar como criar um script que devolve o valor do Alexa Rank para um determinado site. O script pode ser facilmente adaptado para incorporar outras funÃ§Ãµes mais Ãºteis.</p>
<pre lang="php" line="1">
< ?
class alexa {

    var $xml;
    var $values;
    var $alexa_address;

    function alexa($alexa_address,$domain) {
        $this->alexa_address = $alexa_address;
        $this->xml = $this->get_data($domain);
        $this->set();
    }

    function get_data($domain) {
        $url = $this->alexa_address.'http://'.$domain;
        $xml = simplexml_load_file($url) or die('Feed Indisponivel');
        return $xml;
    }

    function set() {
        $this->values['rank'] = ($this->xml->SD->POPULARITY['TEXT'] ? number_format($this->xml->SD->POPULARITY['TEXT']) : 0);
    }

    function get($value) {
        return (isset($this->values[$value]) ? $this->values[$value] : '"'.$value.'" n&#038;atildeo existe.');
    }
}

$domain = "blue.muiomuio.net";
$alexa_connector = new alexa('http://alexa.com/xml/dad?url=',$domain);

// estilo 1
echo '
<div style="width:150px; height:80px;">Alexa Rank:  '.$alexa_connector->get('rank').' <span style="background:#efefef;"><a href="http://'.$domain.'">'.$domain.'</a></span></div>

'; 

// estilo 2
echo '
<div style="width:150px; height:80px;">'.$alexa_connector->get('rank').' <img src="http://img171.imageshack.us/img171/1940/alexanl7.png" alt="alexa rank para '.$domain.'" title="'.$domain.' Alexa Rank" /></div>

';

?>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/tutorial-php-alexa-rank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ValidaÃ§Ã£o de campos com JavaScript</title>
		<link>http://blue.muiomuio.net/validacao-de-campos-com-javascript/</link>
		<comments>http://blue.muiomuio.net/validacao-de-campos-com-javascript/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 21:50:16 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=748</guid>
		<description><![CDATA[Em junho escrevi um artigo sobre a validaÃ§Ã£o de campos usando o jQuery. Ã‰ uma forma eficaz, pratica e moderna mas que nem sempre o cliente gosta. Esta semana vi-me forÃ§ado a criar uma validaÃ§Ã£o de campos Ã¡ maneira antiga devido a uma escolha do cliente. O cÃ³digo que se segue Ã© bastante bÃ¡sico portanto [...]]]></description>
			<content:encoded><![CDATA[<p>Em junho escrevi um artigo sobre a <a href="http://blue.muiomuio.net/validar-formularios-com-jquery/">validaÃ§Ã£o de campos usando o jQuery</a>. Ã‰ uma forma eficaz, pratica e moderna mas que nem sempre o cliente gosta.<br />
Esta semana vi-me forÃ§ado a criar uma validaÃ§Ã£o de campos Ã¡ maneira antiga devido a uma escolha do cliente.</p>
<p>O cÃ³digo que se segue Ã© bastante bÃ¡sico portanto se algum especialista em javascript quiser ajudar a criar um cÃ³digo igualmente simples e eficaz com uma estrutura melhor eu agradeÃ§o.</p>
<p><code>&lt;SCRIPT&gt;<br />
function validate() {<br />
var nome=form1.nome.value;<br />
var empresa=form1.empresa.value;<br />
var telefone=form1.telefone.value;<br />
if (nome=='') {<br />
alert('O seu Nome Ã© um campo obrigatÃ³rio');<br />
return false;<br />
}<br />
if (empresa=='') {<br />
alert('Por favor indique qual a Empresa');<br />
return false;<br />
}<br />
if (telefone=='') {<br />
alert('O campo Telefone Ã© um campo obrigatÃ³rio');<br />
return false;<br />
}<br />
}<br />
&lt;/SCRIPT&gt;<br />
</code></p>
<p>Na primeira parte declaro variÃ¡veis caso tenha de adicionar mais cÃ³digo para trabalhar com o valor dos campos. A seguir faÃ§o a comparaÃ§Ã£o caso os campos estejam vazios lanÃ§a o alerta.<br />
De forma a tornar o formulÃ¡rio mais coeso deveria verificar tambÃ©m se os campos nÃ£o tiverem um determinado numero de caracteres para nÃ£o validar.<br />
Por agora este cÃ³digo chega para o que pretendo que Ã© lanÃ§ar um alert caso o cliente nÃ£o preencha os campos obrigatÃ³rios.</p>
<p>Agora de forma a que o formulÃ¡rio nÃ£o processe antes de verificar se os campos obrigatÃ³rios estÃ£o preenchidos Ã© necessÃ¡rio antes da action declarar o seguinte: </p>
<p><code>onsubmit="return validate();"</code></p>
<p>Assim quando o formulÃ¡rio for submetido primeiro chama a funÃ§Ã£o validate().<br />
Como podes ver o cÃ³digo Ã© relativamente simples, pode ser melhorado em vÃ¡rios aspectos e adaptados como verificar se o telefone possui apenas valores numÃ©ricos, se o nome ou empresa nÃ£o tem espaÃ§os apenas para nÃ£o ficarem vazios e se tÃªm mais de 1 ou 2 caracteres, etc&#8230;</p>
<p>Ficam as sugestÃµes para melhorares o cÃ³digo e caso o faÃ§as, partilha-o comigo.</p>
<p>Caso queiras aprender mais sobre JavaScript aconselho-te por comeÃ§ares a ler o tutorial de javascript da <a href="http://www.w3schools.com/JS/default.asp">w3Schools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/validacao-de-campos-com-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validar formulÃ¡rios com jQuery</title>
		<link>http://blue.muiomuio.net/validar-formularios-com-jquery/</link>
		<comments>http://blue.muiomuio.net/validar-formularios-com-jquery/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 17:45:36 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[validar campos formulario]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/?p=743</guid>
		<description><![CDATA[Normalmente quando crio um formulÃ¡rio apenas depois de o processar Ã© que o PHP envia a mensagem de erro o que pode ser chato para o cliente especialmente se o formulÃ¡rio for algo extenso. NÃ£o quero que o cliente desista apenas porque o formulÃ¡rio complicou tudo. A soluÃ§Ã£o Ã© entÃ£o usar JavaScript para detectar se [...]]]></description>
			<content:encoded><![CDATA[<p>Normalmente quando crio um formulÃ¡rio apenas depois de o processar Ã© que o PHP envia a mensagem de erro o que pode ser chato para o cliente especialmente se o formulÃ¡rio for algo extenso. NÃ£o quero que o cliente desista apenas porque o formulÃ¡rio complicou tudo.</p>
<p>A soluÃ§Ã£o Ã© entÃ£o usar JavaScript para detectar se os campos estÃ£o bem preenchidos ou nÃ£o e nos dias de hoje nÃ£o se justifica usar prompts para alertar o cliente de algo.<br />
A soluÃ§Ã£o Ã© relativamente simples com <a href="http://jquery.com/">jQuery</a>.</p>
<p><code><strong>//Filtros</strong><br />
var filters = {<br />
    requerido: function(el) {return ($(el).val() != â€ &#038;&#038; $(el).val() != -1);},<br />
    email: function(el) {return /^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/.test($(el).val());},<br />
    telefono: function(el){return /^[0-9]*$/.test($(el).val());}};<br />
<strong>// ExtenÃ§Ãµes</strong><br />
$.extend({<br />
	stop: function(e){<br />
        if (e.preventDefault) e.preventDefault();<br />
        if (e.stopPropagation) e.stopPropagation();<br />
    }<br />
});<br />
<strong>// CÃ³digo</strong><br />
$(document).ready(function(){<br />
	$(â€form.validableâ€).bind(â€submitâ€, function(e){<br />
		if (typeof filters == â€˜undefinedâ€™) return;<br />
	    $(this).find(â€input, textarea, selectâ€).each(function(x,el){<br />
	        if ($(el).attr(â€classNameâ€) != â€˜undefinedâ€™) {<br />
	        $.each(new String($(el).attr(â€classNameâ€)).split(â€ â€œ), function(x, klass){<br />
	            if ($.isFunction(filters[klass]))<br />
	                if (!filters[klass](el))  $(el).addClass(â€errorâ€);<br />
	        });<br />
	        }<br />
	    });<br />
		if ($(this).find(â€.errorâ€).size() > 0) {<br />
			$.stop(e || window.event);<br />
			return false;<br />
		}<br />
	    return true;<br />
	});<br />
});<br />
	</code></p>
<h2>ExplicaÃ§Ã£o</h2>
<p>A parte de processamento do script comeÃ§a com <strong>$(document).ready</strong> o que faz com que o script seja processado apenas quando a pÃ¡gina for carregada.</p>
<p>Quando o conteÃºdo Ã© carregado o script percorre todos os formulÃ¡rios procurando uma class de CSS chamada <strong>validable</strong> (class=&#8221;validable&#8221;), podes editar esta variÃ¡vel no cÃ³digo do script, e adiciona um listener quando o formulÃ¡rio for submetido.</p>
<p>ApÃ³s o formulÃ¡rio ser submetido o script percorre todos os elementos <strong>&lt;input /&gt;, &lt;textarea /&gt; e &lt;select /&gt;</strong> procurando as suas classes e comparando-as com as declaradas na zona dos filtros.<br />
O objecto filters Ã© composto de uma sÃ©rie de mÃ©todos que sÃ£o efectuados para validar os elementos de acordo com as classes. </p>
<p>Se o elemento do html nÃ£o tiver uma classe declarada Ã© adicionada a class error (class=&#8221;error&#8221;) ao elemento e nÃ£o Ã© efectuada a verificaÃ§Ã£o do campo.</p>
<p>Podes testar o script <a href="http://www.anieto2k.com/demo/validable/">aqui</a>. Este tutorial foi adaptado para portuguÃªs. O tutorial original pode ser visto no <a href="http://www.anieto2k.com/2008/06/25/validar-formularios-con-jquery/">anieto2k.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/validar-formularios-com-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8 dicas uteis em CSS</title>
		<link>http://blue.muiomuio.net/8-dicas-uteis-em-css/</link>
		<comments>http://blue.muiomuio.net/8-dicas-uteis-em-css/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 12:11:37 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[alinhamento vertical]]></category>
		<category><![CDATA[auto]]></category>
		<category><![CDATA[centrar horizontal]]></category>
		<category><![CDATA[css tips]]></category>
		<category><![CDATA[hidden]]></category>
		<category><![CDATA[horizontal alignment]]></category>
		<category><![CDATA[impedir]]></category>
		<category><![CDATA[layout break]]></category>
		<category><![CDATA[line height]]></category>
		<category><![CDATA[link break]]></category>
		<category><![CDATA[links partidos]]></category>
		<category><![CDATA[meio ecra]]></category>
		<category><![CDATA[nowrap]]></category>
		<category><![CDATA[overflow]]></category>
		<category><![CDATA[remove link outline]]></category>
		<category><![CDATA[remover border links]]></category>
		<category><![CDATA[w3c maujor]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/8-dicas-uteis-em-css/</guid>
		<description><![CDATA[O CSS Globe publicou Ã¡ uns tempos um artigo com 8 dicas CSS interessantes. No artigo intitulado 8 Premium One Line CSS Tips podem encontrar exemplos de algumas destas linhas em funcionamento. Alinhamento vertical com Line-Height line-height:24px; Quando se atribuÃ­ uma altura (height) fixa a um bloco pode-se usar a propriedade line-height para centrar verticalmente [...]]]></description>
			<content:encoded><![CDATA[<p>O CSS Globe publicou Ã¡ uns tempos um artigo com 8 dicas CSS interessantes. No artigo intitulado <a href="http://www.cssglobe.com/post/1392/8-premium-one-line-css-tips">8 Premium One Line CSS Tips</a> podem encontrar exemplos de algumas destas linhas em funcionamento.</p>
<ul>
<li>
<h2>Alinhamento vertical com Line-Height</h2>
<p><code>line-height:24px;</code><br />
<br />
Quando se atribuÃ­ uma altura (height) fixa a um bloco pode-se usar a propriedade line-height para centrar verticalmente o conteÃºdo.<br />
Mais sobre o line-height:<br />
<a href="http://www.w3schools.com/css/pr_dim_line-height.asp">http://www.w3schools.com/css/pr_dim_line-height.asp</a><br />
<a href="http://www.maujor.com/tutorial/elinhas.php">http://www.maujor.com/tutorial/elinhas.php</a>
</li>
<p></p>
<li>
<h2>Impedir que o conteÃºdo saia fora do layout</h2>
<p><code>overflow:hidden;</code></p>
<p>Este cÃ³digo irÃ¡ esconder todo o conteÃºdo que sair fora do layout. Imaginando que temos um DIV com 500px de largura e um link enorme. O texto do link que ultrapassar a largura definida (500px) nÃ£o irÃ¡ aparecer.<br />
Se quiserem que apareÃ§a um scroll para que o conteÃºdo mostre todo e apenas quando o conteÃºdo ultrapassar as dimensÃµes definidas podem usar o seguinte cÃ³digo:</p>
<p><code>overflow:auto;</code>
</li>
<p></p>
<li>
<h2>Impedir que o texto se parta</h2>
<p><code>white-space:nowrap;</code></p>
<p>Podem ver um exemplo <a href="http://webdesign.about.com/od/examples/l/bl_htmltablesattributes_nowrap.htm">aqui</a> do que acontece quando se usa o nowrap.</li>
<p></p>
<li>
<h2>Centrar blocos horizontalmente</h2>
<p><code>margin:0 auto;</code></p>
<p>O valor auto funciona para as margens laterais (esquerda e direita). Isto farÃ¡ com que o bloco fique centrado horizontalmente.</li>
<p></p>
<li>
<h2>Remover borders de links activos</h2>
<p>Quando se clica num link aparece um border Ã¡ sua volta. JÃ¡ falei disso <a href="http://blue.muiomuio.net/css-remove-link-dot/">aqui</a> e como remover este link. Nada mais simples:</p>
<p><code>outline:none;<br />
<br />
</code></li>
</ul>
<p>Sem dÃºvida, excelentes dicas  <img src='http://blue.muiomuio.net/wp-includes/images/smilies/icon_cool.gif' alt=':cool:' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/8-dicas-uteis-em-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BotÃµes Liquidos com CSS &amp; HTML</title>
		<link>http://blue.muiomuio.net/html-css-liquid-button/</link>
		<comments>http://blue.muiomuio.net/html-css-liquid-button/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 20:37:03 +0000</pubDate>
		<dc:creator>Lounge22</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[botao liquido]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[liquid button]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blue.muiomuio.net/html-css-liquid-button/</guid>
		<description><![CDATA[Por vezes na construÃ§Ã£o de sites deparo-me com um problema, nÃ£o quero criar uma imagem para cada botÃ£o que crio e nÃ£o me apetece ter um botÃ£o quadrado completamente plano, por vezes pode mesmo quebrar o design do site. CÃ³digo HTML A tag BUTTON tem uma maior capacidade de personalizaÃ§Ã£o que usando input type=submit. Esta [...]]]></description>
			<content:encoded><![CDATA[<p>Por vezes na construÃ§Ã£o de sites deparo-me com um problema, nÃ£o quero criar uma imagem para cada botÃ£o que crio e nÃ£o me apetece ter um botÃ£o quadrado completamente plano, por vezes pode mesmo quebrar o design do site.</p>
<h2>CÃ³digo HTML</h2>
<p>A tag BUTTON tem uma maior capacidade de personalizaÃ§Ã£o que usando input type=submit.<br />
Esta tag foi introduzido com a versÃ£o 4.01 do HTML e permite, por exemplo, que sejam adicionadas imagens dentro dele. </p>
<p>Fica aqui algumas referencias Ãºteis:</p>
<ul>
<li><a href="http://particletree.com/features/rediscovering-the-button-element/">http://particletree.com/features/rediscovering-the-button-element/</a></li>
<li><a href="http://www.htmlhelp.com/reference/html40/forms/button.html">http://www.htmlhelp.com/reference/html40/forms/button.html</a></li>
<li><a href="http://www.w3schools.com/tags/tag_button.asp">http://www.w3schools.com/tags/tag_button.asp</a></li>
</ul>
<p>Sem dÃºvida que a grande vantagem da TAG BUTTON Ã© a sua capacidade de ter conteÃºdo e Ã© essa capacidade que vou explorar.</p>
<p><code>&lt;button&gt;&lt;span&gt;&lt;em&gt;Texto BotÃ£o&lt;/em&gt;&lt;/span&gt;&lt;/button&gt;</code></p>
<p>O objectivo com este cÃ³digo Ã© criar um botÃ£o que permita ter um comprimento variÃ¡vel adaptando-se ao seu conteÃºdo de forma a que nÃ£o seja necessÃ¡rio editar o CSS cada vez que quero criar um novo botÃ£o.<br />
<span id="more-677"></span><br />
ApÃ³s o cÃ³digo HTML Ã© necessÃ¡rio criar uma imagem suficientemente larga para que independente da largura do botÃ£o ela se adapte sem quebras. De preferÃªncia crio sempre uma imagem com a largura do contentor onde o texto se encontra. Por exemplo se o texto tiver dentro de um DIV com 550 pixels de largura crio uma imagem com 550 pixels. Desta forma sei que por mais longo que o texto seja nÃ£o irÃ¡ quebrar.</p>
<p><span style="font-size:7pt;">Imagem usada no tutorial:</span><br />
<img src="http://muiomuio.net/lab/botao-liquido/btn_bg.png" alt="fundo botÃ£o liquido css html" /></p>
<h2>CSS</h2>
<p>Em seguida vamos aplicar a imagem. A TAG BUTTON irÃ¡ funcionar como contentor, o elemento SPAN e EM ficam com um estilo geral:</p>
<p><code>button {<br />
	border:none;<br />
	background:none;<br />
	padding:0;<br />
	margin:0;<br />
	width:auto;<br />
	text-align:center;<br />
	height:40px;<br />
	}<br />
</code></p>
<p><code>button span, button em{<br />
	display:block;<br />
	margin:0;<br />
	height:40px;<br />
	font:9pt Helvetica, Verdana, Arial, sans-serif;<br />
	color:#000000;<br />
	}</p>
<p></code></p>
<p>Em seguida aplicamos a imagem como background do SPAN, a imagem ficarÃ¡ da esquerda para a direita mostrando o canto esquerdo e o fundo do centro do botÃ£o:</p>
<p><code>button span{<br />
	padding-left:20px; /* mostrar canto esquerdo arredondado */<br />
	background:url(btn_bg.png) no-repeat 0 0;<br />
	}<br />
</code></p>
<p>Agora o elemento EM a onde se encontra o texto:</p>
<p><code>button em{<br />
	padding-right:20px;<br />
	background:url(btn_bg.png) no-repeat 100% 0; /* os 100% serve para adaptar a largura do botÃ£o */<br />
	line-height:38px;<br />
	}</code></p>
<div style="background:#ddd; padding:5px; border-top:1px dashed #333; border-bottom:1px dashed #333; width:80%; margin:10px auto; text-align:center;"><a href="http://muiomuio.net/lab/botao-liquido/">Exemplo</a> / <a href="http://muiomuio.net/lab/botao-liquido/botao-liquido.zip">Download do cÃ³digo</a></div>
<p>Este cÃ³digo foi testado em Firefox 2, Internet Explorer 7 e 8 em Windows XP. AgradeÃ§o se alguÃ©m testar nos outros browsers e sistemas operativos.</p>
<p>ReferÃªncia: <a href="http://www.alistapart.com/articles/slidingdoors/">http://www.alistapart.com/articles/slidingdoors/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blue.muiomuio.net/html-css-liquid-button/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

