<?php

// este script genera los dos archivos de interface con las categorias que tengo en la tabla shoop_categorias
//
// el primer archivo, categorias.htm es el menu de navegacion dentro de la tienda
// el segundo archivo, categorias2.htm es el select que aparece en el dialogo del buscador

	include('../db.php');
	include('../../_incl/code.php');

	$resultado = '';
	$resultado2 = '';
	$conn = db_connect();
	if($conn) {
			// tengo que leer primero todos los codigos de secciones
		$query = "SELECT seccion_code FROM shoop_secciones ORDER BY seccion_orden";
		$result = mysql_query($query, $conn);
		$num_results = mysql_num_rows($result);

			// para crear una cadena de menus tal que ", menu_HF, menu_AT, etc"
		$menuses = '';
		for ($i=0; $i <$num_results; $i++){
			$row = mysql_fetch_array($result);		
			$menuses .= ', \'menu_' . $row['seccion_code'] . '\'';
		}
		
			// ahora leo las categorias
		$query = "SELECT seccion_nombre, seccion_code, cat_nombre, cat_codigo FROM shoop_secciones, shoop_categorias WHERE cat_seccion=seccion_code ORDER BY seccion_orden, cat_orden";
		$result = mysql_query($query, $conn);
		$num_results = mysql_num_rows($result);


		$contador = 0;
		$curSeccion = '';

			// aqui empiezo a generar la lista
		$resultado = '<ul id="menuTree">' . "\n";
		for ($i=0; $i <$num_results; $i++){
			$row = mysql_fetch_array($result);

			$cat_code = $row['seccion_code'];
			$cat_seccion = $row['seccion_nombre'];
			$cat_nombre = $row['cat_nombre'];
			$cat_codigo = $row['cat_codigo'];

			if($cat_seccion != $curSeccion) {
					// empiezo un nuevo menu para esta seccion
				if($contador){
					$resultado .= '</ul>' . "\n" . '</li>' . "\n";
					$resultado2 .= '</optgroup>' . "\n";
					$status = 'closed';
				} else {
					$contador = 1;
					$status = 'open';
				}

					// esta es la definicion de un elemento padre de la lista.
					// en este caso los menus son exclusivos: cuando abro uno cierro los demas.
					// para conseguirlo anhado la cadena menuses pero elimino el menu que estoy anhadiendo en esta linea. clever, eh?
				$resultado .= '<li class="' . $status . '" id="menu_' . $cat_code . '"><a href="#" class="parent" onclick="door(this' . str_replace(', \'menu_' . $cat_code . '\'', '', $menuses) . ');">' . htmlentities(strtoupper($cat_seccion)) . '</a>' . "\n" . '<ul class="item">' . "\n";
				$resultado2 .= '<optgroup label="' . htmlentities($cat_seccion) . '" class="grupo">' . "\n";
				$curSeccion = $cat_seccion;
			}
				// esta es una categoria. si hay que cambiar el enlace que se carga este es el lugar...
			$resultado .= '<li><a href="categoria.php?cat=' . $cat_codigo . '">' . $cat_nombre . '</a></li>' . "\n";
			$resultado2 .= '<option value="' . $cat_codigo . '">' . $cat_nombre . '</option>' . "\n";
		}	// FOR
		$resultado .= "\n" . '</ul>' . "\n" . '</li>' . "\n" . '<li class="mudo"><a href="#" class="parent">OCASI&Oacute;N</a>' . "\n" . '</li>' . "\n" . '</ul>';
		$resultado2 .= '</optgroup>';
	} else {	// IF CONN
		// echo '<p>An error has occurred while accessing the database: ' . mysql_error();
		// por que comento esto? si he llegado hasta aqui es que he sido llamado desde un script de interface
		// que ya se ha asegurado de que la conexion existe o ha dado un error
		// en cualquier caso, sigo comprobando que la conexion es valida antes de meterme a hacer nada
	}
		// aqui tengo un texto o nada
	if(strlen($resultado)) { 
			// grabo el texto a un archivo
			// para poder grabar el archivo tiene que estar en modo 666
		saveFile("../../categorias.htm", $resultado);
	} else {
		// no hay nada. aviso al usuario. como?
	}

	if(strlen($resultado2)) { 
			// grabo el texto a un archivo
			// para poder grabar el archivo tiene que estar en modo 666
		saveFile("../../categorias2.htm", $resultado2);
	} else {
		// no hay nada. aviso al usuario. como?
	}
	header('Location: categorias.php');
?>