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…

Recopilacion de videotutoriales de PHP y MySQL en español

Una interesante forma de aprender un lenguaje de programación es con el uso de VideoTutoriales, ya que puedes pausarlos o repetir alguna parte en la que tengas una duda cuantas veces quieras. Así que si tu interés es aprender PHP y MySQL desde cero con este método, te dejo unos cursos recomendados:

Curso de PHP y MySQL de illasaron.com

Es posiblemente el curso más conocido de PHP y MySQL en español, creado por el maestro Jesús Conde de Séptimo Continente Virtual. Este curso esta dividido en 5 categorías en los que se ve desde lo más básico a cosas más avanzadas como programación orientada a objetos, creación de un CMS y entre muchos temas más. En total 60 vídeos.

Ver curso en linea.

Curso de PHP y MySQL de cesarcancino.com

Este curso fue iniciado desde este año, desarrollado por César Cancino. En total van 26 vídeos de PHP y MySQL y 5 vídeos de PHP orientado a objetos. Se inicia desde lo básico en PHP, uso de MySQL, PHPmyAdmin, CSS, sesiones, métrica y otros temas.

Ver los Videotutoriales de PHP y MySQL.
Ver los Videotutoriales de PHP orientado a objetos.

Crear una aplicación de Frases para Facebook

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.

De seguro haz visto muchas veces en Facebook aplicaciones que dan frases como por ejemplo la galleta de la fortuna o otras de Frases de celebridades, chistes y cualquier tipo de cosas que uno se pueda imaginar. Para crear este tipo de aplicaciones existe una aplicación (…) que genera automáticamente todo lo necesario para tener nuestra propia aplicación de Frases en Facebook, lo malo de usar este servicio es que no nos permite modificar la aplicación a nuestro antojo y las posibles ganancias que podamos tener son para ellos.

Por esta razón, explicare como desarrollar una aplicación generadora de Frases, que será sencilla pero útil y con el tiempo le iremos agregando más funcionalidades.

Generar frases aleatoriamente con PHP

Lo primero que haremos será crear un script que imprima aleatoriamente frases que tengamos en un archivo de texto plano que llamaremos archivofrases.txt. En este caso podríamos también usar una base de datos MySQL, pero para no hacer el tutorial extenso lo haremos de esta forma que es más sencilla pero de igual forma funcional.

<?php
$archivo ="archivofrases.txt";
$frases = file("$archivo");
$frase = rand(0, sizeof($frases)-1);
echo "<h2>".$frases[$frase]."</h2>";
?>

Si tienes dudas con el anterior código, tal vez te interese Leer archivos de texto usando PHP la única novedad es el uso de la función rand. Si hacen la prueba en su servidor, cada vez que recarguen la pagina aparecerá una frase aleatoria. Cada frase en el archivo debe estar en una linea diferente.

Integrar el generador de frases en PHP con Facebook

Para este paso si nunca haz trabajado con el desarrollo de aplicaciones en Facebook te recomiendo el articulo: Primeros pasos para generar aplicaciones de Facebook así que necesitaras tener conectado Facebook con tu servidor.

Creamos una función en Javascript llamada publicar, en la que usaremos el método Stream.publish propio de Facebook para poder publicar en el muro la frase.

<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'};

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

Solo deben modificar la anterior función con los datos de su aplicación. Por ultimo crearemos un botón llamado Publicar Frase, con el que invocaremos la función publicar:

<input type="button" name="frase" value="Publicar Frase" onclick="publicar();" />

Eso es todo por el momento, después explicare como poder realizar invitaciones a la aplicación, agregar comentarios a la aplicación, agregar tabs/pestañas entre otras cosas.

Leer archivos de texto usando PHP

Anteriormente había escrito como Crear TXT con PHP, pero veo que me falto comentar algunos detalles importantes, así que voy a completar el anterior mini-tutorial, explicando como leer archivos de texto usando PHP.

Cuando usamos la función fopen debemos especificar en el segundo parámetro (pasándolo como string) la razón por la que queremos usar el archivo en concreto, ya sea para lectura o escritura. Me explico, anteriormente para la creación de archivos había usado:

$archivo = fopen ("muriba.txt", "w+");

Lo que hace w+ es tomar el archivo muriba.txt y hace una apertura para lectura y escritura. Si el archivo no existe el intentara crearlo, pero deben darle permiso de escritura, de lo contrario PHP arrojara un error. Si el archivo de texto ya posee una información, este será reemplazado totalmente, así que no es recomendable usar w+ si más adelante queremos añadir texto sin que el anterior se borre. Para poder escribir en un archivo sin afectar el contenido del mismo es recomendable usar el modo a. Para entender un poco mejor esto, tienen a su disposición una tabla con cada uno de los modos que pueden ser usados con fopen:

Funcion fopen
modODescripción
‘r’Apertura para sólo lectura; coloca el puntero al archivo al principio del archivo.
‘r+’Apertura para lectura y escritura; coloca el puntero al archivo al principio del archivo.
‘w’Apertura para sólo escritura; coloca el puntero al archivo al principio del archivo y trunca el archivo a longitud cero. Si el archivo no existe se intenta crear.
‘w+’Apertura para lectura y escritura; coloca el puntero al archivo al principio del archivo y trunca el archivo a longitud cero. Si el archivo no existe se intenta crear.
‘a’Apertura para sólo escritura; coloca el puntero al archivo al final del archivo. Si el archivo no existe se intenta crear.
‘a+’Apertura para lectura y escritura; coloca el puntero al archivo al final del archivo. Si el archivo no existe se intenta crear.
‘x’Creación y apertura para sólo escritura; coloca el puntero al archivo al principio del archivo. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no exite se intenta crear. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT para la llamada al sistema open(2) subyacente.
‘x+’Creación y apertura para lectura y escritura; coloca el puntero al archivo al principio del archivo. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no existe se intenta crear. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT para la llamada al sistema open(2) subyacente.

Continuar leyendo…

JSValidate: Validar formularios con Javascript

JSValidate es un script que nos permite validar formularios de una manera muy sencilla, lo único que debemos hacer es llamar al archivo .JS y seleccionar el tipo de validación que queremos:

Este script requiere otras dos bibliotecas para funcionar, las cuales debemos incluir antes de jsvalidate.js

<script type="text/javascript" language="javascript" src="scriptaculous/lib/prototype.js"></script>
<script type="text/javascript" language="javascript" src="scriptaculous/src/scriptaculous.js"></script>
<script type="text/javascript" language="javascript" src="jsvalidate.js"></script>

Luego en el formulario, indicamos el tipo de validación en el atributo class:

Buscar: <input type="text" name="buscar" class="jsrequired" /><br />  <input type="submit" value="Ir" />

JSValidate nos permite varios tipos de validación:
jsrequired – El campo debe tener algún tipo de valor.
jsvalidate_number – Cualquier número entero, decimal y negativo.
jsvalidate_digits – Solo números.
jsvalidate_alpha – Solo letras.
jsvalidate_alphanum – Solo letras, números y guiones.
jsvalidate_email – Correo electrónico.
jsvalidate_uscanzip – Códigos postales (Estados Unidos y Canadá).
jsvalidate_usstate – Dos letras en mayusculas de estados de USA.
jsvalidate_usphone – Telefonos.
jsvalidate_creditcard – Valida tarjetas de credito como VISA, MasterCard, American Express.
jsvalidate_ssn – Número de seguro social de USA en el formato: XXXXXXXXX, XXX XX XXXX, o XXX-XX-XXXXX

Puedes encontrar más información y documentación aquí. No olvides que este script esta en ingles, pero traducirlo es muy sencillo. Pueden ver un ejemplo que hice usando JSValidate: Calcular IMC.

Descargar JSValidate

Vía ProgramandoIdeas

Quitar publicidad molesta de webs

Hoy en día muchas webs están llenas de publicidad bastante molesta, como esta:

Por eso quiero recomendarles un complemento que nunca me falta en Firefox, se llama Adblock Plus y nos evita ver tanta basura de publicidad. Para usarlo solo hay que dar click derecho sobre la imagen y seleccionar ABP – Bloquear imagen. Este complemento también puede bloquear flash, frames y tiene varias opciones de uso.