Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/ficheros/practica

Especificación como lista de requisitos
Los accesos pueden ser de tres tipos
 * 1) RF1 El usuario visualiza la interfaz del index.php.
 * 2) RF2 El usuario no aporta alguno de los datos(usario y/o pass).
 * 3) RNF1 Se crea la estructura de ficheros para descargas y publicaciones.
 * 4) RF3 Se sube el fichero a download, o directorio publico.
 * 5) RF4 Un usuario no admin podrá ver ficherso subidos a upload o directorio privado
 * 6) RF5 Un usuario admin verá los ficheros de download(publicos) y de upload(privado)
 * 7) RF6 Los ficheros de upload(privado) tendrá una selección para poderlos publicar
 * 8) RF7 Los ficheros seleccionados se pubicarán: pasarán de upload a download
 * 9) RF8 Hay un fichero log que traceará todas las acciones según texto del enunciado
 * 1) RF9 Se accede sin subir nada. (se visualizarán los ficheros según usuario)
 * 2) RF10 Se sube un fichero sin acceder.(mjs en el index que informará si se ha subido o no)
 * 3) RF11 Se sube un fichero y se acceder.

RF 1 : Interfaz de index.php

 * index.php



Descripción de la interfaz

imagen:musica_index_1.png

LA siguiente imagen muestra los casos de uso de estas acciones
 * En ella el usuario aporta datos (Credenciales) y selecciona una acción:
 * 1) Subir fichero
 * 2) Acceder
 * 3) Acceder y subir fichero

imagen:index_musica.png

RF 2:Verificar datos de usuario

 * index.php


 * Si el usuario no aporta alguno de los datos obligatorios
 * 1) Usuario
 * 2) Password
 * Nos quedamos en el index
 * Mostramos un mensaje de datos incorrectos



RNF1: Estructura de directorios

 * Crear la estructura de directorios para subir los ficheros tanto descargas como publicaciones
 * La aplicación tendrá la siguiente estructura de directorios:

300px


 * Vemos un directorio descargas con dos subdirectorios: uploads y downloads,
 * Dentro de cada subdirectorio tenemos un directorio por cada tipo de ficheros que queremos almacenar.
 * El funcionamiento será el siguiente:
 * 1) Cuando un usuario sube un fichero, éste es almacenado en su carpeta correspondiente en el directorio uploads.
 * 2) Cuando el usuario es admin, se mostrará todos los ficheros de la carpeta uploads,
 * 3) Cada fichero tiene un checkbox, que nos permite seleccionarlo
 * 4) Al presionar publicar, los ficheros seleccionados se moverán a la carpeta correspondiente (música, imagenes, ....) de la carpeta downloads.

RF3: Subir ficheros seleccionados a download

 * descarga.php:
 * Cuando un usuario a especificado un fichero se subirá al subdirectorio correspondiente dentro de download




 * Vamos a tener un fichero de funciones para implementar estas acciones

RF 4 Visualizar ficheros públicos (upload)

 * 1) RF4 Un usuario no admin podrá ver ficherso subidos a upload
 * usuario no admin

imagen:accion_subir_ficheros_2.png

RF 5 Admin visualiza todo por separadfo

 * 1) RF5 Un usuario admin verá los ficheros de download y de upload
 * usuario admin

imagen:accion_subir_fichero1.png

RF 6 Admin puede seleccionar ficheros subidos para publicar

 * 1) RF6 Los ficheros de download tendrá una selección para poderlos publicar
 * Ver imagen anterior

RF 7 Publicar: copiar de download a upoload

 * 1) RF7 Los ficheros seleccionados se pubicarán: pasarán de download a upload
 * Una vez que presionamos publicar podemos ver como al entrar ya tenemos los ficheros publicados

imagen:casos_uso_2a.png

(Mostrar imágenes o pdf, o reproducir música)
 * Los ficheros descargados estarán sensibles a hacer un click sobre ellos, de forma que el navegador intente abrirlos si puede.

Imagen:caso_uso_3.png

RF 8 Crear log con las acciones realizadas

 * 1) RF8 Hay un fichero log que traceará todas las acciones según texto del enunciado