Crear una aplicación de Frases para Facebook: Recuperar frases desde una base de datos

Este articulo hace parte de la vieja API de Facebook, para más información sobre la nueva API te recomiendo leer Funcionamiento de la Graph API de Facebook.

Anteriormente había explicado como mostrar aleatoriamente las frases desde un archivo de texto usando PHP, el problema de usar este método es que se puede volver muy fastidioso estar editando el archivo de texto para introducir una nueva frase; el uso de una base de datos convierte este proceso en algo más sencillo ademas nos de muchas más ventajas como la posibilidad de permitirle a los usuarios enviar sus propias frases, mostrar todas las frases en una tabla, etc.

Creando la base de datos en MySQL

Se debe crear una base de datos con el nombre que quieran, en este caso yo usare el nombre “app_quotes” y luego debemos crear una tabla con una estructura como la siguiente:

CREATE TABLE frases
 (
 id INT PRIMARY KEY AUTO_INCREMENT,
 frase VARCHAR(150)
 );

Después de crear la tabla deben insertar las frases para luego mostrarlas.

Recuperar las frases desde la base de datos

$conexion = mysql_connect("localhost", "usuario", "password");
mysql_select_db("app_quotes", $conexion);
$consulta = "SELECT frase FROM frases ORDER BY RAND() LIMIT 1";
$query = mysql_query($consulta, $conexion) or die(mysql_error());
$row = mysql_fetch_row($query);
$frase = $row[0];
echo "La frase del día es: ".$frase;

Publicar la frase en el muro

<script>
 function publicar(){
 var mensaje = "<?php echo $frase; ?>";
 var user_message_prompt = "¿Deseas comentar algo?";
 var user_message = "Que buena frase!";
 var attachment = {'media':
 [{'type':'image',
 'src':'http://tuweb.info/logo.png',
 'href':'http://apps.facebook.com/tuaplicacion/'}],
 'name': mensaje +'<br />',
 'description':'Frases Urban'};

 Facebook.streamPublish(user_message,attachment,'','',user_message_prompt);
 }
publicar();
</script>

Crear una aplicación de Frases para Facebook: Invitar amigos a usar la aplicación

Este articulo hace parte de la vieja API de Facebook, para más información sobre la nueva API te recomiendo leer Funcionamiento de la Graph API de Facebook.

Continuando con el Tutorial para crear una aplicación de frases, veremos algo muy importante para hacer crecer nuestra aplicación: Invitar amigos.

Para hacer esto necesitamos hacer uso de las siguientes etiquetas FBML:

<fb:request-form
 action="index.php?accion=amigos"
 method="POST"
 invite="true"
 type="Tu aplicacion!"
 content="Hola! encontre esta aplicacion y pense que te podria gustar. Descripcion de la aplicacion
 <fb:req-choice url='http://www.facebook.com/login.php?api_key=<c:out value='${apiKey}' />'
 label='Ir a la aplicacion!' />">

 <fb:multi-friend-selector
 showborder="false"
 actiontext="Invita a tus amigos a usar esta aplicacion."
 exclude_ids="<c:out value='${appUserFriends}' />"
 max="20" />
</fb:request-form>

El resultado:

Pueden ver el ejemplo funcionando aquí.

Cryptool

CrypTool: Una herramienta para Criptografía y Criptoanálisis

CrypTool es una de esas herramientas a las que uno les coge cariño rápidamente, yo la llevo usando hace algún buen tiempo para resolver retos de criptografía y me a funcionado de maravilla. Esta herramienta es usada para el aprendizaje de  Criptografía y Criptoanálisis, lamentablemente  solo esta disponible para Windows pero existe una alternativa llamada JCrypTool desarrollada en Java, con la posibilidad de ejecutarse en múltiples sistemas operativos.

Entre las caracterisitcas destacadas de CrypTool podemos encontrar:

  • Numerosos algoritmos criptográficos, clásicos y modernos (cifrado y descifrado, generación de clave, contraseñas seguras, autentificación, protocolos seguros, …)
  • Visualización de varios métodos (p.ej. César, Enigma, RSA, Diffie-Hellman, firmas digitales, AES)
  • Criptoanálisis de ciertos algoritmos (p.ej. Vigenère, RSA, AES)
  • Métodos de medida criptoanalítica  (p.ej. entropía, n-grams, autocorrelación)
  • Métodos auxiliares (p.ej. tests de primalidad, factorización, codificación en base64)
  • Tutorial sobre teoría de números.
  • Ayuda detallada on-line.
  • Script con más información sobre criptografía.

Descargar CrypTool

Función en PHP para recuperar registros a una etiqueta select

Ya he visto en varios foros a personas preguntando como poder recuperar registros de una base de datos MySQL a un campo de selección (<SELECT>), con esto lo que podemos hacer es por ejemplo desde en un formulario de registro, permitir a el usuario seleccionar su ciudad:

<?php
//Brian Urban - https://www.brianur.info
function genera_select($nombre,$id,$tabla,$campo_visual,$campo_valor,$default=0){
 $sql="select $campo_valor, $campo_visual from $tabla order by $campo_visual";
 $result= mysql_query($sql);
 echo "<select name='$nombre' id='$id'>";
 echo "<option value='0'>Seleccione opcion</option>";
 while ($row=mysql_fetch_assoc($result)){
 $id= $row[$campo_valor];
 $texto= $row[$campo_visual];
 $sel="";
 if ($default==$id){
 $sel="Selected";
 }
 echo "\n <option value='$id' $sel>$texto</option>";
 }
 echo "</select>";
}
?>

Continuar leyendo…

Rescatar Contra 3 en 16 minutos

Contra 3 es sin duda un gran clásico de la Super Nintendo, de niño duraba horas intentando rescatarmelo y nunca pude hacerlo hasta hace unos días que desempolve mi vieja SNES para recordar viejos tiempos y con gran alegría logre mi cometido de terminar este titulo. De allí me surgió la duda de saber en cuanto tiempo  podría un “vago” rescatar este juego en nivel Hard y me encontré con  la sorpresa de que Josh Styger lo hizo en 0:16:07:

http://www.youtube.com/watch?v=IDIPozMiiFc

Barcamp Bogotá 2010

Me entero en el sitio de mi amigo czam que el sábado 21 de Agosto se estará realizando el Barcamp Bogotá 2010, un evento internacional de desconferencias; los asistentes llegan, van poniendo su tema de presentación en el tablero y la gente elige a cuál asistir. El único requisito para poder asistir es inscribirte con anticipación de al menos una semana en este formulario. Para mayor información puedes visitar el sitio web oficial.

Detalles del evento

Cuándo: Sábado 21 de agosto de 2010

Horario: 9:00a.m.-5:00p.m.

Dónde:  Fundación Universitaria Cafam

Crear una aplicación de Frases para Facebook: Publicar en muro de amigo

Este articulo hace parte de la vieja API de Facebook, para más información sobre la nueva API te recomiendo leer Funcionamiento de la Graph API de Facebook.

Hasta el momento nuestra aplicación de frases con opción de publicar en nuestro muro la frases, tabs y comentarios debe ir algo así:
La aplicación es funcional pero no tiene ese toque social que puede hacer crecer a la aplicación: Publicar frases en el muro de nuestros amigos. Con esto es que podemos hacer conocer la aplicación y también enviando invitaciones pero de eso hablare en otro post. Para poder realizar esto usaremos el método propio de Facebook llamado Stream.publish del cual ya había hablado en un post anterior.

<script>
function publicar(){
var mensaje = "<?php echo $frases[$frase]; ?>";
var user_message_prompt = "¿Deseas comentar algo?";
var user_message = "Que buena frase!";
var attachment = {'media':
[{'type':'image',
'src':'https://brianur.info/logo.png',
'href':'http://apps.facebook.com/tuaplicacion/'}],
'name': mensaje +'<br />',
'description':'Frases Urban'};
var target_id = <? echo $_POST['friend_sel']; ?>;

Facebook.streamPublish(user_message,attachment,'',target_id,user_message_prompt);
}
publicar();
</script>

Continuar leyendo…

[Tip] Crear una web en varios idiomas

Hace algún tiempo estuve creando una web que fuera multi-idioma pero tenía algo no muy agradable, el usuario tenia que seleccionar el idioma de su preferencia primero para poder acceder al contenido. Para aumentar la usabilidad del sitio hice este pequeño script que toma automáticamente el idioma por defecto del navegador del usuario y de esta forma muestra el contenido:

<?php
 $languaje = getenv("HTTP_ACCEPT_LANGUAGE");
 $idioma = substr($languaje, 0, 2);
 if ($idioma == "es"){
 include("espanol.php");
 }
 elseif ($idioma == "en"){
 include("english.php");
 }
 else {
 echo "Unsupported language"; /*como alternativa pueden incluir un idioma por
defecto: include("english.php");*/
 }
?> 

Crear una aplicación de Frases para Facebook: Tabs y comentarios

Este articulo hace parte de la vieja API de Facebook, para más información sobre la nueva API te recomiendo leer Funcionamiento de la Graph API de Facebook.

Continuando con el tutorial de como crear nuestra propia aplicación de frases para Facebook, explicare como agregar tabs/pestañas para mostrar las secciones que queramos y también añadiremos un formulario para que los usuarios puedan dejar comentarios.

Tabs

De seguro ya has visto las pestañas en Facebook ya que son muy comunes. Básicamente se usan para organizar en secciones el contenido de la aplicación y su uso es bastante fácil, solo necesitaremos usar un par de etiquetas FBML: fb:tabs y fb:tab-item.

<fb:tabs>
<fb:tab-item href="index.php" title="Inicio" selected="true" />
<fb:tab-item href="comentarios.php" title="Comentarios" />
</fb:tabs>

Usando el anterior código tendríamos de una forma muy sencilla dos pestañas, usando el atributo title le asignamos un titulo o nombre a cada una y de igual forma usando href sus respectivos enlaces a la web de cada sección. Para que la pestaña aparezca como seleccionada usamos el parámetro selected=”true”. También se podría usar el parámetro align para que las pestañas se alineen al sentido que se quiera ya que por defecto es a la izquierda.

Continuar leyendo…