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':'http://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");*/
 }
?> 

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.

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…