<?php
/*
  Clase SuperEbooks
  @version 1.0
 */

class SuperShop{

    public static $configuracion = NULL;
	public static $empresa = NULL;
	
	public static function load(){
		//TODO: Esto no se tiene que hacer así, la configuración ha de cogerse de la plantilla
		//echo(_WS_DIR_ . _WS_THEMES_DIR_ . _WS_THEME_DIR_ . 'configuracion.xml');
		$ruta_configXML = static::localizaConfigSys(_WS_DIR_ . _WS_THEMES_DIR_ . _WS_THEME_DIR_ . 'configuracion.xml');
		static::$configuracion = new Configuracion($ruta_configXML);	//Cargamos la configuración de la web
		static::$empresa = new Empresa($ruta_configXML);				//Cargamos los datos de la empresa
	}
	
	public static function localizaConfigSys($nombre_fichero = 'config.sys'){
		$correcto = false;
		//Vamos a buscar el fichero, primero en la carpeta del tema:
		if(file_exists(_WS_DIR_ . _WS_THEMES_DIR_ . _WS_THEME_DIR_ . $nombre_fichero)){
			$retorno = _WS_DIR_ . _WS_THEMES_DIR_ . _WS_THEME_DIR_ . $nombre_fichero;
		}else if(file_exists($nombre_fichero)){
			//Para agilizar el proceso, vamos a empezar buscando el fichero en el directorio actual por si las moscas
			$retorno = $nombre_fichero;
		}else if(file_exists('./' . $nombre_fichero)){
			$retorno = './' . $nombre_fichero;
		}else if(file_exists(_WS_DIR_ . $nombre_fichero)){
			//El fichero está en la carpeta de webStore:
			$retorno = _WS_DIR_ . $nombre_fichero;
		}else{
			//Vamos a obtener el directorio actual
			$directorio_actual = explode('/', getcwd());
			$profundidad = count($directorio_actual);
			$ruta_comprobacion = '';
			for ($i = 0; ($i < $profundidad) && (!$correcto); $i++){
				
				//Si tenemos algo en $directorio_actual[$i] (no está vacío) continuamos
				if (trim($directorio_actual[$i]) != ''){
					$ruta_comprobacion .= '/' . $directorio_actual[$i];
					//var_dump($ruta_comprobacion);
					if (file_exists($ruta_comprobacion . '/' . $nombre_fichero)){
						$correcto = true;
					}
				}
			}
			if (!$correcto){
				$retorno = NULL;
			}else{
				$retorno = $ruta_comprobacion . '/' . $nombre_fichero;
			}
		}
		return($retorno);
	}
	
    //Constructor y destructor
    function __construct() {

    }

    function __destruct() {

    }
}

?>