Programacion libre, mono, java, php, etc

Sistema de login con KumbiaPHP spirit

Hace mucho publique un tuto de un sistema de login para kumbiaphp y queria mostrar como hacerlo ahora con la beta2 de kumbiaphp.

Vamos a hacer uso de la libreria Auth que sirve justamente para facilitar toda esta tarea de autenticacion de usuarios.

Vamos a suponer que tenemos una tabla como la siguiente:

Tabla Usuarios

Vamos a tener un controlador llamado principal_controller.php con 2 acciones: index y login. Y tendremos 2 vistas correspondientes a esas acciones. Ya saben que index siempre va, aunque en este ejemplo no la vamos a usar para nada.

Lo primero para que los usuarios se logueen sera un formulario de logueo, entonces creamos el archivo login.phtml en la carpeta views/principal que contendra el siguiente codigo:

<?php echo View::content(); ?>

<?php echo Form::open("principal/login"); ?>
<?php echo Form::label("Usuario","login"); ?>
<?php echo Form::text("login"); ?>
<?php echo Form::label("Password","password"); ?>
<?php echo Form::pass("password"); ?>
<?php echo Form::submit("Ingresar"); ?>
<?php echo Form::close(); ?>

(más…)

Continuar leyendo

Como usar FBML en tus aplicaciones para facebook

Vimos hace poco como hacer nuestra primera aplicacion para facebook, un «Hola [tu nombre]». Era lo basico y vamos a seguir avanzando de a poco, a medida que vaya aprendiendo yo

Hoy quiero mostrarles como usar FBML. FBML es un lenguaje de etiquetas muy similar al HTML. El FBML es lo que nos va a permitir tener acceso a diferentes elementos del perfil y acciones de un usuario. Como es eso? Pues facebook por cuestiones de privacidad no permite que uno pueda acceder a datos de los usuarios, uno solo puede acceder a los ID de usuario. Y mediante ese ID mas FBML uno puede acceder a los otros datos del perfil (nombre, foto, amigos, etc etc) y solo desde una aplicacion que se ejecute en el mismo facebook. Es todo una cuestion de seguridad y muy buena segun yo.

Tenemos que recordar que nuestras aplicaciones estan alojadas en nuestros propios servidores y que facebook no nos da ningun alojamiento ni nada parecido, por lo tanto las bases de datos tambien las alojamos nosotros. Entonces a la hora de guardar algo deben guardar el ID de un usuario pues no tendran acceso al nombre, foto ni nada mas del usuario.

Ej: vamos a suponer que tenemos el ID de un usuario X que es 111222777 entonces…si en nuestra aplicacion quisieramos mostrar el nombre de esa persona hariamos asi:

<fb:name uid="111222777" />

O si por ejemplo quisieramos ver las foto de perfil de ese usuario hariamos asi:

<fb:profile-pic uid='111222777' />

Como veran no es dificil. No son muchas etiquetas. Y reciben parametros con las que podremos aprovecharlas mejor.

Veamos un ejemplo mas completo inspirado en un post de ikhuerta.

(más…)

Continuar leyendo

Hola Mundo con PHP y el API de Facebook

Ultimamente me esta interesando bastante el tema las APIs de Facebook y Twitter. Asi que me decidi a buscar info y como siempre la comparto con todos ustedes.

El dia de hoy quiero mostrarles como hacer su primera aplicacion para facebook usando PHP. No es una aplicacion para nada util pues solo muestra un ‘Hola mundo’ seguido de tu nombre. Pero antes hay que entender algunas cosas.

Facebook logro su popularidad al permitir contener aplicaciones realizadas por terceros y realizar negocios con ello. Eso no quiere decir que facebook te de un espacio en disco ni bases de datos para que tu hagas tus aplicaciones. Todo lo que hagas lo tendras que hacer en tu servidor o hosting. Facebook lo unico que hara se brindarte la conexion entre tu aplicacion y los datos de los perfiles de los millones de usuarios de la su red.

Los recursos disponibles a los desarrolladores se agrupan en 3 categorías:

  • API: es una interfaz basada en REST que permite el acceso a los datos del perfil, amigos, fotos y eventos del usuario mediante la utilización de mensajes GET o POST.
  • Consultas (FQL, “Facebook Query Language”): es un lenguaje de consultas similar a SQL utilizado para acceder a los mismos datos que la API pero permitiendo consultas más complejas.
  • Maquetación (FBML, “Faceboook Markup Language”): es un lenguaje de markup similar a HTML que permite ser intercalado con el HTML a utilizar para integrar las aplicaciones a la experiencia de usuario Facebook. Utilizando FBML se pueden acceder distintos puntos de la red como ser el perfil, acciones del perfil, canvas y feeds. Este lenguaje también incluye soporte para AJAX y Javascript.

(más…)

Continuar leyendo

Que es KumbiaPHP?

Son muchos los que me han preguntado por mail, twitter o en los comentarios del blog que diablos es KumbiaPHP? Asi que voy a dedicar un pequeño post a responder esa pregunta.

Aclaro que no soy experto ‘aun’ en el uso de kumbiaphp asi que mis explicaciones pueden estar un poco incompletas.

Segun el blog oficial:

KumbiaPHP es un framework para aplicaciones web libre escrito en PHP5. Basado en las prácticas de desarrollo web como DRY y el Principio KISS para software comercial y educativo. Kumbiaphp fomenta la velocidad y eficiencia en la creación y mantenimiento de aplicaciones web, reemplazando tareas de codificación repetitivas por poder, control y placer.

KumbiaPHP Framework intenta proporcionar facilidades para construir aplicaciones robustas para entornos comerciales. Esto significa que el framework es muy flexible y configurable.

KumbiaPHP es un esfuerzo por producir un framework que ayude a reducir el tiempo de desarrollo de una aplicación web sin producir efectos sobre los programadores.

Sus principales características son:

  • Sistema de Plantillas sencillo
  • Administración de Cache
  • Scaffolding Avanzado
  • Modelo de Objetos y Separación MVC
  • Soporte para AJAX
  • Generación de Formularios
  • Componentes Gráficos
  • Seguridad
  • y muchas cosas más.

Adicional a esto Kumbia integra lo mejor de la Web en un solo framework para producir las aplicaciones Web del mañana (prototypejs, phpMailer, Smarty, FPDF, Script.aculo.us)

(más…)

Continuar leyendo

Crear backups automaticos de MySQL en Ubuntu/Linux

Que feo que es no hacer backups y despues perder datos solo por no tomarme 5 minutos para hacer los debidos respaldos. A quien no le ha pasaso? A mi si, y es por eso que me di a la tarea de buscar como hacer backups automaticos en linux y de manera sencilla. Si bien existen muchas maneras la que les voy a explicar es muy sencilla y la encontre en esta web.

Vamos a usar la herramienta automysqlbackup que no es mas que un script que hace uso de mysqldump para realizar los backups.

Paso 1: Comencemos, primero la instalacion:

sudo apt-get install automysqlbackup

si no usan ubuntu o alguna distro basada en debian pueden de todas maneras ir a la pagina del proyecto y bajar un archivo .sh que es igual de facil de usar.

Paso 2: Ahora vamos a editar los algunos datos como por ejemplo donde queremos guardar los respaldos, para eso hacemos:

sudo gedit /etc/default/automysqlbackup

Paso 3: Busquen la linea que dice

# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost

Ahi colocan el la direccion del host de donde estan por hacer los backups, yo en mi caso deje localhost porque es para respaldar las bases de datos de mi propia pc.

Paso 4: Ahora busquen…

#DBNAMES=»db_ispconfig web1 web2 web3″
DBNAMES=`find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d’/’ -f5 | grep -v ^mysql\$ | tr \\\r\\\n ,\ `

Pueden dejar eso asi tal cual esta y lograran que se haga backup de todas las bases de datos, o pueden modificarlos como indica el ejemplo para solo resguardar algunas bases de datos especificas.

Paso 5: Tambien busquen…

BACKUPDIR=»/var/lib/automysqlbackup»

Eso deben cambiarlo por la direccion donde se vayan a hacer los backups, recomiendo alguna particion que no sea la raiz de Linux. Sino cuando decidan cambiar de distro se van a dar con que se olvidaron los backups…como me paso a mi

Paso 6: Y por ultimo editamos la linea

MAILADDR=»user@domain.com»

Ponemos nuestra direccion de email si queremos que se nos envie un mail con los backups, recomiendo no usarlo, pongan un # delante de la linea sino se vuelve molesto recibir tantos mails con archivos.

Guarden y cierren el archivo.

(más…)

Continuar leyendo

Tutoriales PyGame

Hooo que recuerdos me trae saber de PyGame...y una vez hice un juego con esta libreria. Ahora me entero via email gracias a adrigm de unos nuevos tutoriales que el…

Continuar leyendo