TAGS

Un poco de publicidad:

Instalar plugin Java para Firefox en Ubuntu 8.04

ESCRITO POR Josep Viciana EL 05-09-2008 - EN LA CATEGORÍA Informática, Ubuntu.

Algunas páginas - por desgracia - utilizan el plug-in de Java, por ejemplo la página de mi banco… y para poder utilizarla tengo que tener instalado el Java que tan poco me gusta.

Hace unos años recuerdo que la liaba mucho para instalar Java, supongo que por que no tenía apenas conocimientos de como utilizar Ubuntu, y como lo utilizaba casi como una sandbox no me importaba ensuciar el sistema.

Ahora que utilizo Ubuntu como sistema principal, voy encontrando maneras aún más fáciles de hacer las cosas, y además bastante más limpias.

Para instalar Java para Firefox en Ubuntu basta con escribir estas lineas en Terminal:
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin
sudo update-java-alternatives -s java-6-sun
gksudo gedit /etc/jvm

Y en la primera linea del archivo que se abre, escribir esto:
/usr/lib/jvm/java-6-sun
Cerramos y guardamos gedit.

Si todo ha salido bien, escribiendo about:plugins en la barra de direcciones de Firefox debería aparecer Java(TM) Plug-in.



Saber país del visitante sin GeoIP, con PHP

ESCRITO POR Josep Viciana EL 19-08-2008 - EN LA CATEGORÍA PHP, Programación.

Hay varias maneras de saber de donde es un visitante a una página, la más simple seguramente sea preguntandole, como en muchas páginas como las de EA Games, Sony, Asus… pero también existen otras formas para hacer esto transparente al usuario, seguramente la vía más conocida sea utilizando GeoIP, pero si no necesitamos tanta "precisión" - con GeoIP se puede saber incluso la ciudad - y nos conformamos con saber el país, podemos utilizar una variable del servidor de PHP, que recoge información del navegador, de manera que es gratis - GeoIP es de pago - y más rápido.

La variable es esta:

$_SERVER["HTTP_ACCEPT_LANGUAGE"]

Y puede contener algo como: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3

Los 5 primeros caracteres que he subrayado, dicen el idioma y la zona, en este ejemplo sería español de España, si fuese es-mx sería español de Méjico.

Entonces, para saber de donde es y en que idioma mostrar la página podemos hacer esto:

$lang = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,5);

Y ya podemos trabajar como queramos con ese dato.

Lista de países:
es-es - España
es-mx - Méjico
es-ar - Argentina
es-cl - Chile
es-ve - Venezuela
pt-br - Brasil
es-co - Colombia
es-ec - Ecuador
es-uy - Uruguay



Descargar videos de Youtube con PHP

ESCRITO POR Josep Viciana EL 16-08-2008 - EN LA CATEGORÍA PHP, Programación.

Esta es una clase para descargar videos de Youtube, con la que podemos obtener un enlace al archivo de video, que se baja con el nombre get_video, sin ninguna extensión, por esto, dependiendo de que sistema operativo o que configuración tengamos, habrá que cambiarle el nombre y ponerle una extensión para poder verlo.

Se descarga sin extensión pero no sin formato, el formato es application/x-flash-video, es decir, la extensión que le corresponde es .FLV.

VER EJEMPLO / VIEW SAMPLE

VER CÓDIGO DEL EJEMPLO / VIEW SAMPLE CODE

Lo primero que hay que hacer es poner la clase, que podemos utilizar desde el mismo script o con un include desde otro archivo.

Clase para obtejer videos de Youtube:

class YouTubeParser {
var $_urlOut = 'http://www.youtube.com/get_video?video_id=%s&t=%s';
var $errMsg = ”;
function getVideoLink($url){
$hash = ”;
if (!preg_match('/(\?|&)v=([0-9a-z_]+)(&|$)/si', $url, $m)) {
$this->errMsg = 'URL no válida';
return false;
}
$v = $m[2];
if (!($response = file_get_contents($url))) {
$this->errMsg = 'Imposible leer la p&aagina de Youtube';
return false;
}
if (preg_match('/var swfArgs( *)=( *)\{(.*?)\}/si', $response, $m)) {
if (preg_match('/"t"( *):( *)"(.*?)"/si', $m[3], $mm)) {
$hash = $mm[3];
}
}
if (empty($hash)) {
$this->errMsg = 'Imposible conseguir el enlace';
return false;
}
return sprintf($this->_urlOut, $v, $hash);
}
}

Y para ejecutar, podemos recibir la variable URL por POST, y utilizar así la clase:

if (isset($_POST['url'])) {
$parser = new YouTubeParser();
$url = trim(stripslashes($_POST['url']));
if (!($link = $parser->getVideoLink($url))) {
echo $parser->errMsg;
} else {
echo '<a href="' . $link . '">Descargar video</a>';
}
echo '<br /><br />';
}

No es en absoluto una clase dificil de utilizar, pero si a alguien le surge alguna duda o problema intentaré ayudar a que se entienda mejor el buen uso que se le puede dar.



Eliminar palabras malsonantes con PHP.

ESCRITO POR Josep Viciana EL 13-08-2008 - EN LA CATEGORÍA PHP, Programación.

En sitios como foros, blogs o cualquier tipo de Web donde cualquiera pueda escribir comentarios, es común que se tenga la necesidad de evitar que la gente escriba según que palabras, como insultos.

Para esto he hecho una pequeña función que facilita la tarea, es realmente muy simple es poco más que un bucle que se repite buscando cada una de las palabras de una lista predefinida, y que si encuentra alguna, la elimina.

La función:

function epm($cadena){
$palabras = 'sex, kill, drugs, fuck';
$palabra = explode(', ',$palabras);
$palabras = count($palabra);
$base = 0;
while($base<$palabras){
$cadena = str_ireplace($palabra[$base],'***',$cadena);
$base++;
}
return $cadena;
}

Como se puede ver, la lista de palabras que se eliminan están en la variable $palabras, separadas por comas. Para añadir o eliminar palabras de la lista, sólo hay que tener en cuenta este patrón: "palabra, palabra, palabra, etc."

Hay que notar que utiliza la función str_ireplace, si ponemos esa i delante de replace, no tendrá en cuenta las mayúsculas, y en este caso es algo importante para eliminar tanto Sex, como SEX o sex.

Ejemplos de uso:

echo epm('I want a lots of drugs.'); // I want a lots of ***.

O bien…

$cadena='I will kill you';
$cadena = epm($cadena);
echo $cadena; //I will *** you



Sonido de Youtube (flash) en Ubuntu

ESCRITO POR Josep Viciana EL 07-08-2008 - EN LA CATEGORÍA Informática, Ubuntu.

A la mayoría de gente que utiliza Ubuntu 8.04 con el plugin de Flash - non free - oficial de Adobe no le funciona el sonido de flash, esto es por que falta el paquete libflashsupport, el problema se soluciona instalandolo y reiniciando Firefox.

El comando para instalar el paquete es:

sudo apt-get install libflashsupport

Me gustaría dar una explicación más extensa, diciendo por qué no lleva por defecto este paquete y cosas así, pero no lo sé, y la solución es tan simple como esa linea en terminal…



I ens ha tocat aquesta nit companys lluitar,
Trencar silencis imposats per poder respirar,
I haurem d´encendre amb torxes la terra del nostre cor,
I així per sempre vèncer la negror.

Algunos derechos reservados. Josep Viciana. 08-09-2008.