static function construye($request, $avisos, $temas)
    {
        require_once 'libs/Scriptlets.php';
        $titulo = "Seleccione un tema.";
        $ruta = DIR_RAIZ_APP . INDEX;
        // recibe una lista de avisos de errores en la lógica de negocio en formato csv (con #)
        // la conviete a array y la "pinta"
        if (!empty($avisos)) {
            $avisos = explode('#', $avisos);
        } else {
            $avisos = array();
        }
        $listaAvisos = Scriptlets::generaListaMensajes($avisos);
        $contenido = <<<CONT
      <h1>{$titulo}</h1>
\t  <div id="avisos" style="color:red">{$listaAvisos}</div>
      <form action="{$ruta}post/mostrarPostPorTema">
       
\t\t<label for = "tema">Tema</label> 
CONT;
        $contenido .= Scriptlets::generaSelect("temas", $temas) . '</br></br>';
        $contenido .= <<<CONT
\t\t
        <input type="submit" />
      </form>
     
CONT;
        return $contenido;
    }
    static function modifica($request, $avisos, $funcionalidad)
    {
        require_once 'libs/datos.php';
        require_once 'libs/Scriptlets.php';
        if ($funcionalidad == 'alta') {
            $titulo = "Alta de usuario";
            $accion = "usuario/alta_post";
        } elseif ($funcionalidad == 'modifica') {
            $titulo = "Modificación de usuario";
            $accion = "usuario/modifica_post";
            // => al hecerse por AJAX pasará a ser $accion = "modifica_post"; y el tratamiento será diferente
            // habrá que generar una acción del controlador que realice la modificación
        }
        $ruta = DIR_RAIZ_APP . INDEX;
        // recibe una lista de avisos de errores en la lógica de negocio en formato csv (con #)
        // la conviete a array y la "pinta"
        if (!empty($avisos)) {
            $avisos = explode('#', $avisos);
        } else {
            $avisos = array();
        }
        $listaAvisos = Scriptlets::generaListaMensajes($avisos);
        $contenido = <<<CONT
\t<h1>{$titulo}</h1>
\t<div id="avisos" style="color:red">{$listaAvisos}</div>
<form name='fAltaModifica' enctype="multipart/form-data" method='post' action='{$ruta}{$accion}'>
  <input type="hidden" name="operacion" value="{$funcionalidad}" />
  <fieldset>
    <legend>Datos de conexión</legend>
    <label for="usuario">Usuario</label> <input type="text" name="usuario" readOnly id="usuario" value="{$request['usuario']}">
    <label for="clave">Clave</label> <input type="password" name="clave" value="{$request['clave']}">
  </fieldset>
  <fieldset>
    <legend>Datos personales</legend>
    <label for="apellidos">Nombre</label> <input type="text" name="nombre" value="{$request['nombre']}" size="30" maxlength="30">
    <label for="apellidos">Apellidos</label> <input type="text" name="apellidos" value="{$request['apellidos']}" size="50" maxlength="50">
    <br />
    <label for="fechaNacimiento">Fecha nacimiento (aaaa-mm-dd)</label> 
\t<input type="text" name="fechaNacimiento" value="{$request['fechaNacimiento']}" size="10" maxlength="10" />
\t
    <br />
CONT;
        $contenido .= Scriptlets::generaBotonesRadio('sexo', $generos, isset($request['sexo']) ? $request['sexo'] : '');
        $contenido .= <<<CONT
   <br /><br />



Elige foto de perfil: <input name="foto" type="file" /> <br/>
  </fieldset>
  <input type="submit" value="{$titulo}" />
  <input type="reset" value="Resetear el formulario" />
</form>
<script>document.getElementById("usuario").focus();</script>
CONT;
        return $contenido;
    }
    static function construye($avisos)
    {
        require_once 'libs/Scriptlets.php';
        $titulo = "Crear nuevo tema";
        $ruta = DIR_RAIZ_APP . INDEX;
        $fecha = getdate();
        $anio = $fecha['year'];
        $mes = $fecha['mon'];
        $dia = $fecha['mday'];
        $fecha = $anio . "-" . $mes . "-" . $dia;
        // recibe una lista de avisos de errores en la lógica de negocio en formato csv (con #)
        // la conviete a array y la "pinta"
        if (!empty($avisos)) {
            $avisos = explode('#', $avisos);
        } else {
            $avisos = array();
        }
        $listaAvisos = Scriptlets::generaListaMensajes($avisos);
        $contenido = <<<CONT
      <h1>{$titulo}</h1>
\t  <div id="avisos" style="color:red">{$listaAvisos}</div>
      <form action="{$ruta}tema/crea_tema_post">
        <!-- <label for="fecha">Fecha</label> <input type="text" name="fecha" /><br /> -->
\t    <input type="hidden" name="fecha" id="fecha" value="{$fecha}" />
\t\t<label for="nombre">Nombre</label> <input type="text" name="nombre" id="nombre" value="" /><br /></br>
\t    <label for="cuerpo">Descripcion</label> <textarea name="descripcion" id="cuerpo"></textarea><br /></br>

CONT;
        $contenido .= <<<CONT
\t\t
        <input type="submit" />
      </form>
      <script>
        document.getElementById("titulo").focus();
\t    fecha = new Date();
\t\tdia = '' + fecha.getDate();
\t\tmes = '' + (fecha.getMonth() + 1); // los meses van de 0 a 11
\t\tanio = '' + fecha.getFullYear();
\t\tif (dia.length == 1) dia = '0' + dia;
\t\tif (mes.length == 1) mes = '0' + mes;
\t\tfechaFormateada = anio + '-' + mes + '-' + dia;
\t    document.getElementById('fecha').value = fechaFormateada;
        // document.write(fechaFormateada);\t\t
      </script>
CONT;
        return $contenido;
    }
    static function construye($posts, $temas, $avisos)
    {
        $post = $posts[0];
        require_once 'libs/Scriptlets.php';
        $titulo = "Modificacion de este Post";
        $ruta = DIR_RAIZ_APP . INDEX;
        // recibe una lista de avisos de errores en la lógica de negocio en formato csv (con #)
        // la conviete a array y la "pinta"
        if (!empty($avisos)) {
            $avisos = explode('#', $avisos);
        } else {
            $avisos = array();
        }
        $listaAvisos = Scriptlets::generaListaMensajes($avisos);
        $contenido = <<<CONT
      <h1>{$titulo}</h1>
\t  <div id="avisos" style="color:red">{$listaAvisos}</div>
      <form action="{$ruta}post/modificaPost">
        <!-- <label for="fecha">Fecha</label> <input type="text" name="fecha" /><br /> -->
\t    <input type="hidden" name="fecha" id="fecha" value="{$post->devuelveFecha()}" />
\t\t<label for="titulo">Título</label> <input type="text" name="titulo" id="titulo" value="{$post->devuelveTitulo()}" /><br /></br>
\t    <label for="cuerpo">Cuerpo</label> <textarea name="cuerpo" id="cuerpo">{$post->devuelveCuerpo()}</textarea><br /></br>
\t\t<label for = "tema">Tema</label> 
\t\t <input type="hidden" name="id" id="id" value="{$post->devuelveId()}" />
\t\t
CONT;
        $contenido .= Scriptlets::generaSelectConPost("temas", $temas, $post) . '</br></br>';
        $contenido .= <<<CONT
\t\t
        <input type="submit" />
      </form>
      <script>
        document.getElementById("titulo").focus();
\t    fecha = new Date();
\t\tdia = '' + fecha.getDate();
\t\tmes = '' + (fecha.getMonth() + 1); // los meses van de 0 a 11
\t\tanio = '' + fecha.getFullYear();
\t\tif (dia.length == 1) dia = '0' + dia;
\t\tif (mes.length == 1) mes = '0' + mes;
\t\tfechaFormateada = anio + '-' + mes + '-' + dia;
\t    document.getElementById('fecha').value = fechaFormateada;
        // document.write(fechaFormateada);\t\t
      </script>
CONT;
        return $contenido;
    }