<?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>Marco Malaquias - Blog</title>
	<atom:link href="http://www.marcomalaquias.com.br/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcomalaquias.com.br/blog</link>
	<description>Só mais um blog do WordPress</description>
	<lastBuildDate>Tue, 07 Jun 2011 14:06:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A execução do cron.php no drupal não é executada</title>
		<link>http://www.marcomalaquias.com.br/blog/2011/05/30/a-execucao-do-cron-php-no-drupal-nao-e-executada/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2011/05/30/a-execucao-do-cron-php-no-drupal-nao-e-executada/#comments</comments>
		<pubDate>Mon, 30 May 2011 21:32:05 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=119</guid>
		<description><![CDATA[Percebi em um site de um cliente onde trabalho, a cron do drupal parou de rodar. Depois de analisar no watchdog (admin/reports/dblog) verifiquei que aparecia a seguinte mensagem:
&#8220;O agendador de tarefas excedeu o tempo limite e foi abortado.&#8221;
Por algum motivo, a cron estava com algum problema. Após fuçar muito na internet, descobrir que esse erro é por causa de um redirecionamento em um node com permissão de execução em php (pode acontecer também para blocos). Porém, como o site tem cerca de 10.000 nodes, como encontrar o bendito node que ...]]></description>
			<content:encoded><![CDATA[<p>Percebi em um site de um cliente onde trabalho, a cron do drupal parou de rodar. Depois de analisar no watchdog (admin/reports/dblog) verifiquei que aparecia a seguinte mensagem:</p>
<p>&#8220;O agendador de tarefas excedeu o tempo limite e foi abortado.&#8221;</p>
<p>Por algum motivo, a cron estava com algum problema. Após fuçar muito na internet, descobrir que esse erro é por causa de um redirecionamento em um node com permissão de execução em php (pode acontecer também para blocos). Porém, como o site tem cerca de 10.000 nodes, como encontrar o bendito node que faz isso. Para isso, foi necessário mexer no core do drupal, apenas para localizar (deixei tudo normal como era antes, depois de resolver o problema).</p>
<p>Primeiro, na função &#8220;module_invoke_all&#8221; do arquivo include/module.inc adicionei o código que está comentado:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> module_invoke_all<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$args</span> <span style="color: #339933;">=</span> <span style="color: #990000;">func_get_args</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$hook</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span>module_implements<span style="color: #009900;">&#40;</span><span style="color: #000088;">$hook</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$module</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$function</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$module</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'_'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$hook</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">call_user_func_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$function</span><span style="color: #339933;">,</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">#if ($hook == 'cron') watchdog('cron', &quot;hit $module cron &quot; . $result . &quot; hook $hook $function, $args &quot;);
</span>    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge_recursive</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$return</span><span style="color: #339933;">,</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$return</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$return</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Com esse código, tive a certeza que o problema era em um node. Para saber qual o node, tive que mexer no arquivo &#8220;module\node\node.module&#8221;  na função &#8220;node_update_index&#8221; e adicionar o código &#8220;watchdog(&#8217;cron&#8217;, &#8220;indexando o node $node-&gt;nid &#8220;);&#8221; no loop da função:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> node_update_index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$limit</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span>variable_get<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'search_cron_limit'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// Store the maximum possible comments per thread (used for ranking by reply count)</span>
  variable_set<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'node_cron_comments_scale'</span><span style="color: #339933;">,</span> <span style="color:#800080;">1.0</span> <span style="color: #339933;">/</span> <span style="color: #990000;">max</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> db_result<span style="color: #009900;">&#40;</span>db_query<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SELECT MAX(comment_count) FROM {node_comment_statistics}'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  variable_set<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'node_cron_views_scale'</span><span style="color: #339933;">,</span> <span style="color:#800080;">1.0</span> <span style="color: #339933;">/</span> <span style="color: #990000;">max</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> db_result<span style="color: #009900;">&#40;</span>db_query<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SELECT MAX(totalcount) FROM {node_counter}'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> db_query_range<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT n.nid FROM {node} n LEFT JOIN {search_dataset} d ON d.type = 'node' AND d.sid = n.nid WHERE d.sid IS NULL OR d.reindex &amp;lt;&amp;gt; 0 ORDER BY d.reindex ASC, n.nid ASC&quot;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$limit</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$node</span> <span style="color: #339933;">=</span> db_fetch_object<span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	watchdog<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'cron'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;indexando o node <span style="color: #006699; font-weight: bold;">$node</span>-&amp;gt;nid &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    _node_index_node<span style="color: #009900;">&#40;</span><span style="color: #000088;">$node</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Após isso, é só chamar o cron.php e verificar no link &#8220;admin/reports/dblog&#8221;. Assim, consegui o nid do node. Ao editar esse node, descobrí que tinha um &#8220;header(&#8217;Location: user/register&#8217;)&#8221; nele. Não pode ter nem header(&#8217;Location&#8217;) nem drupal_goto, caso contrário a cron.php não irá executar. Para sanar o problema, bastou envolver o código header com um &#8221; if (arg(0) == &#8216;node&#8217;) { &#8221;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span> 
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>  <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SCRIPT_NAME&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'/cron.php'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location: user/register'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
     <span style="color: #990000;">exit</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>A vida é assim, vivendo e apanhando. Opa, vivendo e aprendendo.</p>
<p>Uma dica de módulo é o <a href="http://drush.ws/resource" target="_blank">http://drush.ws/resource</a>s e o <a href="http://drupal.org/project/supercron" target="_blank">http://drupal.org/project/supercron</a></p>
<p>Espero ajudar outras almas com esse post.</p>
<p>Até mais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2011/05/30/a-execucao-do-cron-php-no-drupal-nao-e-executada/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como obter o user_id de um usuário do flickr?</title>
		<link>http://www.marcomalaquias.com.br/blog/2010/07/21/como-obter-o-user_id-de-um-usuario-do-flickr/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2010/07/21/como-obter-o-user_id-de-um-usuario-do-flickr/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 21:20:30 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[flickr]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=116</guid>
		<description><![CDATA[Eu estava desenvolvendo uma integração de um site para um cliente nosso, mas não tinha os dados de acesso à conta do flickr do cliente. Então, como eu iria conseguir o user_id do cliente? Depois de uma breve consulta no Google (graças), descobri o seguinte site:
http://idgettr.com/
Então, nesse site, é possível obter o user_id do usuário a partir da url do usuário no flickr, muito simples. Depois disso, é só seguir a api do Flickr.
]]></description>
			<content:encoded><![CDATA[<p>Eu estava desenvolvendo uma integração de um site para um cliente nosso, mas não tinha os dados de acesso à conta do flickr do cliente. Então, como eu iria conseguir o user_id do cliente? Depois de uma breve consulta no<a href="http://www.google.com.br" target="_blank"> Google</a> (graças), descobri o seguinte site:</p>
<p><a href="http://idgettr.com/" target="_blank">http://idgettr.com/</a></p>
<p>Então, nesse site, é possível obter o user_id do usuário a partir da url do usuário no flickr, muito simples. Depois disso, é só seguir a <a href="http://www.flickr.com/services/api/" target="_blank">api do Flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2010/07/21/como-obter-o-user_id-de-um-usuario-do-flickr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#MalakaDay</title>
		<link>http://www.marcomalaquias.com.br/blog/2010/05/25/malakaday/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2010/05/25/malakaday/#comments</comments>
		<pubDate>Tue, 25 May 2010 12:19:20 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[malakaday]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=106</guid>
		<description><![CDATA[Após uma semana turbulenta, acordo gripado, mas como era necessário ir trabalhar por causa de uma &#8220;reunião&#8221;, espantei a preguiça e fui para o trabalho. Chegando lá, descobri que havia sido decretado o #MalakaDay.
O que é o #MalakaDay, Você se pergunta? É o dia em que o pessoal da Talk foi de social, uma forma de demonstrar o carinho que têm por mim ;(

Após de descobri que fui enganado pelo Malakavo, que me disse que haveria uma reunião, que descobri que não teria e acabou ocorrendo :X. Percebi a brincadeira ...]]></description>
			<content:encoded><![CDATA[<p>Após uma semana turbulenta, acordo gripado, mas como era necessário ir trabalhar por causa de uma &#8220;reunião&#8221;, espantei a preguiça e fui para o trabalho. Chegando lá, descobri que havia sido decretado o #MalakaDay.</p>
<p>O que é o #MalakaDay, Você se pergunta? É o dia em que o pessoal da Talk foi de social, uma forma de demonstrar o carinho que têm por mim ;(</p>
<p><span id="more-106"></span></p>
<p>Após de descobri que fui enganado pelo Malakavo, que me disse que haveria uma reunião, que descobri que não teria e acabou ocorrendo :X. Percebi a brincadeira do pessoal da Talk. Fui muito divertido. Muito Obrigado.</p>
<p>Assim tivemos um almoço no #MalakaKing, onde todos comemos um hamburguer bem gostoso, confiram abaixo:<br />
<a href="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/05/105276966.jpg" target="_self"><img class="aligncenter size-medium wp-image-107" title="105276966" src="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/05/105276966-300x225.jpg" alt="105276966" width="300" height="225" /></a></p>
<p>Após o almoço, registramos o momento #Malaka da equipe. Ficou muito legal a foto:</p>
<p><a href="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/05/x2_16b31c3.jpg" target="_blank"><img class="aligncenter size-medium wp-image-108" title="x2_16b31c3" src="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/05/x2_16b31c3-300x199.jpg" alt="x2_16b31c3" width="300" height="199" /></a></p>
<p>Assim, quero agradecer de coração a homenagem que me fizeram. Muito Obrigado Malakisson, Malakavo, Malakevão, Malakino, Malakias, Malakélio, Malakabi, Malakério, Malakedro, Malakrods, Malaklauger, Malakabio, Malakiana, Malakagiário, Malakréia kkk, Malakoldo, Malakilla, Malakris, Malaklipe, Malakoraya, Malakel, Malakana, Malakadna, Malakelô, Malakellipe, Malakegis, Malakômulo, Malakricia, Malakhezya, Malakonardo, Malakandra, Malakário, Malakiel, Malakonis, Malakito, Malakarol, Malakhris e primeira dama Malakriscilla.</p>
<p>Teve também no skype, pena que só tive a idéia de tirar um print agora (mas o pessoal já alterou o nome).</p>
<p>Como ficou no twitter:</p>
<p><a href="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/05/malakaday-Twitter-Search_1274757719129.png" target="_blank"><img class="aligncenter size-medium wp-image-110" title="#malakaday - Twitter Search_1274757719129" src="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/05/malakaday-Twitter-Search_1274757719129-83x300.png" alt="#malakaday - Twitter Search_1274757719129" width="83" height="300" /></a></p>
<p>Pessoal, muito obrigado por tudo. Adorei a comemoração!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2010/05/25/malakaday/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>problemas com Fatal error: Uncaught exception &#8216;DOMPDF_Exception&#8217; with message &#8216;Unknown image type no drupal</title>
		<link>http://www.marcomalaquias.com.br/blog/2010/03/21/problemas-com-fatal-error-uncaught-exception-dompdf_exception-with-message-unknown-image-type-no-drupal/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2010/03/21/problemas-com-fatal-error-uncaught-exception-dompdf_exception-with-message-unknown-image-type-no-drupal/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 18:38:49 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=104</guid>
		<description><![CDATA[Eu estava implementando um módulo em um projeto que estou trabalhando, que gera um pdf de um boleto bancário, e me reparei com o seguinte erro:
Fatal error:  Uncaught exception &#8216;DOMPDF_Exception&#8217; with message &#8216;Unknown image type:&#8230; 
Depois de muita pesquisa no google e não achar uma resposta definitiva, fui fazer alguns testes. Percebi que só acontece esse problema quando se gera uma imagem dinamicamente. Com imagens normais, o pdf é gerado sem problema. Então, depois de alguns testes, percebi que se colocar a url da função que gera a imagem ...]]></description>
			<content:encoded><![CDATA[<p>Eu estava implementando um módulo em um projeto que estou trabalhando, que gera um pdf de um boleto bancário, e me reparei com o seguinte erro:</p>
<p><strong>Fatal error</strong>:  Uncaught exception &#8216;DOMPDF_Exception&#8217; with message &#8216;Unknown image type:&#8230; <span id="more-104"></span></p>
<p>Depois de muita pesquisa no google e não achar uma resposta definitiva, fui fazer alguns testes. Percebi que só acontece esse problema quando se gera uma imagem dinamicamente. Com imagens normais, o pdf é gerado sem problema. Então, depois de alguns testes, percebi que se colocar a url da função que gera a imagem com o final <strong>gerar-codigo-boleto/imagem.jpg</strong>, o pdf é gerado e a imagem fica certa. Então, resumindo a conversa, para resolver o problema da geração da imagem, é necessário que a url da imagem tenha a extensão jpg ou de alguma outra imagem.</p>
<p>Não se esqueça de colocar o header como <strong>header(&#8221;Content-Type: image/jpeg&#8221;);</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2010/03/21/problemas-com-fatal-error-uncaught-exception-dompdf_exception-with-message-unknown-image-type-no-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurar teclado americano no windows XP</title>
		<link>http://www.marcomalaquias.com.br/blog/2010/02/14/configurar-teclado-americano-no-windows-xp/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2010/02/14/configurar-teclado-americano-no-windows-xp/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 00:19:19 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=101</guid>
		<description><![CDATA[Isso é uma coisa que quebrei muito a cabeça, assim decidi compartilhar aqui. Para configurar o teclado americano no windows XP, é necessário adicionar a linguagem como Português e o teclado como Estados Unidos (internacional).
Dããããã, depois que a gente fala, fica até na cara mesmo, claro que a língua é português e o teclado é americado.
Segue uma imagem da configuração:

Estou digitando de um note que acabei de resolver esse problema  
]]></description>
			<content:encoded><![CDATA[<p>Isso é uma coisa que quebrei muito a cabeça, assim decidi compartilhar aqui. Para configurar o teclado americano no windows XP, é necessário adicionar a linguagem como Português e o teclado como Estados Unidos (internacional).</p>
<p>Dããããã, depois que a gente fala, fica até na cara mesmo, claro que a língua é português e o teclado é americado.</p>
<p>Segue uma imagem da configuração:</p>
<p><img class="aligncenter size-full wp-image-102" title="teclado" src="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/02/teclado.PNG" alt="teclado" width="404" height="485" /></p>
<p>Estou digitando de um note que acabei de resolver esse problema <img src='http://www.marcomalaquias.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2010/02/14/configurar-teclado-americano-no-windows-xp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Colocando um editor html (Wysiwyg) no Drupal 6</title>
		<link>http://www.marcomalaquias.com.br/blog/2010/02/10/colocando-um-editor-html-wysiwyg-no-drupal-6/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2010/02/10/colocando-um-editor-html-wysiwyg-no-drupal-6/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 12:41:39 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=91</guid>
		<description><![CDATA[Um editor html ou Wysiwyg  é um editor de texto semelhante ao Word que permite que o usuário insira textos em html sem saber html.
Para instalar no drupal, é necessário baixar o módulo Wysiwyg . A instalação é padrão no drupal. Após a instalação, deve-se escolher qual Wysiwyg será usado. Eu prefiro o TinyMCE . Baixe o tinymce (tive problemas com a versão 3.3b2 então utilizei a versão 3.2.7). Após baixar, vá em /admin/settings/wysiwyg e em INSTALLATION INSTRUCTIONS, coloque o pacote em sites/all/libraries.
Após colocar o pacote lá, dê um ...]]></description>
			<content:encoded><![CDATA[<p>Um editor html ou <a title="wysiwyg" href="http://pt.wikipedia.org/wiki/WYSIWYG" target="_blank">Wysiwyg </a> é um editor de texto semelhante ao Word que permite que o usuário insira textos em html sem saber html.</p>
<p>Para instalar no drupal, é necessário baixar o módulo <a href="http://drupal.org/project/wysiwyg" target="_blank">Wysiwyg</a> . A instalação é padrão no drupal. Após a instalação, deve-se escolher qual Wysiwyg será usado. Eu prefiro o <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE </a>. Baixe o tinymce (tive problemas com a versão 3.3b2 então utilizei a versão 3.2.7). Após baixar, vá em <strong>/admin/settings/wysiwyg</strong> e em<strong> INSTALLATION INSTRUCTIONS</strong>, coloque o pacote em <strong>sites/all/libraries</strong>.</p>
<p>Após colocar o pacote lá, dê um refresh na página e deverá aparecer o tinyMCE habilitado.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-97" title="Wysiwyg - Blog do Omar_1265804749791" src="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/02/Wysiwyg-Blog-do-Omar_1265804749791.png" alt="Wysiwyg - Blog do Omar_1265804749791" width="569" height="199" /></p>
<p>Agora é só colocar o formato de entrada como ele.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-98" title="Wysiwyg - Blog do Omar_1265804794774" src="http://www.marcomalaquias.com.br/blog/wp-content/uploads/2010/02/Wysiwyg-Blog-do-Omar_1265804794774.png" alt="Wysiwyg - Blog do Omar_1265804794774" width="580" height="65" /></p>
<p>Caso tenha ocorrido algum problema, comente que tentarei ajudar <img src='http://www.marcomalaquias.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2010/02/10/colocando-um-editor-html-wysiwyg-no-drupal-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acompanhe online o que está acontecendo no campus party</title>
		<link>http://www.marcomalaquias.com.br/blog/2010/01/27/acompanhe-online-o-que-esta-acontecendo-no-campus-party/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2010/01/27/acompanhe-online-o-que-esta-acontecendo-no-campus-party/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 12:49:16 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[campus party]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=87</guid>
		<description><![CDATA[ 
]]></description>
			<content:encoded><![CDATA[<p> <embed src="http://tv.campus-party.org/CP_videoplayer_16_9.swf? c=11058" width="590" height="360" allowfullscreen="true" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2010/01/27/acompanhe-online-o-que-esta-acontecendo-no-campus-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>customizar template para comentários no drupal</title>
		<link>http://www.marcomalaquias.com.br/blog/2010/01/02/customizar-template-para-comentarios-no-drupal/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2010/01/02/customizar-template-para-comentarios-no-drupal/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 22:13:24 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=83</guid>
		<description><![CDATA[Estava customizando o html dos comentários do drupal e senti uma certa dificuldade para executar esta tarefa. Assim, após pesquisa na internet, achei o módulo Comment Bonus API que provê algumas funcionalidades que o módulo de comentário não provê, como customizar o box que ficará os comentários e até colocar o formulário de comentário antes da listagem, caso seja necessário.
Para customizar o html, basta ativar o módulo e copiar o arquivo comment-wrapper.tpl.php para o tema usado. Agora é só alterar o html conforme desejado.
]]></description>
			<content:encoded><![CDATA[<p>Estava customizando o html dos comentários do drupal e senti uma certa dificuldade para executar esta tarefa. Assim, após pesquisa na internet, achei o módulo <a href="http://drupal.org/project/comment_bonus_api">Comment Bonus API</a> que provê algumas funcionalidades que o módulo de comentário não provê, como customizar o box que ficará os comentários e até colocar o formulário de comentário antes da listagem, caso seja necessário.<br />
Para customizar o html, basta ativar o módulo e copiar o arquivo<strong> comment-wrapper.tpl.php</strong> para o tema usado. Agora é só alterar o html conforme desejado.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2010/01/02/customizar-template-para-comentarios-no-drupal/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Comunicação entre seu módulo do drupal e ajax</title>
		<link>http://www.marcomalaquias.com.br/blog/2009/12/30/comunicacao-entre-seu-modulo-do-drupal-e-ajax/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2009/12/30/comunicacao-entre-seu-modulo-do-drupal-e-ajax/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 13:17:04 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=79</guid>
		<description><![CDATA[Cansado de fazer xml no seu módulo para comunicar entre o módulo e a requisição ajax? Se você não está, eu estou   .
Ao invés de imprimir um xml no módulo, é possivel também utilizar json, e o drupal tem uma função que ajuda bastante, que é a drupal_json.
Com ela, você transcreve as variáveis em php para javascript, por json, e pode utilizar o método getJSON do jquery para ler.
Segue um exemplo da função:

		print drupal_json&#40;
			array&#40;'sucesso' =&#62; false, 'mensagem' =&#62; $msg&#41;
		&#41;;

Assim, ele imprime o seguinte resultado:

&#123; &#34;sucesso&#34;: false, &#34;mensagem&#34;: &#91; ...]]></description>
			<content:encoded><![CDATA[<p>Cansado de fazer xml no seu módulo para comunicar entre o módulo e a requisição ajax? Se você não está, eu estou <img src='http://www.marcomalaquias.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>Ao invés de imprimir um xml no módulo, é possivel também utilizar <a href="http://www.json.org/">json</a>, e o <a href="http://drupal.org/">drupal</a> tem uma função que ajuda bastante, que é a <a href="http://api.drupal.org/api/function/drupal_json/6">drupal_json</a>.</p>
<p>Com ela, você transcreve as variáveis em php para javascript, por json, e pode utilizar o método getJSON do jquery para ler.</p>
<p>Segue um exemplo da função:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">		<span style="color: #b1b100;">print</span> drupal_json<span style="color: #009900;">&#40;</span>
			<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sucesso'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mensagem'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$msg</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Assim, ele imprime o seguinte resultado:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span> <span style="color: #3366CC;">&quot;sucesso&quot;</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;mensagem&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span> <span style="color: #3366CC;">&quot;Nome é requerido&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;E-mail é requerido&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;Comentário é requerido&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;NID é requerido&quot;</span> <span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2009/12/30/comunicacao-entre-seu-modulo-do-drupal-e-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como definir a página inicial no drupal</title>
		<link>http://www.marcomalaquias.com.br/blog/2009/12/28/como-definir-a-pagina-inicial-no-drupal/</link>
		<comments>http://www.marcomalaquias.com.br/blog/2009/12/28/como-definir-a-pagina-inicial-no-drupal/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 19:30:00 +0000</pubDate>
		<dc:creator>Marco Malaquias</dc:creator>
				<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.marcomalaquias.com.br/blog/?p=75</guid>
		<description><![CDATA[Para definir a página inicial no drupal, é necessário criar um página padrão. Vamos chamá-la de &#8220;página inicial&#8221; e a sua url será &#8220;/pagina-inicial&#8220;.
Após criado a página inicial, é necessário alterar a configuração do drupal em Administrar > Configuração > Informações do site. Na tela de &#8220;informações do site&#8220;, terá o campo &#8220;página inicial padrão&#8221; que geralmente vem com o valor padrão &#8220;node&#8220;. Então, como criamos a nossa página inicial, basta colocar no campo &#8220;página inicial padrão&#8221; o valor &#8220;pagina-inicial&#8220;, que é a url da página que criamos.
Assim, a página ...]]></description>
			<content:encoded><![CDATA[<p>Para definir a página inicial no drupal, é necessário criar um página padrão. Vamos chamá-la de &#8220;<strong>página inicial</strong>&#8221; e a sua url será &#8220;<strong>/pagina-inicial</strong>&#8220;.<br />
Após criado a página inicial, é necessário alterar a configuração do drupal em <strong>Administrar</strong> > <strong>Configuração</strong> ><strong> Informações do site</strong>. Na tela de &#8220;<strong>informações do site</strong>&#8220;, terá o campo &#8220;<strong>página inicial padrão</strong>&#8221; que geralmente vem com o valor padrão &#8220;<strong>node</strong>&#8220;. Então, como criamos a nossa página inicial, basta colocar no campo &#8220;<strong>página inicial padrão</strong>&#8221; o valor &#8220;<strong>pagina-inicial</strong>&#8220;, que é a url da página que criamos.<br />
Assim, a página inicial será agora o conteúdo da página que criamos, a &#8220;<strong>página inicial</strong>&#8220;.</p>
<p>Espero ter ajudado.</p>
<p>PS:. Foi testado no drupal 6.x e funcionou normalmente. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcomalaquias.com.br/blog/2009/12/28/como-definir-a-pagina-inicial-no-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

