sábado

Como pegar as últimas publicações do Spip e WordPress e integrar com o java

Os códigos php de exemplo desta página estão com um espaço dentro das tags por questões técnicas de postagem do blogger

A poucos dias meu amigo Pedro Jannotti e eu estávamos montando o site de um cliente e precisávamos integrar um módulo java com um wordpress. O site foi todo desenvolvido em wicket por um outro amigo, Alex Egídio e o cliente tinha a necessidade de publicar eventos e cursos periodicamente e queria que as últimas publicações fossem mencionadas na página inicial do wicket. Para gerenciar as publicações tinhamos 2 alternativas, Spip ou Wordpress, mas devido a riqueza de complementos e a uma interface mais amigável, uma vez que o cliente é que iria criar e modificar as publicações, optamos pelo wordpress . Acontece que o wordpress é gerenciado pelo apache e o wicket pelo tomcat. Para resolver o problema tomamos a seguinte decisão:

Criamos um arquivo php que busca os dados do wordpress e monta uma estrutura simples com o título e o corpo das 5 últimas postagens. Este arquivo foi criado dentro da pasta /var/www/ultimas-publicacoes/ultimas-postagens-wp.php no ubuntu ou diretorio-do-apache\htdocs\ultimas-publicacoes\ultimas-postagens-wp.php no windows.

No bowser ficou assim: http:\\localhost\ultimas-publicacoes\ultimas-postagens-wp.php. Segue o conteúdo deste arquivo:

< ?php

define(’BD_USER’, ‘usuario-do-mysql’);
define(’BD_PASS’, ’senha-do-mysql’);
define(’BD_NAME’, ‘bd-do-wordpress’);

mysql_connect(’localhost’, BD_USER, BD_PASS);
mysql_select_db(BD_NAME);

$rs = mysql_query(”select post_title, post_content, guid
from wp_posts
where post_status = ‘publish’
order by post_date desc
limit 0,5″);

echo “< div>”;

while ($row = mysql_fetch_array($rs)) {

echo “ < a href=\”".$row["guid"].”\” target=\”_blank\”>
< font color=\”#000099\”>”.$row["post_title"].”
< /font>

< font color=\”#000000\”>”.substr($row["post_content"], 0, 100).”…
< /font>
< /a>< br />< br />”;
}

echo “< /div>”;

?>

A chamada ao arquivo dentro do wicket ficou assim:

< iframe src=“http:\\localhost\ultimas-postagens.php” frameborder=“no” height=“280px” width=“520″>
< /iframe>

Como curiosidade, montamos o mesmo esquema para o Spip, ficou assim:

criamos o arquivo php em /var/www/ultimas-publicacoes/ultimas-postagens-spip.php ou diretorio-do-apache\htdocs\ultimas-publicacoes\ultimas-postagens-spip.php. E no bowser ficou assim: http:\\localhost\ultimas-postagens-spip.php ou http:\\localhost\ultimas-publicacoes\ultimas-postagens-spip.php. Segue o conteúdo deste arquivo:

< ?php

define(’BD_USER’, ‘usuario-do-mysql’);
define(’BD_PASS’, ’senha-do-mysql’);
define(’BD_NAME’, ‘bd-do-wordpress’);

$rs = mysql_query(”SELECT id_article, titre, texte
FROM spip_articles
WHERE statut = ‘publie’
ORDER BY date_modif
LIMIT 0 , 5“);

echo “< div>”;

while ($row = mysql_fetch_array($rs)) {

echo “ < a href=\”".$row["guid"].”\” target=\”_blank\”>
< font color=\”#000099\”>”.$row["post_title"].”
< /font>

< font color=\”#000000\”>”.substr($row["post_content"], 0, 100).”…
< /font>
< /a>< br />< br />”;
}

echo “< /div>”;

?>

A chamada ao arquivo dentro do wicket permaneceu a mesma:

< iframe src=“http:\\localhost\ultimas-postagens.php” frameborder=“no” height=“280px” width=“520″>
< /iframe>

Assim resolvemos de forma simples o problema.