Usuario:ManuelRomero/php/dwes/B2T1/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.
 * 3) RNF1 Se crea la estructura de ficheros para descargas y publicaciones.
 * 4) RF3 Se sube el fichero a download.
 * 5) RF4 Un usuario no admin podrá ver ficherso subidos a upload
 * 6) RF5 Un usuario admin verá los ficheros de download y de upload
 * 7) RF6 Los ficheros de download tendrá una selección para poderlos publicar
 * 8) RF7 Los ficheros seleccionados se pubicarán: pasarán de download a upload
 * 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.
 * 3) RF11 Se sube un fichero y se acceder.

RF 1 : Interfaz de index.php

 * index.php

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

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
center|300px
 * Crear la estructura de directorios para subir los ficheros tanto descargas como publicaciones
 * La aplicación tendrá la siguiente estructura de directorios:
 * 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)
center
 * 1) RF4 Un usuario no admin podrá ver ficherso subidos a upload
 * usuario no admin

RF 5 Admin visualiza todo por separadfo
imagen:accion_subir_fichero1.png
 * 1) RF5 Un usuario admin verá los ficheros de download y de upload
 * usuario admin

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
imagen:casos_uso_2a.png
 * 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

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

RF 8 Crear log con las acciones realizadas
-->
 * 1) RF8 Hay un fichero log que traceará todas las acciones según texto del enunciado