Bueno seguimos trabajando un poco en el proyecto y vamos sacando cosillas y corrigiendo fallos. Aquí os traigo la otra versión del tuenti.php.
El archivo clase_tuenti.php no será necesario para esta implementación.
Ya no será necesario la librería zenity ya que usaremos la notificación de señales de Ubuntu y GNOME, conocida como libnotify.
Para instalarla:
- sudo apt-get install libnotify-bin
- sudo apt-get install php5-cli
- sudo apt-get install php5-curl
- sudo apt-get install gnome-scheduler
- sudo apt-get install libnotify-bin
Dentro de la carpeta que quieras # Recomendadio /home/usuario/TuentiComo instalarlo:
ico.png # Icono con imagen del tuenti o lo que quieras.
tuenti.php
Una vez tengas los 2 archivos, (recuerda modificar los capos en rojo en tuenti.php por tus datos del tuenti y la carpeta donde lo ejecutes), creamos una tarea programada que se ejecute cada minuto en Aplicaciones > Herramientas del sistema > Tareas programadasSi todo ha salido bien, cada vez que recibas una visita o tengas algún mensaje nuevo, te aparecerá un mensaje por pantalla informándote de todo.
El comando a ejecutar es php /home/tuusuario/Tuenti/tuenti.php
<?php
/*
* tuenti.php
*
* Copyright 2010 Eduardo Ramirez Martinez-Esparza <zeyt@ZeYt>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
//CONFIG
$usermail = "example@example.com";
$password = "example";
$ruta = "/home/tuusuario/Tuenti/";
$archivo_visitas = "visitas.txt";
$cookie = "cookie.txt";
$opcion_mostrar_visitas = TRUE;
//CONFIG
function login($usermail, $password, $tcookie){
$ch= curl_init();
curl_setopt ($ch, CURLOPT_URL, "https://www.tuenti.com/?m=login&func=do_login");
curl_setopt ($ch, CURLOPT_POSTFIELDS, "email=$usermail&input_password=$password&timezone=1");
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $tcookie);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $tcookie);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.1.5) Gecko/20091105 Fedora/3.5.5-1.fc11 Firefox/3.5.5");
$res=curl_exec ($ch);
curl_close($ch);
return $res;
}
function consult($url,$tcookie){
$ch= curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $tcookie);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $tcookie);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.1.5) Gecko/20091105 Fedora/3.5.5-1.fc11 Firefox/3.5.5");
$res = curl_exec ($ch);
curl_close($ch);
return $res;
}
$resultado = consult("http://www.tuenti.com/?m=home&func=view_home",$cookie);
if ((eregi("<h1>La sesión ha caducado",$resultado)) || (eregi("Por favor, introduce tu e-mail y contraseña de Tuenti para entrar.",$resultado))){
$login=login($usermail, $password,$cookie);
$resultado = consult("http://www.tuenti.com/?m=home&func=view_home",$cookie);
}
$info = explode("<ul>",$resultado);
$info = explode("</ul>",$info[1]);
$info = $info[0];
$info = str_replace("</li>","</li>\n",$info);
if (eregi('<div class="eventImage"',$info)){
$info ="";
}
$info = strip_tags($info);
if ($opcion_mostrar_visitas){
$trozos = explode('<div class="views"><strong>',$resultado);
$trozos = explode('</strong>',$trozos[1]);
$visitas = $trozos[0];
$visitas = str_replace(".","",$visitas);
if (file_exists($archivo_visitas)){
$f = fopen($archivo_visitas,"r");
$visitas_old = fread($f,filesize($archivo_visitas));
fclose($f);
}else{
$f = fopen($archivo_visitas,"w");
fclose($f);
$visitas_old = 0;
}
$mostrar_visitas = FALSE;
if ($visitas>$visitas_old){
$f = fopen($archivo_visitas,"w");
fwrite($f,$visitas);
fclose($f);
$total = $visitas-$visitas_old;
$mostrar_visitas = TRUE;
$imprime_visitas = "Has tenido ". $total ." visitas nuevas. Totales: ".$visitas;
}
}
$titulo = "Notificaciones tuenti:";
if ($info != ""){
exec('notify-send -t 2500 "'.$titulo.'" "'. $info .'" -i "'.$ruta.'ico.png" &');
}
if ($opcion_mostrar_visitas && $mostrar_visitas){
exec('notify-send -t 2500 "'.$titulo.'" "'. $imprime_visitas .'" -i "'.$ruta.'ico.png" &');
}
?>
Como conejillo de indias he de decir que esto es de coña! Si es que es para ser perros, me las voy a gozar bien con esto! jajajaja
ResponderEliminarGracias por tu aporte donZeyt!
jaja, joer, k casualidad
ResponderEliminarME MATO TODO EL DIA PARA CONSEGUIR UN NOTIFICADOR, (QUE FUNCIONA PERFECTO) Y VEO ESTO??
:p, EL MIO AVISA DE MENSAJES Y DE TAL
PERO TENGO LA API ACTUALIZADA!!
Y EL ICONO DEL TUENTI TAMB, NO SE DISTORISIONA!
míralo en mi blog!
http://blogguino.blogspot.com
me baso en el API PHP
creo que tengo algun problema, no consigo que se me inicie, y eso que he seguido todos los pasos :S
ResponderEliminaralguna idea, de donde puede estar el fallo?? uso 11.04 32bits
gracias
lordsaturos @hotmail.es