<?php

/*
  Clase SuperModule
  @version 1.0
  //Esta clase será, en el futuro la encargada de cargar un módulo para su uso
 */

class SuperModule{

	private $name = '';
	private $componentList = array();

	public function setName($name = ''){
		$this->name = $name;
	}

	
    //Constructor y destructor
    public function __construct() {
		
		//Vamos a recibir los parámetros:
		$numargs = func_num_args();
		$argumentos = func_get_arg();
		if (isset($argumentos[0])){
			$this->name = $argumentos[0];
		}
    }

    public function __destruct() {
        
    }
	//------------------------------------------------------------------------------------------------
	// estas funciones son para cargar los componentes (viejos módulos también llamados widgets)
	//------------------------------------------------------------------------------------------------
	public static function loadComponent($module, $component, $options){
		//Esta función, por ahora la vamos a usar para cargar los widgets de las versiones antiguas de webStore
		ob_start();
		new Widget(array('nombre' => $module, 'funcion' => $component), $options);
		$retorno = ob_get_clean();
		return($retorno);
	}

	public static function loadEncryptedComponent($data){
		//Esta función, por ahora la vamos a usar para cargar los widgets de las versiones antiguas de webStore
		//Recibimos el componente encriptado:
		$newData = unserialize(base64_decode($data));
		//var_dump($data);
		return(array('hash' => $data, 'content' => static::loadComponent($newData['widget'], $newData['function'], $newData['opciones'])));
		//return($data);
	}
	//------------------------------------------------------------------------------------------------
	// estas funciones son para cargar los componentes (viejos módulos también llamados widgets)
	//------------------------------------------------------------------------------------------------

}
