<?php
	//---------------------------------------------------------------------------------------------------------
	// 19/Febrero/2018
	// Versión 1.0 Mostramos los ficheros adjuntos de productos
	//---------------------------------------------------------------------------------------------------------
	
	

    function widget_adjuntos_producto(){
		include('comunes/globals.php');
		//Aquí definimos una serie de parámetros que necesitamos
		$funcion_por_defecto = 'aviso_cookies';
		$parametros_por_defecto = array();
		$parametros_recibidos = func_get_args();
		if (count($parametros_recibidos) == 0){
			$parametros_recibidos[0] = $funcion_por_defecto;
		}else{
			if ( ($parametros_recibidos[0] == '') || ($parametros_recibidos[0] == NULL) ){
				$parametros_recibidos[0] = $funcion_por_defecto;
			}
		}
		$parametros_recibidos = mezcla_array_parametros($parametros_por_defecto, $parametros_recibidos);
		$retorno = false;
		//Si entre los parámetros recibidos, tenemos el nombre de la función continuamos
		if (count($parametros_recibidos) > 0){
			//Recogemos el nombre de la función de entre el resto de parámetros
			$nombre_funcion = $parametros_recibidos[0];
			//Quitamos el primer elemento de los parámetros, pues es el nombre de la función
			$parametros_recibidos = array_slice($parametros_recibidos, 1);
			//Si la función existe la ejecutamos
			if(function_exists($nombre_funcion)){
				$retorno = call_user_func_array($nombre_funcion, $parametros_recibidos);
			}
		}
		return($retorno);
	}

	//Esta función me da TODAS las descargas que tiene el clienet sin agrupar por producto ni nada de eso. Es poco útil
	function descargasCliente($fichero = 'adjuntosProducto', $ficheroLineas = 'adjuntoProducto', $ocultarCabecera = false, $cliente = NULL){
		include('comunes/globals.php');
		if (($fichero != NULL) && (is_a($fichero, "OpcionesWidget"))) {
			$opciones = $fichero;
			$fichero = 'adjuntosProducto';
			//Estamos ante un "opcionesWidget, Vamos a sacar de ahí los atributos:
			if (is_a($opciones, 'OpcionesWidget')) {
				$fichero = ($opciones->configuracion->fichero != NULL) ? $opciones->configuracion->fichero : $fichero;
				$ficheroLineas = ($opciones->configuracion->ficheroLineas != NULL) ? $opciones->configuracion->ficheroLineas : $ficheroLineas;
				$ocultarCabecera = ($opciones->configuracion->ocultarCabecera != NULL) ? $opciones->configuracion->ocultarCabecera : $ocultarCabecera;
				$cliente = ($opciones->configuracion->cliente != NULL) ? $opciones->configuracion->cliente : $cliente;
			}
		}

		if ($cliente == NULL){
			$cliente = Usuario::logueado();
		}else if (is_numeric($cliente)){
			$cliente = new Usuario($cliente);
		}
		//Sólo seguimos si hay un usuario especificado
		if ($cliente != NULL){
			//Si tenemos fichero, vamos a mostrarlo:
			$fichero = Theme::findFile($fichero . '.php');
			if ($fichero != NULL) {
				include($fichero);
			}
		}
	}
	
	//A esta función le podemos pasar una lista de ebooks ya cargada del producto para mostrarlos agrupados por producto desde un widget de dicha tabla
	//o bien dejarla que nos muestre la lista completa de líneas de un cliente
	function listaDescargasClienteProducto($ficheroLineas = 'adjuntoProducto', $ocultarCabecera = false, $cliente = NULL, $cargarProducto = false, $listaEbooks = NULL){
		include('comunes/globals.php');
		if (($ficheroLineas != NULL) && (is_a($ficheroLineas, "OpcionesWidget"))) {
			$opciones = $ficheroLineas;
			$ficheroLineas = 'adjuntoProducto';
			//Estamos ante un "opcionesWidget, Vamos a sacar de ahí los atributos:
			if (is_a($opciones, 'OpcionesWidget')) {
				$ficheroLineas = ($opciones->configuracion->ficheroLineas != NULL) ? $opciones->configuracion->ficheroLineas : $ficheroLineas;
				$ocultarCabecera = ($opciones->configuracion->ocultarCabecera != NULL) ? $opciones->configuracion->ocultarCabecera : $ocultarCabecera;
				$cliente = ($opciones->configuracion->cliente != NULL) ? $opciones->configuracion->cliente : $cliente;
				$cargarProducto = ($opciones->configuracion->cargarProducto != NULL) ? $opciones->configuracion->cargarProducto : $cargarProducto;
				$listaEbooks = ($opciones->configuracion->listaEbooks != NULL) ? $opciones->configuracion->listaEbooks : $listaEbooks;
			}
		}

		
		if ($cliente == NULL){
			$cliente = Usuario::logueado();
		}else if (is_numeric($cliente)){
			$cliente = new Usuario($cliente);
		}
		//Sólo seguimos si hay un usuario especificado
		if ($cliente != NULL){
			//Si tenemos fichero, vamos a mostrarlo:
			$ficheroLineas = Theme::findFile($ficheroLineas . '.php');
			if ($ficheroLineas != NULL) {
				if ($listaEbooks == NULL){ 
					$listaEbooks = Ebook::cargarAdjuntosCliente($cliente);
				}
				//Vamos a cargar los adjuntos 
				foreach($listaEbooks as $clave => $adjunto){
					$articulo = NULL;
					if ($cargarProducto){
						$articulo = new Articulo($adjunto->ean);
					}
					include($ficheroLineas);
				}
			}
		}
	}
?>