Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/11/2014, 11:27
dowieflores
 
Fecha de Ingreso: septiembre-2011
Ubicación: Vizcaya
Mensajes: 51
Antigüedad: 13 años, 5 meses
Puntos: 3
Crear carpeta privada para cada usuario

Buenas tardes,

Quiero que cada usuario de mi web tenga una carpeta privada y solo puedan ver ellos el contenido que yo añado. En este caso es para meter sus facturas.

Mi web está hecha con wordpress.

He aplicado este código que he encontrado y lo que hace es crear una carpeta cuando se registra un usuario y le asigna el nombre del usuario a la carpeta.

Código:
function create_user_dir($user_id) {
    $user_info = get_userdata( $user_id );

    $upload_dir = wp_upload_dir();
    $user_dir = $upload_dir['basedir'] . '/facturas/' . $user_info->user_login;

    wp_mkdir_p($user_dir);
}
add_action( 'user_register', 'create_user_dir');
El problema es que para que el usuario pueda ver el contenido, tengo que poner permisos públicos en los archivos y eso no es seguro.

Me gustaría que solo pueda ver el contenido el usuario de la carpeta.

Se me ocurren dos opciones, pero no se como hacerlo:

1º Que al crearse la carpeta se ponga como propietario al usuario y que solo pueda acceder el.

2º Que la carpeta solo se muestre cuando se cumplas estás condiciones:
- El usuario esté logueado y el nombre del usuario es el mismo que el de la carpeta.

No se si esto es posible, o conocéis otra solución mejor.

Un saludo y gracias compañeros
__________________
Un error no se convierte en verdad por el hecho de que todo el mundo crea en él.

Ahorrar en casa