forum.coppermine-gallery.net

Support => Español (Spanish) => Closed boards => Language Specific Support => cpg1.4.x Español (Spanish) => Topic started by: rbarcelo on April 23, 2009, 02:22:25 am

Title: [Resuelto:] Limitar la subida de fotos por grupo o por usuario
Post by: rbarcelo on April 23, 2009, 02:22:25 am
Hola, gracias anticipadamente por la ayuda.
Tengo la siguiente necesidad. Preciso limitar la subida de fotos por parte de los usuarios a 300k por dia o a una foto por dia por usuario. En las opciones de configuración existe la posibilidad de limitar el tamaño de cada upload a 300k y en la configuracion de los grupos de usuarios conseguí hacer que cada usuario de un grupo determinado tenga una cuota x de espacio disponible. Pero en nigun lugar encontre como configurar un limite diario.

Leí una respuesta en el foro, en frances, que decia que limitar el upload por día, era imposible, pero mi frances es terrible.

Entre los plugins no encontré ninguno especificamente para esta finalidad. Se les ocurre alguna forma de conseguir crear este límite por ejemplo de una foto por día por usuario o 300k por día por usuario?

Gracias, Ramiro.
 

Title: Re: Limitar la subida de fotos por grupo o por usuario
Post by: Fabricio Ferrero on April 24, 2009, 08:29:37 am
Leí una respuesta en el foro, en frances, que decia que limitar el upload por día, era imposible, pero mi frances es terrible.
Nada es imposible ;)

Abrí el archivo upload.php con un editor de texto, Notepad ++ es el que uso yo. (¡No Dreamweaver por favor!)
En la parte de arriba agrega:

Code: [Select]
$query = cpg_db_query("SELECT * FROM {$CONFIG['TABLE_PICTURES']} WHERE owner_id = '$user_id' AND ctime > NOW() - (24*60*60)");
if ((mysql_num_rows($query) >= 1) {
cpg_die(INFORMATION, "Debes esperar al menos 24 horas antes de volver a subir una foto.");
}

Luego, modificá el texto a lo que desees que diga, yo coloqué eso (Debes esperar.....) y es sólo un ejemplo.
Por último, guarda el archivo y subilo al servidor.

Title: Re: Limitar la subida de fotos por grupo o por usuario
Post by: rbarcelo on April 24, 2009, 04:41:28 pm
Muchas Gracias Fabricio!!
Ahora voy a hacer lo que me recomendas y despues te cuento.

No habia leido que sos de San Juan, excelentes vinos por allí.

Abrazos, Ramiro
Title: Re: Limitar la subida de fotos por grupo o por usuario
Post by: rbarcelo on April 24, 2009, 06:05:25 pm
Hola Fabricio,
coloque el código en la primera línea despues de "<?php" cuando llamo la página para subir una foto me aparece el siguiente error:

Parse error: syntax error, unexpected '{' in /home/digisub/public_html/fotos/upload.php on line 3

Ya coloque el codigo en otras partes de la página y nada.

Yo estoy utilzando Coppermine 1.4.21 y el servidor tiene php5 y mysql

Desde ya muchas gracias.
Title: Re: Limitar la subida de fotos por grupo o por usuario
Post by: Fabricio Ferrero on April 24, 2009, 07:11:03 pm
Podrías colocar un link a la galería para mirar el código? Gracias..


P.D: Si, de San Juan, de la tierra de los buenos Vinos! :D Se ve que conoces Argentina!
Title: Re: Limitar la subida de fotos por grupo o por usuario
Post by: rbarcelo on April 25, 2009, 01:27:32 am
Soy argentino, pero vivo en Brasil ya hace 7 años. Una deuda que tengo es conocer San Juan, Salta, etc.
Estoy tratando de hacer un sitio de fotografia submarina que aqui en Brasil es bastante común. La web donde eta la galeria es http://www.digisub.com.br/fotos/
Estoy cargando el archivo upload.php donde agregué e código en el foro.
muchas gracias.
Ramiro.


 
Title: Re: Limitar la subida de fotos por grupo o por usuario
Post by: rbarcelo on April 26, 2009, 06:39:55 pm
Estimado Fabricio,
consulte al usuario "foulu" del foro de soporte, le mostre el codigo que me sugeriste y el me envio la siguiente modificación que esta funcionando bien. La agregué en la linea 37 del archivo upload.php antes del comentario: // Check to see if user can upload pictures. Quit with an error if he cannot.
La galería instalada es la version 1.4.21 y la url es http://www.digisub.com.br/fotos

Code: [Select]
$expiry = time() - 24*60*60;
$result = cpg_db_query("SELECT * FROM {$CONFIG['TABLE_PICTURES']} WHERE owner_id = '$user_id' AND ctime > {$expiry}");
if (mysql_num_rows($result) >= 1) {
    cpg_die(INFORMATION, "Debes esperar al menos 24 horas antes de volver a subir una foto.", __FILE__, __LINE__);
}

La única duda que tengo es si este script no permite que subas hasta pasadas 24 horas o si puedes subir un archivo despues de las 12 de la noche. Mi intención inicial era bloquear la subida de fotos a una por dia o sea que despues de las 12 de la noche el usuario pueda subir otra si quiere. Se entende?

Gracias nuevamente.
Ramiro.
 
Title: Re: Limitar la subida de fotos por grupo o por usuario
Post by: Fabricio Ferrero on April 26, 2009, 09:07:23 pm
Muchas gracias por volver y compartir la solución.

El código que has introducido contiene esta variable:
Code: [Select]
$expiry = time() - 24*60*60;La cual dice que si no han pasado 86400 segundos, no te permita subir nuevamente una imagen. Es decir, no tiene en cuenta la hora del día.

Saludos,