<?php
/*
*	Reindexamos los ficheros de la plantilla que se esté usando
*	@version 1.0.0
*	@date 2018/02/07
*
*/

//Vamos a activar WebStore:
include('initWebStore.php');

//Definimos constantes y variables que vamos a necesitar
define('_WS_INDEX_DIR_', _WS_DIR_ . 'dynamic/file_index/');
$index_dir = _WS_INDEX_DIR_ . "file_index.php";

//Vamos a reindexar usando la clase
Theme::createIndexFiles(_WS_THEME_HTML_DIR_, $index_dir);
/*
//Nos aseguramos de que el directorio exista:
if (!is_dir(_WS_INDEX_DIR_)) {
    mkdir(_WS_INDEX_DIR_);         
}


?>
<pre>
<?php
//Eliminamos el fichero de índices:
if (file_exists($index_dir)){
	unlink($index_dir);
}
if ($file = fopen($index_dir, 'w')){
	fwrite($file, "<?php\n");
}

crea_ruta_ficheros(_WS_THEME_HTML_DIR_, $index_dir);

if ($file = fopen($index_dir, 'a+')){
	fwrite($file, "?>");
}

?>
</pre>
<?php

function crea_ruta_ficheros($ruta, $index_dir = ''){
	if($index_dir != ''){
		$resultado = reindexa($ruta);
		echo('Resultado base:
		');
		//print_r($resultado);
		//Creamos el fichero base
		if ($file = fopen($index_dir, 'a+')){
			foreach($resultado as $clave => $valor){
				fwrite($file, '$ruta_ficheros_web[\'' . $clave . '\'] = \'' . $valor . '\';
');
			}
			fclose($file);
		}
	}
}

function reindexa($ruta){
	$array_ficheros = array();
	//Si "ruta" no tiene una "/" al final, se la ponemos
	if (substr($ruta, -1, 1) != "/"){
		$ruta .= "/";
	}
	//Hay que echar para atrás un nivel
	if (is_dir($ruta)) {
		echo('Entramos al directorio ' . $ruta . '<br />');
		//No seguimos si existe el fichero noindex:
		if ((!file_exists($ruta . 'noindex')) && (!file_exists($ruta . 'NOINDEX')) ){
			if ($directorio = opendir($ruta)) {
				while (($file = readdir($directorio)) !== false) {
					//No indexamos los ficheros que empiecen por . (ocultos)
					if (substr($file, 0, 1) != '.'){
						if ( (is_dir($ruta . $file)) && ($file!=".") && ($file!="..") ){
							//Es un directorio
							$array_ficheros = array_merge($array_ficheros, reindexa($ruta . $file . "/"));
						}else if ( ($file!=".") && ($file!="..")  ){
							//Fichero .php encontrado, vamos a guardarlo
							$array_ficheros[$file] = realpath($ruta . $file);
							//echo("Añadido el fichero $file\n");
						}
					}
				}
				closedir($directorio);
			}
		}
	}
	return($array_ficheros);
}
*/