La macro del SENIAT

Hoy llegando al trabajo se presenta un requerimiento el departamento de administración tiene un inconveniente con la macro del Seniat relacionada con los ISLR (Impuestos sobre la Renta) la macro falla al generar un archivo XML que es el que luego se presenta ante las oficinas del Seniat para hacer los pagos relacionados. Vamos a solucionar este problema.

Read more

Recuperar BLOB vía PHP con Postgresql

Como algunos ya saben estoy llevando un proyecto web para una firma de abogados en donde el objetivo principal es la digitalización y organización de todos los casos que ha llevado el bufete en sus diez años de labores legales, es de suma importancia que el sistema resguarde los documentos legales los organize y lleve las actividades y registros de todos los nuevos casos legales que entran a la firma, en un post anterior ya habíamos visto unas rutinas de como hacer para cargar los archivos y registros a la base de datos de Postgresql ( respaldando los archivos en forma duple [FS&BLOB] ); el caso es que luego de buscar por Internet me di cuenta que existen muy pocas personas que implementan esta tecnología con archivos, la mayoría aplica este enfoque para gestionar las imágenes ( almacenar y desplegar imágenes  ya sea en catálogos, inventarios, existen ejemplos de todo en Internet.  En la universidad llevaba un proyecto similar pero el código se extravió y básicamente había que hacer el trabajo de nuevo. PHP ha cambiado mucho desde ese entonces y las sentencias y rutinas ya no son iguales. En fin veamos el escenario nuevamente, tenemos una BD en Postgresql en esa BD tenemos una tabla y dentro de la tabla hay un cambo tipo OID en ese campo almacenamos los blobs ; es decir los archivos los cuales los cargamos con aquel formulario web y rutina PHP que ya les había mostrado, que esta aquí . Ahora lo que queremos es recuperar ese archivo almacenado allí y esculpirlo al navegador para que el usuario pueda acceder a el. Veamos el código.

Read more

Sistemas Distribuidos basados en Postgresql y Debian GNU/Linux

En esta entrega vamos a configurar dos servidores Postgresql uno como maestro y otro como esclavo la idea es distribuir el esquema de base de datos del servidor maestro a todos los esclavos y así contar con un sistema de alta disponibilidad. El primer paso que debemos hacer es agregar los repositorios backports de Debian squeeze:

Read more

Hash para sistemas PHP

Esta es una rutina de PHP que he utilizado para el desarrollo de sistemas web donde se utilizan usuarios, con este hash podemos crear campos de usuario y contraseña con un cifrado SHA1 y un SALT que es un agregado que se coloca para evitar ataques informáticos de distintos tipos, se los dejo por acá. Espero les guste y lo puedan mejorar, cualquier duda déjenla en los comentarios o en mi correo electrónico.

{code type=PHP}
Read more

El algoritmo de comprobación de archivos PHP

Este programa valida usando herramientas del sistema el tipo de archivo subido por un usuario en un sistema web. A continuación el código:

{code type=PHP}
$extensiones=array(“pdf”);
$nombre=$HTTP_POST_FILES[‘file’][‘name’];
$tamanio=$HTTP_POST_FILES[‘file’][‘size’];
$tipo=$HTTP_POST_FILES[‘file’][‘type’];
//————————
$persona=$_POST[‘nr’];
$materia=$_POST[‘materia’];
$tipof=$_POST[‘tipo’];
$nv=$_POST[‘nv’];
$pdf=’.pdf’;
$rebote=’/var/www/reportes/rebote/’;
$path=”/var/www/ftmp”;
$user = $_POST[‘usuario’];
//———-FIN-VARIABLES———–
$var = explode(“.”,”$nombre”);
$num = count($extensiones);
$valor = $num-1;
for($i=0; $i if($extensiones[$i] != $var[1]) {
echo “Solo archivos(.pdf)”;
echo “Estado:Fallido
“;
exit;
}
}
//FIN Primera barrera{/code}

Read more