File "productos.php"

Full Path: /home/limout/public_html/CablesPireV2-20240827214508/productos.php
File size: 6.27 KB
MIME-type: text/x-php; charset=utf-8
Charset: utf-8

<?php
    //ini_set('display_errors', 1);
    //error_reporting(E_ALL);
    require_once( 'config.php' );
	require_once( 'makeSecure.php' ); 
	require_once( 'includes/smarty.php' );
	
	// INICIO Cargamos las clases que necesitamos
	include_once( 'includes/clases/clase_general.php' );
	include_once( 'includes/clases/clase_productos.php' );
	include_once( 'includes/clases/clase_categorias.php' );
	// FIN Cargamos las clases que necesitamos	

	// Datos genéricos
	require_once( 'includes/comunesAdmin.php' );
	
	$aMensajes = array(
        '0' => '<i class="fa fa-times"></i> Error al crear el producto',
	    '1' => '<i class="fa fa-check"></i> Producto creado correctamente',
	    '2' => '<i class="fa fa-check"></i> Producto borrado correctamente',
	    '3' => '<i class="fa fa-check"></i> Producto actualizado correctamente',
	    '4' => '<i class="fa fa-times"></i> No se pudo actualizar el producto'
	);
	
	switch(@$_GET['accion'])
		{
		    case 'crear':
		        $oCategorias = new categorias;
		        $oCategorias->iCategoriaPadreId = 0;
		        $oCategorias->busca_categorias();

		        $smarty->assign('aCategorias', $oCategorias->aCategorias );
		        $smarty->assign('sAction', 	$sUrl . 'productos.php?accion=confirmar_crear');
		        $smarty->display('productos/formulario.tpl');
	        break;
		    case 'confirmar_crear':
		        $aValoresProducto = array();

		        foreach( $_POST[ 'categoriaProducto' ] as $iValorId )
    		        {
    		            $oValor = new categorias;
                        $iCategoriaId = $oValor->busca_categoria_por_valor( $iValorId );
                        unset( $oValor );
                        
                        $aValoresProducto[ $iCategoriaId ] = $iValorId;
    		        }
		        
		        $oProducto = new productos;
		        $oProducto->sNombre       = trim( $_POST[ 'nombreProducto' ] );
		        $oProducto->sNumSerie     = trim( $_POST[ 'numserieProducto' ] );
    		        
		        $oProducto->sValoresProducto = implode( ',', $_POST[ 'categoriaProducto' ] );
    		    $oProducto->aValoresProducto = $aValoresProducto;
		        
		        $iNewProductoId = $oProducto->crea_producto();
		        
		        unset( $oProducto );
		        
		        if( $iNewProductoId > 0 )
                    header('location: ' . $sUrl . 'productos.php?accion=listado&mensaje=1' );
		        else
		            header('location: ' . $sUrl . 'productos.php?accion=listado&mensaje=0' );
	        break;
		    case 'editar':
		        $oCategorias = new categorias;
		        $oCategorias->iCategoriaPadreId = '0';
		        $oCategorias->busca_categorias();
		        
		        $iContCategorias = 0;
		        
		        $aCategoriasTotal[ $iContCategorias++ ] = $oCategorias->aCategorias;
		        
		        unset( $oCategorias );
		        
		        $iProductoId = (int)$_GET[ 'id_producto' ];
		        
		        $oProducto = new productos;
		        $oProducto->iProductoId = $iProductoId;
		        $oProducto->busca_productos();
		        
		        foreach( $oProducto->aProductos[ $iProductoId ][ 'aValores' ] as $aValoresCategorias )
    		        {
    		            $oCategorias = new categorias;
    		            $oCategorias->iCategoriaPadreId = $aValoresCategorias[ 'iCategoriaId' ];
    		            $oCategorias->iValorPadreId = $aValoresCategorias[ 'iValorId' ];
    		            $oCategorias->busca_categorias();
    		            
    		            if( count( $oCategorias->aCategorias ) > 0 )
                            $aCategoriasTotal[ $iContCategorias++ ] = $oCategorias->aCategorias;
    		            
    		            unset( $oCategorias );
    		        }
    		    
		        $smarty->assign('sAction', 	   $sUrl . 'productos.php?accion=confirmar_editar');
		        $smarty->assign('aProducto',   $oProducto->aProductos[ $iProductoId ] );
		        $smarty->assign('aCategoriasTotal', $aCategoriasTotal );
		        $smarty->display('productos/formulario.tpl');
	        break;
		    case 'confirmar_editar':
		        $iProductoId = (int)$_POST[ 'iProductoId' ];
		        
		        if( $iProductoId > 0 )
    		        {
    		            $aValoresProducto = array();
    		            
    		            foreach( $_POST[ 'categoriaProducto' ] as $iValorId )
        		            {
        		                $oValor = new categorias;
        		                $iCategoriaId = $oValor->busca_categoria_por_valor( $iValorId );
        		                unset( $oValor );
        		                
        		                $aValoresProducto[ $iCategoriaId ] = $iValorId;
        		            }
    		            
    		            $oProducto = new productos;
    		            $oProducto->iProductoId   = $iProductoId;
    		            $oProducto->sNombre       = trim( $_POST[ 'nombreProducto' ] );
    		            $oProducto->sNumSerie     = trim( $_POST[ 'numserieProducto' ] );
    		            
    		            $oProducto->sValoresProducto = implode( ',', $_POST[ 'categoriaProducto' ] );
    		            $oProducto->aValoresProducto = $aValoresProducto;
    		            
    		            $oProducto->actualiza_producto();
    		            
    		            unset( $oProducto );
    		            
    		            header('location: ' . $sUrl . 'productos.php?accion=editar&id_producto=' . $iProductoId . '&mensaje=3' );
    		        }
		        else
		            header('location: ' . $sUrl . 'productos.php?accion=listado&mensaje=4' );
		    break;
		    case 'borrar':
		        if( isset( $_GET[ 'id_producto' ] ) && (int)$_GET[ 'id_producto' ] > 0 )
    		        {
    		            $oProducto = new productos;
    		            $oProducto->iProductoId = (int)$_GET[ 'id_producto' ];
    		            $oProducto->borrar_producto();
    		            
    		            unset( $oProducto );
    		            
    		            header('location: ' . $sUrl . 'productos.php?accion=listado&mensaje=2' );
    		        }
	        break;
			default:
			    $oProductos = new productos;
			    $oProductos->busca_productos();	
				
			    $smarty->assign('aProductos', $oProductos->aProductos );
				$smarty->assign('iMensaje', $_GET[ 'mensaje' ] );
				$smarty->assign('sMensaje', $aMensajes[ $_GET[ 'mensaje' ] ] );
				$smarty->assign('accion', 	'listado');
				
				unset( $oProductos );
				
				$smarty->display('productos/listado.tpl');
			break;
		}
?>