29 agosto 2010

cliente de twitter en PHP

Viendo hoy la carrera de la F1 en la sexta (con su widget para comentar desde facebook) se me ocurrió la idea de crear un pequeño cliente de twitter que poder integrar en cualquier blog con pocos conocimientos de programación.

La idea es conseguir colocar un widget en un post o en lateral del blog que muestre los comentarios de los demás y relacionados con un evento o #hastag y que puedan participar desde nuestro sitio.

Para el ejemplo he cogido el hastag #recomendar (Cada vez más utilizado en twitter).

Pongo primero el ejemplo y luego lo explico:


Prueba el formulario:

Usuario:

Password:

Tweet:

Carácteres restantes -->
El #hastag se añadirá a el tweet que envies

  



Este cliente de twitter se compone de tres partes:

  • Formulario
  • Widget de twitter
  • PHP que recoge el formulario y nos devuelve al sitio

El formulario es muy simple, personalmente le he añadido un poco de javascript para que no añadan más caracteres de la cuenta.

El javascript

<script language="javascript" type="text/javascript">
function calCarFaltan( formulario ) {
var maxLongitud = 128
var libres = 128 //si cambia este valor, debe modificarse en el atributo value de campo numero


if ( formulario.name.value.length > maxLongitud ) {
formulario.name.value = formulario.name.value.substring(0,maxLongitud)
libres = 0
alert("Has superado el límite!\nRecuerda que dispones de\n" + maxLongitud + " caracteres\n que estás en twitter :)")
} else {
libres = maxLongitud - formulario.name.value.length
}

formulario.numero.value = libres
}
</script>

Le he dejado 128 caracteres para añadir el hastag en un campo oculto

El formulario:

<div width="250">
<p><b>título</b></p>
<form target="_blank" method="POST" action="http://ruta_al_php">
<p>Usuario: <input type="text" name="user" value=""></p>
<p>Password: <input type="password" name="pass" value=""></p>
<p><input type="hidden" name="message" value=" #hastag"></p>
<p><b><font size="4">Tweet:</font></b><font size="4"> </font><br />
<textarea rows="5" name="name" MAXLENGTH="12" cols="28" onKeyUp="calCarFaltan( this.form )"></textarea>
<br />Carácteres restantes --&gt; <input type="text" name="numero" width="4" size="8" value="128"><br />
<b>El #hastag se añadirá a el tweet que envies</b><br />
<p>&nbsp;&nbsp; <input type="submit" value="Enviar" name="B1"></p>
</form></div>

El widget de twitter

Para esta parte integraremos un widget de twitter para busquedas que creamos y configuramos AQUÍ

La hoja en PHP que recoge los datos y postea en twitter

<?php
/*---- créditos:http://www.ohmybug.com/ ----*/
header('Content-Type: text/html; charset=UTF-8');
$message = $_REQUEST['message'];
$name = $_REQUEST['name'];
$url = "http://twitter.com/statuses/update.xml?";
$username = $_REQUEST['user'];//usuario
$password = $_REQUEST['pass'];//password
$params = "status=". rawurlencode($name.$message);
$result = file_get_contents($url.$params , false, stream_context_create(array(
"http" => array(
"method" => "POST",
"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
)
)));
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body bgcolor="#00FFFF">
<p align="center"><b>Posteado en twitter con &eacute;xito</b><p>
<meta http-equiv="Refresh" content="1;url=http://ruta_al_post_o_blog>

Espero que parezca sencillo, cualquier duda puedes dejar un comentario.

Via twitter: @minipunk

2 comentarios:

  1. Julio_matarifeagosto 29, 2010

    Pues mola, pero hay que tener un sitio donde subir ese PHP :/

    ResponderEliminar
  2. Jajaja q pasado de rosca ... mejor descargate el TweetDeck

    ResponderEliminar

El próximo comentario tiene premio: