Programacion libre, mono, java, php, etc

Sistema de login en KumbiaPHP

Estos ultimos dias he aprendido mucho sobre KumbiaPHP, aprendi de la wiki, el manual y en especial en el IRC de KumbiaPHP. Y quiero ir colocando aqui en el blog lo que voy aprendiendo por 2 razones: Una que me gusta compartir mis conocimientos y otra que asi yo lo tengo de ayuda memoria

Vamos a crear un sistema para el login de usuarios usando la clase Auth, quiero aclarar que estoy usando la version Spirit de KumbiaPHP que la pueden bajar de aqui. Entonces lo primero sera abrir el archivo boot.ini que se encuentra en la carpeta config de nuestra aplicacion e indicarle que debe cargar la libreria auth, el archivo deberia quedar algo asi:

[modules]
libs = auth

Nuestra base de datos sera algo sencilla:

Tabla Usuarios
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 View::content(); ?><br />
Inicio de Session <br/>
<?php echo form_tag("principal/login"); ?>
<label for="login">Usuario:</label>
<?php echo text_field_tag("login"); ?>
<br/>
<label for="password">Clave:</label>
<?php echo password_field_tag("password"); ?>
<br/>
<?php echo submit_tag("Ingresar"); ?>
<?php echo end_form_tag(); ?></p>

Como veran es un simple formulario con 2 campos: login y password. En el controlador tendremos la accion(funcion) que atendera a ese formulario.

function login(){
if ($this->has_post("login","password")){
$pwd = $this->post("password");
$usuario=$this->post('login');
$auth = new Auth("model", "class: usuarios", "login: $usuario", "password: $pwd");
if ($auth->authenticate()) {
$this->redirect("principal/index");
} else {
Flash::error("Falló");
}
}
}

Como veran la clase auth nos ahorra a nosotros las verificaciones de todo tipo sobre si ingreso bien el password o no y si el usuario existe o no. En caso de que el ingreso sea correcto redirigimos al usuario a otra pagina y en caso de que sea incorrecto mostramos un mensaje de error.

Pero no pensaran que la utilidad de Auth acaba ahi verdad? Podemos…

(más…)

Continuar leyendoSistema de login en KumbiaPHP

Como borrar los .SVN de manera sencilla

Haber haber, no saben lo que son los .svn? Ni siquiera saben lo que es SVN?! Pues yo no se los voy a explicar, pero en esta web esta super clarito. Resumidamente SVN un sistema de versionado para llevar control de los cambios realizados en proyectos de desarrollo de software y que ha su vez puede servirnos como sistema de backup, o sea que seria como poder hacer un Ctrl+Z pero con archivos.

El problema que yo tenia es que al bajar algun software por SVN este se bajaba con una carpeta oculta llamada .svn dentro de cada directorio, no es algo malo ya que esa es la forma de trabajar de SVN para llevar registro de los cambios, etc. Pero el problema se presenta a la hora de querer por ejemplo subir ese proyecto a un servidor via FTP, las carpetas ocultas .svn tienen unos cuantos archivos que no pesan nada pero estan, y si el proyecto es grande y tiene cientos de carpetas entonces hace que subir esos archivos sea lento, por eso me puse a buscar alguna manera de borrar esos archivos de manera sencilla.

La encontre en este blog y es simplemente un programa hecho en AdobeAir que nos permitira con un par de click borrar recursivamente todas las carpetas ocultas .svn dentro de un directorio que nosotros elijamos. El programa se llama SubSweep y lo pueden bajar haciendo click aqui.

(más…)

Continuar leyendoComo borrar los .SVN de manera sencilla

Crear y quitar VirtualHost en Apache

En primer lugar habria que definir que es un VirtualHost verdad? Pues son son Host Virtuales Eso significa que podremos tener varios dominios apuntados a la misma pc. Por lo general solemos tener varios proyectos webs en nuestras pcs, casi siempre acomodamos esos proyectos dentro de una misma carpeta (/var/www o la que sea). Y aunque no es muy incomodo trabajar asi hay algunos a los que les gustaria poder acceder de manera aun mas rapida y comoda a sus proyectos. Por ejemplo si tenemos un proyecto en http://localhost/websocial podriamos querer acceder a el simplemente escribiendo http://websocial

Ahora veamos como crear esos VirtualHost en Linux. Les iba a explicar como hacerlo paso a paso pero la verdad existe una manera mas sencilla. Son 2 script que encontre aqui.

El primero es para crear host virtuales y paso a copiarlo aqui:

#!/bin/bash

if [ -z $1 ]
then
echo "Debe ingresar el nombre del dominio"
exit 1
else
DOMINIO=$1
fi

if [ -z $2 ]
then
RUTA="/var/www/"
else
RUTA=$2
fi

echo "Configurando dominio "$DOMINIO

#CREAMOS LA ENTRADA EN /ETC/HOSTS
echo "127.0.0.1	"$DOMINIO >> /etc/hosts

#CREAMOS EL ARCHIVO DE VIRTUAL HOST
touch /etc/apache2/sites-available/$DOMINIO

#AGREGAMOS EL VIRTUAL HOST
echo "<VirtualHost *:80>
ServerAdmin god@$DOMINIO
ServerName  *.$DOMINIO
ServerAlias $DOMINIO

DocumentRoot $RUTA$DOMINIO/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory $RUTA$DOMINIO/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>" > /etc/apache2/sites-available/$DOMINIO

#CREAMOS EL DIRECTORIO PARA EL DOMINIO
mkdir $RUTA$DOMINIO
chmod 775 $RUTA$DOMINIO

#CONFIGURAMOS APACHE
a2ensite $DOMINIO

#REINICIAMOS APACHE
/etc/init.d/apache2 reload

echo "Listo!"

Su utilizacion es muy sencilla. Primero guardar todo lo anterior en un archivo, por ejemplo crearhost.sh y ahora abrimos una consola y nos movemos a donde esta el archivo y escribimos:

sudo sh crearhost.sh midominio /carpeta/proyecto

(más…)

Continuar leyendoCrear y quitar VirtualHost en Apache

Tutorial JavaFx – parte 7

Les habia dicho que en esta parte del tuto ibamos a ver como hacer una interfaz grafica para la conexion entre javafx y mysql (releer o no van a entender este)….pues menti

Antes de ver eso primero vamos a ver como facilitarnos un poco la vida usando una clase para nuestra conexion. Esto nos servira para poder olvidarnos un poco del codigo y hacer una clase reutilizable. Y de paso ven un poco de como usar clases y funciones en javafx

Lo primero sera crear un nuevo proyecto en nuestro NetBeans, yo le he llamado tablesjavafx, dentro de «Source Package» veran un paquete llamado igual que el nombre del proyecto, le hacemos click derecho->New->JavaFX Class y nos aparecera una ventana para crear la nueva clase, yo la he llamado «Database» y click en Finalizar. Al final les deberia quedar algo asi:

screenshot_003

Veran que en las Libraries tambien esta el driver del MySQL, si leyeron el capitulo 6 de este tuto entonces eso ya saben como importarla. Y tambien estamos usando la misma base de datos del capitulo 6.

(más…)

Continuar leyendoTutorial JavaFx – parte 7

Tutorial JavaFX – parte 6

Lamento no estar actualizando el blog como de costumbre pero la verdad es que esta semana es una semana de mier**, pero bueno, googleando veo que mucha gente todavia no sabe como conectar javafx con mysql, pero la verdad es muy sencillo y es casi igual que como lo hice cuando escribi el post de conectar java con mysql. Por cierto es necesario que vean ese post porque sino no van a entender este

Voy a explicar algunas cosas y luego vemos el codigo. Lo primero es que para el ejemplo usare una tabla sencilla llamada «Todos» en una base de datos llamada «clientes». La tabla solo tiene 2 campos:

id es campo clave y autoincremental y task un varchar cualquiera.

screenshot_001En este primer ejemplo haremos algo muy sencillo y poco util ya que nuestro ejemplo lo unico que hara es conectarse a la base de datos, insertar algun valor y luego mostrar todos los registros de la tabla…pero en la consola por eso decia que es poco util.

En la proxima entrega les mostrare como hacer lo mismo pero ya con una interface grafica mas decente. Y antes de empezar les vuelvo a repetir que es mejor que vean el post de como conectar java con mysql porque sino no van a entender este.

(más…)

Continuar leyendoTutorial JavaFX – parte 6

Conectar Java con MySQL

Buenas gente, ya termine mis examenes y estoy tratando de ponerme al dia con mis blogs. Hoy quiero explicarles algo muy simple y es como conectar MySQL con Java y realizar las operaciones basicas (borrar,insertar,actualizar y consultar). Esto lo haremos solo en modo consola, no hare una interfaz grafica ya que en primer lugar jamas explique en este blog como hacer un interfaz grafica.

Lo que vamos a hacer sera de gran interes tambien para todos aquellos que estaban o estan siguiendo mi tutorial de javafx, que se quedo en la parte 5, pues pronto explicare como conectar una base de datos MySQL con JavaFX.

Bueno empecemos, primero he de aclarar que estoy usando el IDE NetBeans 6.7.1 y supondre que todos lo usan, si usan Eclipse deberan agregar el driver MySQL-Connector a las librerias de su proyecto. En cambio si usan NetBeans este ya viene listo para usar.

Abrimos NetBeans y creamos un nuevo proyecto (File->New Proyect->Java->Java aplication), y le ponemos un nombre cualquiera, en mi caso se llama «ejemplo».

Ahora antes de empezar debemos agregar el Driver MySQL-Connector a las librerias del proyecto, esto se hace super sencillo. El proyecto recien creado en NetBeans se ve asi:

screenshot_001

Ahora solo tienen que hacer boton derecho en Libraries->Add Library y les aparecera una venta como esta:

screenshot_007

Busquen el que se llama MySQL JDBC Driver y hagan click en Add Library. Bien ahora volvamos a nuestro Main.java, sera necesario que hagamos unos imports.

(más…)

Continuar leyendoConectar Java con MySQL

Varias Vistas para la misma accion en KumbiaPHP

Bueno, extrañe bloggear ya solo me queda un examen pero esta facil asi que vuelvo a postear.

Aprendi varias cosas ultimamente con KumbiaPHP y en parte gracias a la buena onda de los desarrolladores que siempre estan dispuestos a ayudar.

Hoy quiero compartir con Ustedes un metodo sencillo para tener varias vistas para una misma accion en kumbiaPHP.

De que nos sirve esto? Pues esto es una de las ventajas del modelo MVC y nos sirve para muchas cosas. Por ej: Si yo hago una aplicacion web y quiero que tambien pueda ser accedida desde los celulares no es necesario programar toda la aplicacion de nuevo, sino simplemente cambiar la vista pero que el controlador siga siendo el mismo.

Vamos a lo practico.

Supongamos que tenemos un controlador llamado ejemplo_controller.php y el cual tiene una accion index y esa accion queremos que tenga 2 vistas. El controlador tendra el siguiente codigo:

<?php
class EjemploController extends ApplicationController {

function index($var=null){
 $this-&gt;nombre="Fede";
 if ($var=="wap"){
 $this-&gt;render("index2","default");
 }
}

}
?>

(más…)

Continuar leyendoVarias Vistas para la misma accion en KumbiaPHP

Tutorial JavaFx – parte 5

Hola gente, despues de mucho pensarlo me decidi a reinstalar NetBeans 6.5.1 para poder continuar con el tutorial. Luego me di cuenta que podia tener NetBeans 6.5.1 y Netbeans 6.7 instalados a la vez sin problemas

Recordaran que en la parte 4 del tuto vimos el tema de los eventos, y en las anteriores partes del tutorial veiamos como crear GUIs (Interfaces Graficas) a base de formas basicas e incluso como crear nuestras propias formas. Hoy lo que vamos a ver son 2 cosas bastante sencillas:

  1. Usar componentes de Swing
  2. Acomodar los componentes usando VBox y HBox

Los que ya saben java seguramente encontrar muy aburrida este parte del tutorial, pero muchos otros recien estamos aprendiendo Obviamente vamos a hacer que el programa «haga algo», es un algo muy inutil pero sirve para aprender. Esta sera la GUI que crearemos:

GUI con Swing en JavaFX
GUI con Swing en JavaFX

Lo que hara nuestro programita supongo que ya lo deben estar adivinando. Como veran consta de 1 TextField, 1 Button, 1 Label, 2 RadioButtons y 1 Circle. Al hacer click en el Button el Label cambiara el texto mostrado por lo que sea que hayamos escrito en el TextField. Y los RadioButtons cambiaran el color del Circle dependiendo de cual este seleccionado.

Empecemos…

(más…)

Continuar leyendoTutorial JavaFx – parte 5