Example #1
0
 public static function mostrar($mensaje = '')
 {
     // IDEA obtener la instancia de Slim (como se hace aquí) en todos los métodos que la requieran para evitar tener que pasar la referencia en todas las llamadas
     $app = \Slim\Slim::getInstance();
     global $twig;
     $r = Dictado::escuchar($app->db, Login::getEmail());
     if (is_null($r)) {
         $valores['message'] = "¡<b>Enhorabuena</b>! <br>A día de hoy ha realizado correctamente todos nuestros dictados. <br> ¿Se animaría a <a href='/dictado/crear'>crear uno nuevo</a>?";
         // Avisamos al administrador que alguien ha conseguido realizar todos los dictados para que cree alguno nuevo
         Email::enviar(Email::ADMIN_EMAIL, 'Dictados agotados', Email::getMessageDictadosTerminados(Login::getEmail()));
     } else {
         $valores = array('dictado' => json_encode($r), 'id_dictado' => $r['ID']);
         // IDEA Sería interesante que este mensaje desapareciese al rato de aparecer en pantalla
         if ($mensaje != '') {
             $valores['message'] = $mensaje;
         }
         if (!Login::isLogged()) {
             $valores['consejo'] = "Para evitar dictados repetidos, <a href='/usuario/login'><strong>identifícate</strong></a>";
         }
     }
     echo $twig->render('dictadoEscuchar.php', $valores);
 }
    // Anota que un usuario ha realizado todos los dictados para poder avisarle cuando se cree uno nuevo
    $app->get('/avisar', 'Login::forzarLogin', function () use($app) {
        Dictado::avisar($app->db, Login::getEmail());
    });
    $app->get('/escuchar', function () use($app) {
        Dictado::mostrar();
    });
    // IDEA añadir reproductor para escuchar cómo queda el dictado que se está introduciendo
    $app->get('/crear', function () use($app) {
        global $twig;
        echo $twig->render('dictadoCrear.php');
    });
    $app->post('/guardar', function () use($app) {
        global $twig;
        $valores = array('nombre' => $app->request()->post('dictado'));
        echo $twig->render('miSaludo.php', $valores);
    });
    // IDEA no usar el ID directamente en la url para evitar nos "frían" a peticiones
    $app->get('/aprobado/:id', 'Login::forzarLogin', function ($id_dictado) use($app) {
        Dictado::anotarAprobado($app->db, Login::getEmail(), $id_dictado);
        Dictado::mostrar("¡Buen trabajo!");
    });
    $app->get('/suspenso', function () use($app) {
        Dictado::mostrar("No te preocupes, verás como poco a poco mejoras tu ortografía");
    });
});
// Ponemos en marcha el router
$app->run();
?>