<?php
//include("pre-pagina");

if($todo_correcto){

	$nombre_empresa = dame_valor_variable_global("nombre_empresa", "");
	$email_empresa = dame_valor_variable_global("email_empresa", "");
	$smtp = dame_valor_variable_global("smtp", "");
	$usuario_email = dame_valor_variable_global("usuario_email", "");
	$password_email = dame_valor_variable_global("password_email", "");
	$GLOBALS['destino'] = "";
	$lista_portadas = Array();
	$GLOBALS['empresa'] = $empresa;
	$GLOBALS['configuracion'] = $configuracion;
	


function genera_texto_articulo($articulo){
$conexionBD = dame_valor_variable_global("conexionBD", false);
$configuracion = $GLOBALS['configuracion'];
?>
<table>
	<tr>
		<td>
<?php
	//Foto
	if (file_exists('portadas/' . $articulo["cod_arti"] . '.jpg')) {
			?><img src="cid:<?= $articulo["cod_arti"]; ?>" width="104"/><?
	}else{
?>
			<img src="cid:no_foto" width="104"/>
<?php
	}
?>
		</td>
		<td>
			<table>
				<tr>
					<td>
                    	<h3>
							<a href="<?= Shop::$configuracion->url; ?>articulo/<?= $articulo['cod_arti']; ?>/<?= $articulo['ean']; ?>/">
								<?= $articulo['nombre_arti']; ?>
							</a>
						</h3>
					</td>
				</tr>
				<tr>
					<td>
						<h5><?= $articulo['autor']; ?></h5>
					</td>
				</tr>
<?php
	if ($articulo["editorial"] != "") {
?>
				<tr>
					<td>
						<h5>
							Editorial: <strong><?= $articulo['editorial']; ?></strong>
						</h5>
					</td>
				</tr>
<?php	}
		$array_temas = array();
		//Vamos ahora a cargar la lista de los temas del art�culo
		$sentencia_sql = "SELECT temasesca.tema cod_tema, traducesca.nombre nombre_esca
						FROM `temasarti`, temasesca, traducesca 
							WHERE temasarti.articulo = " . $articulo["cod_arti"] . " AND temasarti.tema = temasesca.tema 
							AND temasesca.escaparate = traducesca.escaparate";
        $i = 0;
        if ($resultado_temas = mysqli_query($conexionBD, $sentencia_sql)) {
        	while ($fila_temas = mysqli_fetch_array($resultado_temas)) {
				$array_temas[$i] = '<a title="' . $fila_temas['nombre_esca'] . '" href="' . Shop::$configuracion->url . 'escaparates/' . $fila_temas['nombre_esca'] . '/"><span>' . ucwords($fila_temas['nombre_esca']) . '</span></a>';
				$i++;
			}
		}
		$temas_del_articulo = implode(" - ", $array_temas);
		if ($temas_del_articulo != "") {?>
				<tr>
					<td>
						<h5>
							Tema/s:	<strong><?= $temas_del_articulo; ?></strong>
						</h5>
					</td>
				</tr>
<?php	}
		if ($articulo['num_paginas'] > 0) { ?>
				<tr>
					<td>
						<h5>
							N&uacute;mero de pag&iacute;nas:<strong><?= $articulo['num_paginas']; ?></strong>
						</h5>
					</td>
				</tr>
<?php
	 	
	}
		if ($articulo['traduccion'] != "") {
?>
				<tr>
					<td>
						<p>Sinopsis</strong><?= $articulo['traduccion']; ?></p> 
					</td>
				</tr>
<?php
		}
?>
			</table>
		</td>
	</tr>
</table>

<?php
}

function generarNewsletter(){
		include_once("../comunes/email/emails.php");
		$destinatario = $GLOBALS['destino'];
		//$destinatario = "jorge@arminet.es";
		$asunto = "Novedades prueba";
        $cuerpo = $GLOBALS['buffer_total'];
		$cuerpo = dame_email($asunto, $cuerpo);
		envia_email($destinatario, $asunto, $cuerpo);
		$GLOBALS['destino'] = "";
}

function generar_email_cliente_temas($cliente, $escaparates, $email){
	$conexionBD = dame_valor_variable_global("conexionBD", false);
	global $lista_portadas;
	global $escaparates_con_envios;
	$empresa = $GLOBALS['empresa'];
	$configuracion = $GLOBALS['configuracion'];
?>
<html>
    <head>
        <title>Newsletter de <?= Shop::$empresa->nombre ?></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <h2>
            Ultimas novedades
        </h2>
        <br>
        <!--Tabla con los productos-->
        <table id="tabla_productos">
            <tr>
                <td></td>
                <td>

<?php
	$lista_productos = "";
	$conexionBD = dame_valor_variable_global("conexionBD", false);
	$tam_descrip = dame_valor_variable_global("tam_descrip", 0);
	
	$campos = "articulo.codigo cod_arti, stock, pvp, ean, referencia, isbn, autor, editorial, coleccion, pvpoferta,
					REPLACE( articulo.nombre, '".'"'."', '&quot;' ) nombre_arti, 
					articulo.tipo tipo_arti, articulo.familia familia_arti, dto_maximo, familia.grupo grupo_familia, articulo.iva iva_articulo,
					SUBSTRING(REPLACE( REPLACE( REPLACE( traduccion, '<br>', ' ' ),'<br/>', ' ' ),'<br />', ' ' ), 1, $tam_descrip) traduccion,
					pendiente_envio_suscripcion, fecha_envio_suscripcion, num_paginas";
	$sentencia_sql = 'SELECT "A", orden, 0,';
	$sentencia_sql.= "$campos
					FROM ((articulo LEFT JOIN traducarti ON articulo.codigo = traducarti.articulo)
					 LEFT JOIN familia ON articulo.familia = familia.codigo),
						lescaparate
					WHERE (articulo.codigo = lescaparate.articulo)
					AND (cescaparateweb IN ($escaparates))
					AND (lescaparate.visible = 1)
					AND (articulo.pendiente_envio_suscripcion = 1)
					UNION\n";
	$sentencia_sql.='SELECT "B", 0, articulo.fecha_alta, ';
	$sentencia_sql.="$campos
					FROM familiasesca, ((articulo LEFT JOIN traducarti ON articulo.codigo = traducarti.articulo)
					 LEFT JOIN familia ON articulo.familia = familia.codigo)
					WHERE (articulo.familia = familiasesca.familia)
					AND (familiasesca.escaparate IN ($escaparates))
					AND (articulo.pendiente_envio_suscripcion = 1)
					UNION\n";
	$sentencia_sql.='SELECT "B", 0, articulo.fecha_alta, ';
	$sentencia_sql.="$campos
					FROM temasesca, temasarti, ((`articulo` LEFT JOIN traducarti ON articulo.codigo = traducarti.articulo)
					 LEFT JOIN familia ON articulo.familia = familia.codigo)
					WHERE (temasarti.tema = temasesca.tema)
					AND (escaparate IN ($escaparates))
					AND (temasarti.articulo = articulo.codigo)
					AND (articulo.pendiente_envio_suscripcion = 1)
				ORDER BY 1 , 2 DESC, 3 ASC LIMIT 0, 8";
	$escaparates_con_envios .= ($escaparates_con_envios != "") ? ", " : "";
	$escaparates_con_envios .= $escaparates;
	if ($lista_arti = mysqli_query($conexionBD, $sentencia_sql)) {
		$lista_portadas[0][0] = "no_foto";
		$lista_portadas[0][1] = "jpg";
		$i = 0;
       	while ($fila_arti = mysqli_fetch_array($lista_arti)) {
			if (file_exists('portadas/' . $fila_arti["cod_arti"] . '.jpg')){
				$i++;
				$lista_portadas[$i][0] = $fila_arti["cod_arti"];
				$lista_portadas[$i][1] = "jpg";
			}
			genera_texto_articulo($fila_arti);
			$lista_productos .= ($lista_productos != "") ? ", " : "";
			$lista_productos .= $fila_arti["cod_arti"];
		}
	}
	//Pie de página
?>
                </td>
                <td></td>
            </tr>
            <tr>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
        </table>
        <!--Pie del newsletter-->
        <table id="pie">
            <tr>
                <td ></td>
                <td>
                    <?=Shop::$empresa->nombre?>, Telefono:<?=Shop::$empresa->telefono_empresa?>, visita nuesta web <a href="<?=Shop::$configuracion->url?>"><?= Shop::$configuracion->url ?></a>
                </td>
                <td ></td>
            </tr>
        </table>
    </body>
</html>
<?php
	return($lista_productos);
}
//A partir de ahora toda la salida se guardar� en el buffer
ob_start();

//Vamos a empezar por cargar los clientes con los temas asociados
$sentencia_esca_padre = "SELECT cliente, cescaparate, email, traducesca.nombre nombre_esca FROM cliente, suscrip_esca, traducesca
							WHERE cliente.codigo = suscrip_esca.cliente AND traducesca.escaparate = suscrip_esca.cescaparate
							 ORDER BY cliente ASC";
$ultimo_cliente = 0;
$ultimo_email = "";

$lista_escaparates_cli = "";
$lista_productos = "";
$lista_emails_envio = array();
$lista_temas_envio = array();
$posicion_array_temas = 0;
$escaparates_con_envios = "";
	
if ($resultado = mysqli_query($conexionBD, $sentencia_esca_padre)){
	while( $fila = mysqli_fetch_array($resultado) ){

		//Si estamos en el primer cliente lo inicializamos todo
		if ($ultimo_cliente == 0){
			$ultimo_cliente = $fila['cliente'];
			$ultimo_email = $fila['email'];
			$lista_escaparates_cli = $fila['cescaparate'];
		}
		//Si el �ltimo cliente ha cambiado, hay que enviar lo que llevamos hasta ahora
		if ($ultimo_cliente != $fila['cliente']){
			$lista_productos .= ($lista_productos != "") ? ", " : "";
			$lista_productos .= generar_email_cliente_temas($ultimo_cliente, $lista_escaparates_cli, $ultimo_email);
			//Guardamos la direcci�n de destion para que al vaciar el buffer sepa cual es
			$GLOBALS['destino'] = $ultimo_email;
			$lista_emails_envio[$posicion_array_temas] = $ultimo_email;
			$GLOBALS['buffer_total'] = ob_get_contents();
			generarNewsletter();
			ob_flush();
			//Reinsertamos el �ltimo cliente
			$lista_escaparates_cli = $fila['cescaparate'];
			$ultimo_cliente = $fila['cliente'];
			$ultimo_email = $fila['email'];
			$posicion_array_temas++;
			$lista_temas_envio[$posicion_array_temas] = "#" . $fila['nombre_esca'] . ". ";
		}else{
			$lista_escaparates_cli .= ( $lista_escaparates_cli != "") ? ', ' : "" ;
			$lista_escaparates_cli .= $fila['cescaparate'];
			$lista_temas_envio[$posicion_array_temas] .= "#" . $fila['nombre_esca'] . ". ";
		}
	}
}
//Cuando hemos llegado al �ltimo, si hay cosas que enviar, las enviamos
if ($ultimo_cliente != 0){
	$lista_emails_envio[$posicion_array_temas] = $ultimo_email;
	$lista_productos .= ($lista_productos != "") ? ", " : "";
	//Cuando terminamos hay que hacerlo tambi�n
	$lista_productos .= generar_email_cliente_temas($ultimo_cliente, $lista_escaparates_cli, $ultimo_email);
	//Guardamos la direcci�n de destion para que al vaciar el buffer sepa cual es
	$GLOBALS['destino'] = $ultimo_email;
	$GLOBALS['buffer_total'] = ob_get_contents();
	generarNewsletter();
	ob_flush();
}

//El pen�ltimo paso es marcar como enviados los que tenemos en "lista_productos"
$sentencia_sql = "UPDATE articulo SET pendiente_envio_suscripcion = 0, fecha_envio_suscripcion = CURRENT_TIMESTAMP() WHERE codigo IN ($lista_productos)";
mysqli_query($conexionBD, $sentencia_sql);

//Llegados a este punto voy a mostrar una web con la lista de emails que se han enviado y sus respectivos temas
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Lista de emails enviados</title>
</head>
<body>
<a href="<?=Shop::$configuracion->url?>admin/suscripciones.php">Volver</a>
<p align="center">Hemos enviado un email a cada una de las siguientes direcciones con los siguientes temas asociados:</p>
<div id="tabla_emails">
	<div class="fila_emails">
<?php
		for ($i = 0; $i < count($lista_temas_envio) ; $i++){
?>
		<div class="columna_email">
			<?=$lista_emails_envio[$i];?>
		</div>
		<div class="columna_temas">
			<?=$lista_temas_envio[$i];?>
		</div>
<?php
		}
?>
	</div>
</div>
</body>
</html>

<?php
	//Vamos a poner como enviados aquellos art�culos sin sucripci�n pendiente de enviar

	//Hay que hacerlo con 3 updates
	$sentencia_sql = "UPDATE articulo, temasesca, temasarti SET articulo.pendiente_envio_suscripcion = 0, articulo.fecha_envio_suscripcion = CURRENT_TIMESTAMP()
					WHERE (temasarti.tema = temasesca.tema)
					AND (escaparate NOT IN ($escaparates_con_envios))
					AND (temasarti.articulo = articulo.codigo)
					AND (articulo.pendiente_envio_suscripcion = 1)";
	mysqli_query($conexionBD, $sentencia_sql);
	$sentencia_sql = "UPDATE articulo, familiasesca SET articulo.pendiente_envio_suscripcion = 0, articulo.fecha_envio_suscripcion = CURRENT_TIMESTAMP()
					WHERE (articulo.familia = familiasesca.familia)
					AND (escaparate NOT IN ($escaparates_con_envios))
					AND (articulo.pendiente_envio_suscripcion = 1)";
	mysqli_query($conexionBD, $sentencia_sql);
	$sentencia_sql = "UPDATE articulo, lescaparate SET articulo.pendiente_envio_suscripcion = 0, articulo.fecha_envio_suscripcion = CURRENT_TIMESTAMP()
					WHERE (lescaparate.arti = articulo.codigo)
					AND (lescaparate.cescaparateweb NOT IN ($escaparates_con_envios))
					AND (articulo.pendiente_envio_suscripcion = 1)";
	mysqli_query($conexionBD, $sentencia_sql);
	
	$GLOBALS['destino'] = "";
ob_end_flush();
}

//include("post-pagina.php");
?>
