Muchas veces necesitamos modificar partes del core de Joomla, pero si modificamos directamente los archivos nos encontramos con el problema de que al actualizar a una nueva versión de Joomla perderemos los cambios. Pero hay una solución para esto, podemos modificar los archivos desde el template que estamos usando
El otro día un cliente nos hizo el encargo de obtener los países a los que pertenecían un listado de IPs de un log. Bueno, pues usamos cualquier servicio de geolocalización de IPs y solucionado. El problema vino cuando el archivo tenía miles de IPs, de modo que era inviable hacerlo a mano. Así que para estos casos PERL viene de PERLas. Bien, lo primero es tener instalado PERL en nuestra distribución de Linux favorita (sí, PERL se programa en Linux ^_^). Y mediante CPAN instalamos el módulo IP-Country, desde una terminal:
#!/usr/bin/perl
use IP::Country::Fast;
my $ips= "ips.txt"; #Archivo de entrada con una IP en cada línea
my $paises="paises.txt"; #Archivo de salida con el número de IPs por país
open (ENTRADA,"<$ips") or (die "ERROR: No puedo abrir el fichero $ips\n");
open (SALIDA,">$paises") or (die "ERROR: No puedo abrir el fichero $paises\n");
my $reg = IP::Country::Fast->new();
my %hashPaises; # Hash contador de veces que aparece cada país
while (){ #Recorremos línea a línea
$ip=$_;
chomp $ip; #Eliminamos el salto de línea
$pais = $reg->inet_atocc($ip); #Obtenemos el país asociado a la IP
$hashPaises{$pais}++; #Sumamos el contador de país
#print SALIDA ($ip."\t".$pais."\n"); #Si quisieramos imprimir cada IP a qué país pertenece, en mi caso eran demasiadas
}
foreach $pais (sort {$hashPaises{$a} <=> $hashPaises{$b} } keys %hashPaises){ #Imprimimos cada país con su cantidad de ocurrencias ordenado de menor a mayor
print SALIDA "$pais $hashPaises{$pais}\n";
}
close ENTRADA;
close SALIDA;
La entrada de hoy va a ser más concreta y técnica que de costumbre. Viene motivada por un proyecto Java con cierta complejidad que estamos acabando y donde muchas de las cosas que hemos programado no tienen documentación (por lo menos en español).
Al grano. Si queremos obtener cual es la fila (row) seleccionada en un jTable de Java utilizamos la función jTable.getSelectedRow() que nos devuelve un entero con la fila seleccionada:
int numFilaSeleccionada=miJTable.getSelectedRow();
Si lo que queremos, es hacer la operación inversa; marcar o seleccionar una fila desde código, es muy tentador hacer (sí, nosotros también lo hemos intentado)
miJTable.getSelectedRow(intFilaSeleccion); //ojo, que esto no funciona
Pero no podía ser tan fácil, la manera correcta de hacerlo es con el modelo de tabla (que aunque no lo hayamos especificado siempre existe uno por omisión):
Como ya os contamos en el post anterior, phpScheduleIt es una aplicación Web libre para la gestión de reservas de usuarios, en este post os vamos a explicar todo lo necesario para instalarlo.
1. Requisitos
PHP 4.3.0 o superior
Base de Datos soportada por PEAR (MySQL es lo más recomendable)
2. Descargar la aplicación
Para instalar la aplicación, lo que primero que tenemos que hacer es descargar el programa. Vamos a www.php.brickhost.com y lo descargamos, al ser una aplicación Web no hay versiones para cada sistema operativo. Una vez descargado el programa, creamos una carpeta llamada phpscheduleit y descomprimimos la aplicación dentro de esa carpeta. Después, copiamos la carpeta phpScheduleIt en la carpeta donde tengamos nuestro servidor:
Si estamos en Linux: normalmente /var/www/html/
Si estamos en Windows y usamos XAMPP: normalmente c:\xampp
Si estamos usando un Hosting: lo subimos a la raíz del hosting Leer más