Ir a la home
Invitado   
Recursos y discusiones sobre desarrollo web.
9/9/2010, 22:57:21



|< < | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | > >| [ 16 a 30 de 387 ]

30/07/2009 a las 01:49:43h.

Humor y ocio > Vídeos

Camera café - Abusos

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Genial gag de Camera Café en el informático se ve sometido a todo tipo de abusos hasta que le comentan la solución mágica:

Objeto Flash

    Editado por Daniel el 30/07/2009 a las 01:53:07h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




07/07/2009 a las 13:44:26h.

Programación y Desarrollo web > PHP

Funciones de acceso seguro a Base de Datos mySQL desde PHP

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Edit: hay otro mensaje con una solución de acceso a base de datos integrada en una clase. Además, retorna los resultados en arrays.

Hace un tiempo decidí asegurar las consultas a la Base de datos, tanto de esta web como de Dynamic Web Resources, en aquella época, aún en construcción.

El caso es que ya tenía un archivo include que se encargaba de la conexión, asi que lo reformulé añadiéndole unas funciones que ahora permiten controlar mysql a través de ellas. Con esto consigo que, si por casualidad quisiese cambiar a Posgres toda la web, pudiese hacerlo cambiando tan solo este archivo.

Lo hice de una manera funcional, ya que para reutilizar todos los archivos de de esta web sin modificarlos no podía pasarlo a objetos.

Mas adelante, modifiqué el archivo para usar las funciones mysqli, que dan mas rendimiento.

Para finalizar, activé el soporte UTF8 por defecto en la conexión, para compatibilizar con cualquier idioma (característica de Dynamic Web Resources) e implementé una función paramétrica para hacer los queries que escapa los parámetros automáticamente teniendo en cuenta la configuración del servidor. Para mantener la compatibilidad, la misma función se puede usar con queries no paramétricos, pero no ofrece escapamiento de carácteres automático.

A final, dicho include quedó así:



<?php
if( !isset($conectado) ) {

/**
 * Config. de la BBDD, conexion a MySQL.
 * Rellenar estas variables con los datos del servidor:
 */
    $config["DB_HOST"] = "localhost";
    $config["DB_LOGIN"] = "user";
    $config["DB_PASSWORD"] = "pass";
    $config["DB_NAME"] = "db_name";

    // FIN CONFIGURACION


    $ddbb["db"] = false;

    function ddbb_query($q) {
        global $ddbb;
        $n func_num_args();
        if( $n ) {
            $a func_get_args();
            for( $i 1$i $n$i++ ) {
                if(get_magic_quotes_gpc()) $a[$i] = stripslashes($a[$i]);
                if(!is_numeric($a[$i])) $a[$i] = mysqli_real_escape_string$ddbb["db"], stripslashes($a[$i]));
                }
            $c call_user_func_array('sprintf'$a);
            if( isset($ddbb) && isset($ddbb["debug"]) && $ddbb["debug"] ) echo "\n<!-- [ ".$c." ] -->\n";
            return mysqli_query$ddbb["db"], $c);
            }
        if( isset($ddbb["debug"]) && $ddbb["debug"] ) echo "\n<!-- [ ".$q." ] -->\n";
        return mysqli_query$ddbb["db"], $q);
        }


    function ddbb_last_id() {
        global $ddbb;
        return mysqli_insert_id($ddbb["db"]);
        }


    function ddbb_num_rows(&$r) {
        return mysqli_num_rows($r);
        }

    function ddbb_fetch_array(&$r$i) {
        return mysqli_fetch_array($r);
        }

    function ddbb_fetch_row(&$r$i) {
        return mysqli_fetch_row($r);
        }

    function ddbb_bool($b) {
        return ( $b );
        }

    if( !( $ddbb["db"] = mysqli_connect($config["DB_HOST"], $config["DB_LOGIN"], $config["DB_PASSWORD"], $config["DB_NAME"] ) ) ) {
        echo "<p align=\"center\"><b>Error, no he podido conectar a la base de datos.</b></p>";
        }
     else {
        // nuevo metodo: mysqli_query( $ddbb["db"], "SET NAMES 'utf8'");
        mysqli_set_charset$ddbb["db"], 'utf8');
        $conectado true;
        }
    } // FIN


Un ejemplo de su uso puede ser:

$q = ddbb_query("SELECT COUNT( * ) AS n FROM `%s` WHERE UPPER( `Usuario` ) = '%s'", $tablaUsuarios, $_GET["usuario"]);
if( $f = ddbb_fetch_array( $q, 0 ) ) echo "<"."?xml version=\"1.0\" encoding=\"UTF-8\"?".">\n\n".$f["n"]."\n";




    Editado por Daniel el 19/05/2010 a las 13:07:57h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




03/06/2009 a las 17:03:56h.

Juegos > Juegos PHP

Juego estrategia online español y gratuito: Medievol

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
He encontrado un juego de estrategia online gratuito que tiene muy buena pinta: Medievol.

De momento llevo casi una semana y está bastante entretenido. Utilizan un sistema premium que da alguna ventaja, como colas de construcciones, etc, que es como sacan ingresos, además de algo de publicidad en la página.

Aquí os dejo una captura de la información del imperio, una de las pantallas del juego.

Información del imperio, medievol


Como curiosidad, comentar que está hecho en PHP.

    Editado por Daniel el 03/06/2009 a las 17:05:15h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




29/05/2009 a las 17:35:42h.

Humor y ocio > Presentaciones

Fotos y carteles curiosos

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Objeto Flash

    Editado por Daniel el 29/05/2009 a las 18:37:50h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




28/05/2009 a las 04:34:36h.

Programación y Desarrollo web > CSS

Limpiar un float sin usar un clear.

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
A veces necesitamos limpiar ciertos float de nuestra página pero, para no romper el esquema de la web, no podemos usar un clear. Esto se da, sobretodo, cuando trabajamos con contenidos dentro de columnas.

Para poder limpiarlo podemos meter el contenido en un div con overflow:auto:


<div style="float: left; width: 33%;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis in odio magna. Sed lacinia pulvinar nulla, non vehicula mauris vehicula quis.
Fusce nunc elit, malesuada et ullamcorper a, imperdiet eget est. In iam lectus, blandit sit amet pulvinar et, adipiscing viverra dolor.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida feugiat nisi, nec facilisis nisi ornare ac. Phasellus nec mauris vitae velit elementum accumsan sed non massa.
Integer tincidunt vehicula sodales. Suspendisse consequat tristique velit, eget pulvinar metus cursus nec.
Mauris et mi tortor, sit amet sodales urna. Vestibulum justo risus, vehicula id semper id, consectetur lacinia dui.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</div>

<p>Contenido no "flotado"</p>

<div style="clear: both;">Blah</div>

En este caso, en una maqueta con columnas, nos destrozaría la maqueta. Para resolverlo podemos envolver el contenido anterior al clear en un div, darle overflow:auto y eliminar el clear:


%lt;div style="overflow: auto;">
<div style="float: left; width: 33%;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis in odio magna. Sed lacinia pulvinar nulla, non vehicula mauris vehicula quis.
Fusce nunc elit, malesuada et ullamcorper a, imperdiet eget est. In
diam lectus, blandit sit amet pulvinar et, adipiscing viverra dolor.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida
feugiat nisi, nec facilisis nisi ornare ac. Phasellus nec mauris vitae velit elementum accumsan sed non massa.
Integer tincidunt vehicula sodales. Suspendisse consequat tristique velit, eget pulvinar metus cursus nec. Mauris et mi tortor, sit amet sodales urna. Vestibulum justo risus, vehicula id semper id, consectetur lacinia dui.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</div>

<p>Contenido no "flotado"</p>
</div>

<div>Blah</div>

Con esto logramos que la maquetación quede perfecta.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




27/05/2009 a las 17:50:54h.

Humor y ocio > Vídeos

Anuncio Bancaja con Bud Spencer

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Uno de esos anuncio divertidos y que da ganas de volver a ver, raro hoy en día:

Objeto Flash

    Editado por Daniel el 27/05/2009 a las 17:51:14h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




22/05/2009 a las 14:38:05h.

Linux > Configuraciones Linux

Xorg + HAL, cómo hacerlos funcionar.

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
1) Creamos el archivo .fdi:
HOME ~ # cat /etc/hal/fdi/policy/10-x11-input.fdi
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keys">
          <merge key="input.x11_options.XkbRules" type="string">evdev</merge>
          <merge key="input.x11_options.XkbModel" type="string">evdev</merge>
          <merge key="input.x11_options.XkbLayout" type="string">es</merge>
          <merge key="input.x11_options.XkbOptions" type="string">altwin:menu</merge>
    </match>
  </device>
</deviceinfo>
HOME ~ #

2) (Gentoo) Nos aseguramos que edev y hal estén en el make.conf:
USE="[...] hal [...] "
INPUT_DEVICES="edev [...]"

3) (Gentoo) Actualizamos y compilamos de nuevo el edev de las X:
emerge -uDv --newuse world; emerge x11-drivers/xf86-input-evdev

5) Eliminamos la config de teclado y ratón de /etc/xorg.conf.
Sí, se elimina, desaparecen las definiciones de secciones y las referéncias en ServerLayout (yo, por si acaso, las he comentado).

5) Reiniciamos hald y las X (en mi caso, GDM):
HOME ~ # /etc/init.d/hald restart
HOME ~ # /etc/init.d/xdm restart


*si!*
Voilà!
Funcionando!

El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




18/05/2009 a las 16:24:21h.

Informática general > Trucos y Utilidades

Máquinas virtuales de 64 bits y CPU de nuestro ordenador.

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Actualmente poseo un PC con procesador AMD Turion64 MT30. Esta CPU se caracteriza por ser íntegramente de 64 bits, tener soporte incluso para SSE3 de Intel (podría arrancar MacOS X en este PC) pero por no tener soporte para virtualización.

Actualmente tengo un sistema dual:
  • Por un lado tengo un Windows XP x64 que uso para programas concretos y para probar las webs en Internet Explorer (7, 8) en modo 'real'. Además tengo un par de juegos, para los ratos libres.
  • Por otro lado tengo un sistema Gentoo Linux amd64 desde prácticamente cuando compré el PC, hará ya casi 3 años. Es mi sistema habitual, que usao incluso para jugar con varios juegos libres.
Tenía la idea en mente de arrancar Windows desde una máquina virtual usando para ello los perfiles de hardware, para no tener excesivos problemas.

He probado a hacerlo mediante VMWare, VirtualBox y Qemu. En todos ellos es posible (para VirtualBox y Qemu se necesita crear un disco  virtual VMWare de acceso directo a particiones), pero con unas diferéncias:
  • Qemu es tremendamente lento, incluso con el acelerador kqemu.
  • VMWare es agradable, funciona bastante bien.
  • VirtualBox es práctimanete igual que VMWare, pero gratuito.

Esto lo he porbado con sistemas operativos de 32 bits (mi antiguo windows XP Professional de 32 bits), pero en 64 bits hay un hándicap:
Si quieres ejecutar un huésped de 64 bits tu sistema ha de soportar las instrucciones de virtualización, Intel-VT o AMD-V. Tienen esta tecnología los Intel Core 2 y los AMD Athlon64 x2 con socket AM2 y Turion64 x2 y superiores (al fin y al cabo, Athon y Turion son casi lo mismo pero en portátil). Mi caso, el MT-30, es un Turion64 pero de un solo core, con lo que me quedo sin las intrucciones necesárias para ejecutar un huésped de 64 bits.
        ;_;


Bueno, ahora que el portátil tiene ya mucho trote habrá que empezar a plantearse uno nuevo, y dejar éste para mi pareja... A ver si a finales de año....


Información sacada de experiencia propia y de varios artículos sobre los procesadores Intel y AMD en la wikipedia, tanto en español como inglés.

    Editado por Daniel el 10/06/2010 a las 12:13:21h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




07/05/2009 a las 17:27:01h.

Programación y Desarrollo web > Utilidades web

Añadir un TagBoard 2.00 a tu blog de blogger.com

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1

Aquí explicaremos paso a paso cómo instalar un TagBoard de www.dwebresources.com en tu blog de blogger. Cambiando las opciones también se podría integrar en cualquier aplicación de Google, como iGoogle.

Se puede instalar con una sala propia o con una sala automática. El procedimiento es el mismo pero hemos de crear nuestra sala antes, en caso de que la queramos propia.

Para crear nuestra sala:

  1. Primero hemos de acceder a la web de los TagBoards, www.dwebresources.com Allí procederemos a darnos de alta si no lo estamos ya o a identificarnos en el cuadro de la derecha.

  1. Accedemos a la página “crear tu sala personalizada”.

  2. En el paso “2. Selección de categoría” seleccionamos una o usamos el formulario de debajo para crear una categoría a nuestro gusto.

  3. En el paso “3. Selección de sala” usamos el formulario para crear una sala para nuestra web. Si  anteriormente ya habíamos creado una y queremos saber su ID, al seleccionarla aparecerá su ID.

  4. Tras ésto nos dará la ID en un mensaje como éste: “4. ID de sala:7


Una vez tenemos la ID de la sala que queremos nos lo apuntamos.


Para agregar nuestro TagBoard a Blogger:

  1. Accedemos a www.blogger.com y nos identificamos

  2. En la lista de nuestros blogs, accedemos a la opción “Diseño” del blog al que queremos añadir el TagBoard.

  3. Escogemos la opción “Añadir un gadget” donde queramos insertarlo.

  4. En el menú de la izquerda, seleccionamos “Añade tu propio”,

  5. En la URL que nos solicita ponemos: http://www.dwebresources.com/widgets/google_tagboard.xml y apretamos “Añadir por URL”.

  6. Ahora aparece la pantalla de configuración. Mientras lo configuráis veréis un aviso de que no se puede detectar vuestra página. De momento no le hagáis caso, eso es porque estáis en la página genérica de Blogger, que es común para todos los blogs. Si este mensaje aparece una vez ya estáis en vuestra web deberíais pensaros sériamente usar una sala personalizada, que además tiene mas ventajas.

  7. Elegimos los colores que queramos (para saber los códigos podemos usar este selector de color, el código que hemos de poner es el que sale en el cuadro "#:", con una almohadilla delante -por ejemplo #ff0000 es rojo-). Si hemos creado nuestra propia sala, ponemos la ID en la opción que dice “ID sala (vacío=auto.)”. En caso contrario no pongáis nada.

  8. Apretamos “Guardar” y ya podéis ver vuestro TagBoard en el blog.


Si el TagBoard lo hemos creado en la página podremos borrar los mensajes identificándonos en la página www.dwebresources.com . Aparecerá una “[X]” al lado de los mensajes que podremos usar para borrarlos.


Y ya está hecho! *si!*



    Editado por Daniel el 10/06/2010 a las 14:06:46h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




07/05/2009 a las 02:42:03h.

Proyectos > Naguissa Toolkit (JS +extensiones PHP)

ngstk v1.4 - Base64 encode / Decode

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Se ha añadido una nueva versión de Toolkit, la 1.4. Sus cambios son:
  • Añadidas funciones de base64:
    • base64_encode( string );
    • base64_decode( string );
  • Añadida versión comprimida (.js) y versión completa (.full.js). La versión comprimida ocupa aproximadamente el 50% de tamaño.
Podéis encontrarlo en la carpeta de versiones del toolkit.

El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




30/04/2009 a las 12:21:05h.

Proyectos > Naguissa Toolkit (JS +extensiones PHP)

ngstk v1.3 - Funciones de cookies

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Se ha añadido una nueva versión de Toolkit, la 1.3.00. Sus cambios son:
  • Corregidos / mejorado varios códigos.
  • Aumento de compatibilidad con KHTML (Konqueror, Camino...). También con IE6.
  • Añadidas funciones de cookies:
    • setCookie( nombre, valor, dias_caducidad);
    • getCookie( nombre );
    • delCookie( nombre );
  • Añadida versión comprimida (.js) y versión completa (.full.js). La versión comprimida ocupa aproximadamente el 50% de tamaño.
Podéis encontrarlo en la carpeta de versiones del toolkit.




El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




22/04/2009 a las 04:03:26h.

Noticias y páginas personales > Noticias y novedades de la web

Nueva web y migración de aplicaciones

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Si intentáis acceder a las imágenes aleatórias podéis observar que han cambiado de estética y de página.

Con ellas os presento la nueva web de recursos www.dwebresources.com, donde iré poniendo las aplicaciones que vaya creando. La estética está mas cuidada, y la seguridad es la base de la nueva web.

Tendrá menos posibilidades participativas, pero a cambio una mejor integración general.

Los datos se conservan, incluído el usuario y el password. Además ahora se pueden usar avatares mediante URL, y varias cosas mas.

Aún falta rellenar un poco, pero poco a poco irá mejorando.

No os olvidéis de comentar vuestras opiniones en el tagboard de la nueva web.

Saludos!

    Editado por Daniel el 22/04/2009 a las 04:09:36h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




20/04/2009 a las 12:57:13h.

Programación y Desarrollo web > PHP

Seguir redirecciones en PHP con SAFE_MODE activado y/o open_basedir desactivado.

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Si tenemos un servidor PHP con SAFE_MODE activo o open_basedir desactivado el módulo cURL de PHP no nos dejará seguir las redirecciones de las URLs, dándonos un bonito error:

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in XXXXXX

Para seguir las redirecciones hemos de hacerlo manualmente. Para ello encontré una web donde explicaban cómo abrir las URLs siguiendo las redirecciones, y he modificado el código para que retorne la URL final en lugar de los datos, de los cuales ni tan siquiera cargue el body, para evitar carga al servidor:
function get_web_page_url($url){
$go = curl_init($url);
curl_setopt ($go, CURLOPT_URL, $url);
//follow on location problems
$last = curl_redir_exec($go);
curl_close($go);
return $last;
}

//follow on location problems workaround
function curl_redir_exec($ch) {
static $curl_loops = 0;
static $curl_max_loops = 10;
if ($curl_loops++ >= $curl_max_loops) {
$curl_loops = 0;
return FALSE;
}
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
$data = curl_exec($ch);
list($header, $data) = explode("\n\n", $data, 2);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($http_code >= 301 && $http_code <= 305) {
$matches = array();
preg_match('/Location:(.*?)\n/', $header, $matches);
$url = @parse_url(trim(array_pop($matches)));
if (!$url) {
//couldn't process the url to redirect to
$curl_loops = 0;
return false;
}
$last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
if (!$url['scheme']) $url['scheme'] = $last_url['scheme'];
if (!$url['host']) $url['host'] = $last_url['host'];
if (!$url['path']) $url['path'] = $last_url['path'];
$new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:'');
curl_setopt($ch, CURLOPT_URL, $new_url);
return curl_redir_exec($ch);
}
else {
$curl_loops=0;
$last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
return $last_url['scheme'] . '://' . $last_url['host'] . $last_url['path'] . ($last_url['query']?'?'.$last_url['query']:'');
}
}

Reordad que para usar URLs complejas (ej: espacios, %, etc) debemos codificarlas correctamente. Para ello tembién tengo una función:

function normalize_url( $url ) {
// Normalizamos el nombre para el fopen; se ha de hacer un rawurlencode para codificar todos los caracteres menos el separador (/) y el http(s):
$urlarr = explode("/",$url);
foreach( $urlarr as $key => $valor )
if( $valor != "http:" && "https:" ) $urli[$key] = rawurlencode($valor);
else $urli[$key] = $valor;
return implode("/",$urli);
}


Un ejemplo de uso, para obtener la información de una imágen, tal y como se hace en las imágenes aleatórias, sería:

  $urli = get_web_page_url( normalize_url($url) );
$datos = getimagesize($urli);



El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




09/03/2009 a las 22:18:58h.

Humor y ocio > Presentaciones

Spain is different!

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1


Pasada por mail por VeritisQuo

El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)




23/02/2009 a las 11:31:22h.

Humor y ocio > Imágenes y caricaturas

Matrix IV - Cambio de protagonista

 Daniel

avatar
Tipo: Administrador total
Grupo: Administrador
Posts: 642
Unido: 03/10/2006
#miembro: 1
Tras mucho tiempo desde la última entrega, Matrix III, llega Matrix IV. Para la nueva entrega se ha optado por cambiar de protagonista, dado que el nuevo ha demostrado sobradamente que puede esquivar objetos a alta velocidad en la vida real. Aquí os dejo un mini-tráiler:

Matrix IV - Bush ahead!
bush matrix





    Editado por Daniel el 24/02/2009 a las 10:30:09h.


El increíble botón que no hace nada...
¡No pulsar!
(emerge rulz)
Veritis_Quo el 24/02/2009 a las 09:07:03h.:
Re: Matrix IV - Cambio de protagonista

Daniel el 24/02/2009 a las 10:30:43h.:
Re: Re: Matrix IV - Cambio de protagonista





|< < | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | > >| [ 16 a 30 de 387 ]






Hay 1 visitantes activos (0 registrados y 1 invitados):
Invitado
Visitantes hasta hoy.



Enviar a Del.icio.us Enviar a Digg Enviar a Fresqui Enviar a Meneame Enviar a Webeame Recomendar Añadir a Google Añadir a Mi Yahoo Añadir a BlogLines Añadir a Technorati RSS feedValid CSS! Valid XHTML 1.0 Transitional


Visitantes hasta hoy.