lunes, 25 de marzo de 2019
viernes, 28 de julio de 2017
SISTEMA DE GESTIÓN ESCOLAR
SISTEMA DE GESTIÓN ESCOLAR
Descarga :
Descarga gratis para uso personal, soporte no incluido.
Instalación en windows (servidor local)
- Descargar los archivos fuentes del sistema
- Copiar y descomprimir el archivo en la carpeta c:\wamp\www, al final tendrás una carpeta llamada “sge”, a la cual podrás acceder desde el navegador como: http://localhost/sge/
- Crear una base de datos usando PHPMyAdmin accediendo a la url siguiente: http://localhost/phpmyadmin/
- Importar las tablas de la base de datos para ello vamos a buscar el archivo “sge.sql” , el cual se encuentra en la carpeta llamada “db” de nuestro sistema, una vez localizado procedemos a hacer la importación de los datos desde PHPMyAdmin
- Configurar los datos de conexión a la base de datos editando el archivo de configuración: “DB_driver.php“, que se encuentra en el directorio system\database\ del sistema.
- Vista web: http://localhost/sge/.
Instalación y Soporte Técnico
El sistema de Gestión Escolar es gratuito y puedes usarlo libremente para uso personal, pero no se brinda soporte gratuito para la instalación del sistema ni Ayuda con errores y problemas reportados.
Si deseas contratar el servicio de soporte técnico para el sistema de Gestión Escolar debes enviar un E-mail a: soporte@jlsistemas.org, con el asunto “Soporte Gestión Escolar”, en donde se detalle el tipo de ayuda que se desea recibir. Luego se responderá mediante una cotización con el costo del servicio, forma de pago y tiempo de entrega.
jueves, 20 de julio de 2017
SISTEMA DE INVENTARIO APP SIMPLE CON PHP
- Estadísticas sobre su almacén
- 4 funciones de usuario diferentes (Administrador, Supervisor General, supervisor y vendedor)
- Diseño de Responsivo
- Artículos agrupados por categorías
- Tener seguimiento del lugar donde se encuentran las categorías
- Registros de cada movimiento realizado en el sistema
- Agregación, edición y eliminación de producto a la base de datos.
- Agregación, edición y eliminación de categorías a la base de datos.
- Manejo de perfiles de usuarios
- Modulo de configuración del sistema
Descarga :
Instalación en windows (servidor local)
- Descargar los archivos fuentes del sistema
- Copiar y descomprimir el archivo en la carpeta c:\xampp\htdocs, al final tendrás una carpeta llamada “inventario_app_simple”, a la cual podrás acceder desde el navegador como: http://localhost/inventario_app_simple/
- Crear una base de datos usando PHPMyAdmin accediendo a la url siguiente: http://localhost/phpmyadmin/
- Importar las tablas de la base de datos para ello vamos a buscar el archivo “invent_db.sql” , el cual se encuentra en la carpeta llamada “db” de nuestro sistema, una vez localizado procedemos a hacer la importación de los datos desde PHPMyAdmin
- Configurar los datos de conexión a la base de datos editando el archivo de configuración: “config.php“, que se encuentra en el directorio root del sistema.
- Vista web: http://localhost/inventario_app_simple/
- Datos de acceso por defecto: usuario: admin y contraseña: 123456
Instalación y Soporte Técnico
lunes, 17 de julio de 2017
SISTEMA PARA FARMACIAS DESARROLLADO CON PHP – MYSQL – BOOTSTRAP
El sistema de Inventario para farmacias es un software de oficina de farmacia, que cuenta con un diseño moderno de respuesta ideal para cualquier tipo de negocio de farmacia. Este sistema se puede utilizar para la gestión de datos de una farmacia. Ademas el software de gestión de farmacias esta desarrollado con programación orientada a objetos (POO) y MySQL como gestor de base de datos, para el diseño se ha utilizado Bootstrap 3.
Características principales
- Diseño responsivo
- Carrito de compras integrado para la venta de productos
- Administración de medicamentos o productos
- Permite registrar, editar y eliminar los productos
- Adicionar productos al inventario
- Reporte de productos en inventario
- Listado de productos vendidos
- Listar y generar de reportes de ventas filtrandolos por fecha
Descarga :
Instalación en windows (servidor local)
- Descargar los archivos fuentes del sistema
- Copiar y descomprimir el archivo en la carpeta c:\wamp\www, al final tendrás una carpeta llamada “inventario_farmacia”, a la cual podrás acceder desde el navegador como: http://localhost/inventario_farmacia/
- Crear una base de datos usando PHPMyAdmin accediendo a la url siguiente: http://localhost/phpmyadmin/
- Importar las tablas de la base de datos para ello vamos a buscar el archivo “inventario_farmacia.sql” , el cual se encuentra en el directorio principal de nuestro sistema, una vez localizado procedemos a hacer la importación de los datos desde PHPMyAdmin
- Configurar los datos de conexión a la base de datos editando el archivo de configuración: “Connection.php“, que se encuentra en el directorio database de nuestro sistema.
- Vista web: http://localhost/inventario_farmacia/
- Datos de acceso por defecto: usuario: admin y contraseña: admin
Instalación y Soporte Técnico
SISTEMA DE TICKETS Y SOPORTE CON PHP Y MYSQL
Características del sistema:
- Usuarios: Se puede agregar editar y eliminar usuarios.
- Tickets: Cada usuario puede agregar un ticket.
- Proyectos: Cada usuario puede agregar los proyectos que desee.
- Perfiles: Los usuarios pueden rellenar su perfil.
- Categorías: Los usuarios agregar categorías.
- Reportes: Los usuarios pueden generar reportes.
Capturas del sistema

Instalación en windows (servidor local)
- Descargar los archivos fuentes del sistema
- Copiar y descomprimir el archivo en la carpeta c:\wamp/www/, al final tendrás una carpeta llamada “ticketsop”, a la cual podrás acceder desde el navegador como: http://localhost/ticketsop/
- Crear una base de datos usando PHPMyAdmin accediendo a la url siguiente: http://localhost/phpmyadmin/. Para nuestro caso la hemos llamado a la base de datos con el nombre de: “supportix“, pero tu puedes nombrarla como desees.
- Importar las tablas de la base de datos para ello vamos a buscar el archivo “bd.sql” en el directorio root de nuestro proyecto, una vez localizado procedemos a hacer la importación de los datos desde PHPMyAdmin
- Configurar los datos de conexión a la base de datos editando el archivo de configuración que se encuentra en la siguiente ruta: http://localhost/ticketsop/config/config.php. Esto es la ruta que hemos utilizado para este ejemplo, pero de igual manera puedes colocarlo en la ruta que desees, solo recuerda localizar la carpeta config y dentro de dicho directorio el archivo config.php
- Vista web: http://localhost/ticketsop/
- Datos de acceso por defecto: usuario: admin y contraseña: admin
Instalación y Soporte Técnico
martes, 14 de febrero de 2017
Empecemos.... Todo comienza con un nombre de dominio.
Empecemos.... Todo comienza con un nombre de dominio.
Dile al mundo, a tus clientes o simplemente a tus amigos que estás en Internet. Todo comienza con el nombre de dominio indicado. Te traemos consejos para que puedas descubrir cuál es el tuyo:
Haz que sea fácil de escribir.
Las palabras en lenguaje coloquial o que se escriben de distintas formas hacen que sea difícil encontrar tu sitio.
Mantenlo corto.
Cuando el nombre es largo y complejo tienden a escribirlo mal.
Usa palabras clave.
Incluye las palabras que las personas ingresan al buscarte.
Apunta a tu área.
Si tu negocio es local, incluye tu ciudad o estado.
Evita los números.
Las personas que escuchan la dirección de tu sitio web no sabrán si estás usando un número (5) o la palabra (cinco).
domingo, 30 de octubre de 2016
Reconocimiento Facial con PHP
Reconocimiento Facial con PHP
<?php
class Face_Detector {
protected $detection_data; protected $canvas; protected $face; private $reduced_canvas; #El constructor de clase carga el archivo .dat y lo asigna a una variable public function __construct($detection_file = 'detection.dat') { if (is_file($detection_file)) { $this->detection_data = unserialize(file_get_contents($detection_file)); } else { throw new Exception("No se pudo cargar el archivo"); } } #Dado un archivo imagen public function face_detect($file) { if (!is_file($file)) { throw new Exception("No se puede carga el archivo $file"); } #crea una nueva imagen temporal $this->canvas = imagecreatefromjpeg($file); $im_width = imagesx($this->canvas); $im_height = imagesy($this->canvas); //Resample before detection? $ratio = 0; $diff_width = 320 - $im_width; $diff_height = 240 - $im_height; if ($diff_width > $diff_height) { $ratio = $im_width / 320; } else { $ratio = $im_height / 240; } if ($ratio != 0) { $this->reduced_canvas = imagecreatetruecolor($im_width / $ratio, $im_height / $ratio); imagecopyresampled($this->reduced_canvas, $this->canvas, 0, 0, 0, 0, $im_width / $ratio, $im_height / $ratio, $im_width, $im_height); $stats = $this->get_img_stats($this->reduced_canvas); $this->face = $this->do_detect_greedy_big_to_small($stats['ii'], $stats['ii2'], $stats['width'], $stats['height']); $this->face['x'] *= $ratio; $this->face['y'] *= $ratio; $this->face['w'] *= $ratio; } else { $stats = $this->get_img_stats($this->canvas); $this->face = $this->do_detect_greedy_big_to_small($stats['ii'], $stats['ii2'], $stats['width'], $stats['height']); } return ($this->face['w'] > 0); } public function toJpeg() { $color = imagecolorallocate($this->canvas, 255, 0, 0); //red imagerectangle($this->canvas, $this->face['x'], $this->face['y'], $this->face['x']+$this->face['w'], $this->face['y']+ $this->face['w'], $color); header('Content-type: image/jpeg'); imagejpeg($this->canvas); } #esto solo para JSON public function toJson() { return "{'x':" . $this->face['x'] . ", 'y':" . $this->face['y'] . ", 'w':" . $this->face['w'] . "}"; } public function getFace() { return $this->face; } protected function get_img_stats($canvas){ $image_width = imagesx($canvas); $image_height = imagesy($canvas); $iis = $this->compute_ii($canvas, $image_width, $image_height); return array( 'width' => $image_width, 'height' => $image_height, 'ii' => $iis['ii'], 'ii2' => $iis['ii2'] ); } protected function compute_ii($canvas, $image_width, $image_height ){ $ii_w = $image_width+1; $ii_h = $image_height+1; $ii = array(); $ii2 = array(); for($i=0; $i<$ii_w; $i++ ){ $ii[$i] = 0; $ii2[$i] = 0; } for($i=1; $i<$ii_w; $i++ ){ $ii[$i*$ii_w] = 0; $ii2[$i*$ii_w] = 0; $rowsum = 0; $rowsum2 = 0; for($j=1; $j<$ii_h; $j++ ){ $rgb = ImageColorAt($canvas, $j, $i); $red = ($rgb >> 16) & 0xFF; $green = ($rgb >> 8) & 0xFF; $blue = $rgb & 0xFF; $grey = ( 0.2989*$red + 0.587*$green + 0.114*$blue )>>0; // this is what matlab uses $rowsum += $grey; $rowsum2 += $grey*$grey; $ii_above = ($i-1)*$ii_w + $j; $ii_this = $i*$ii_w + $j; $ii[$ii_this] = $ii[$ii_above] + $rowsum; $ii2[$ii_this] = $ii2[$ii_above] + $rowsum2; } } return array('ii'=>$ii, 'ii2' => $ii2); } protected function do_detect_greedy_big_to_small( $ii, $ii2, $width, $height ){ $s_w = $width/20.0; $s_h = $height/20.0; $start_scale = $s_h < $s_w ? $s_h : $s_w; $scale_update = 1 / 1.2; for($scale = $start_scale; $scale > 1; $scale *= $scale_update ){ $w = (20*$scale) >> 0; $endx = $width - $w - 1; $endy = $height - $w - 1; $step = max( $scale, 2 ) >> 0; $inv_area = 1 / ($w*$w); for($y = 0; $y < $endy ; $y += $step ){ for($x = 0; $x < $endx ; $x += $step ){ $passed = $this->detect_on_sub_image( $x, $y, $scale, $ii, $ii2, $w, $width+1, $inv_area); if( $passed ) { return array('x'=>$x, 'y'=>$y, 'w'=>$w); } } // end x } // end y } // end scale return null; } protected function detect_on_sub_image( $x, $y, $scale, $ii, $ii2, $w, $iiw, $inv_area){ $mean = ( $ii[($y+$w)*$iiw + $x + $w] + $ii[$y*$iiw+$x] - $ii[($y+$w)*$iiw+$x] - $ii[$y*$iiw+$x+$w] )*$inv_area; $vnorm = ( $ii2[($y+$w)*$iiw + $x + $w] + $ii2[$y*$iiw+$x] - $ii2[($y+$w)*$iiw+$x] - $ii2[$y*$iiw+$x+$w] )*$inv_area - ($mean*$mean); $vnorm = $vnorm > 1 ? sqrt($vnorm) : 1; $passed = true; for($i_stage = 0; $i_stage < count($this->detection_data); $i_stage++ ){ $stage = $this->detection_data[$i_stage]; $trees = $stage[0]; $stage_thresh = $stage[1]; $stage_sum = 0; for($i_tree = 0; $i_tree < count($trees); $i_tree++ ){ $tree = $trees[$i_tree]; $current_node = $tree[0]; $tree_sum = 0; while( $current_node != null ){ $vals = $current_node[0]; $node_thresh = $vals[0]; $leftval = $vals[1]; $rightval = $vals[2]; $leftidx = $vals[3]; $rightidx = $vals[4]; $rects = $current_node[1]; $rect_sum = 0; for( $i_rect = 0; $i_rect < count($rects); $i_rect++ ){ $s = $scale; $rect = $rects[$i_rect]; $rx = ($rect[0]*$s+$x)>>0; $ry = ($rect[1]*$s+$y)>>0; $rw = ($rect[2]*$s)>>0; $rh = ($rect[3]*$s)>>0; $wt = $rect[4]; $r_sum = ( $ii[($ry+$rh)*$iiw + $rx + $rw] + $ii[$ry*$iiw+$rx] - $ii[($ry+$rh)*$iiw+$rx] - $ii[$ry*$iiw+$rx+$rw] )*$wt; $rect_sum += $r_sum; } $rect_sum *= $inv_area; $current_node = null; if( $rect_sum >= $node_thresh*$vnorm ){ if( $rightidx == -1 ) $tree_sum = $rightval; else $current_node = $tree[$rightidx]; } else { if( $leftidx == -1 ) $tree_sum = $leftval; else $current_node = $tree[$leftidx]; } } $stage_sum += $tree_sum; } if( $stage_sum < $stage_thresh ){ return false; } } return true; }}?>
Su Implementacion:
<?phpSe incluye la clase Face_Detector.php, se crea una instancia especificando el archivo .dat y se hace uso de la función face_detectet(‘archivo imagen’); indicando el archivo de imagen a detetectar. El resultado sera una imagen con un recuadro sobre el rostro, si es que lo detecto, claro nada es perfecto, si le pasamos una foto cualquiera que no incluya un rostro, los resultados podran ser bastantes curiosos.
require ('Face_Detector.php'); $detector = new Face_Detector('detection.dat'); $detector->face_detect('FOTO.jpg'); $detector->toJpeg(); ?>
Descarga los archivos desde Aqui
viernes, 28 de octubre de 2016
Instala PHP7 en WAMPSERVER
INSTALAR PHP 7 EN WAMPSERVER
; Be sure to appropriately set the extension_dir directive, luego reemplaza hasta la linea que diga Module Setting con el texto siguiente:
; Be sure to appropriately set the extension_dir directive.8.- Realiza una copia del archivo PHP.ini en la misma carpeta y reenombralo por phpForApache.ini
;
extension=php_bz2.dll
extension=php_curl.dll
;extension=php_com_dotnet.dll
;extension=php_enchant.dll
extension=php_fileinfo.dll
;extension=php_ftp.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysqli.dll
;extension=php_odbc.dll
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_phpdbg_webhelper.dll
;extension=php_shmop.dll
; The MIBS data available in the PHP distribution must be installed.
; See [www.php.net]
;extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_sysvshm.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
9.- Abre el archivo wampserver.conf y reemplaza todo el código con el siguiente texto.
<?php
$phpConf['phpIniDir'] = '.';
$phpConf['phpExeDir'] = '.';
$phpConf['phpConfFile'] = 'php.ini';
//PHP 7 needs Apache 2.4.x and doesn't works with Apache 2.2.x
$phpConf['apache']['2.4']['LoadModuleName'] = 'php7_module';
$phpConf['apache']['2.4']['LoadModuleFile'] = 'php7apache2_4.dll';
$phpConf['apache']['2.4']['AddModule'] = '';
?>
Deja tus comentarios.
jueves, 8 de septiembre de 2016
Agregar Campos Dinámicos con Php y Jquery con Arrays
Agregar Campos Dinámicos con Php y Jquery con Arrays
El Siguiente ejemplo muestra la funcionalidad de agregar diferentes cajas de textos que serán recibidos en un array (arreglo) y se imprimirán en pantalla.
Estructura de la aplicación:
- Index.php
- jquery.min
- jquery-addfield2: para agregar cajas de texto dinámicamente por javascript.
- Al inicio codificamos un evento al botón para agregar.
- Luego obtenemos el valor de atributo div_1 pero le quitamos el "div_" para quedarnos con el número (parseInt($(this).parent('div').attr('id').replace('div_','')))
- Y es ese número que va a ir incrementando y concatenándose con cada div que agregáremos con el botón.














