Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Limitare l'upload ad un massimo numero di files  (Read 6196 times)

0 Members and 1 Guest are viewing this topic.

sancho81

  • Coppermine newbie
  • Offline Offline
  • Posts: 4
Limitare l'upload ad un massimo numero di files
« on: November 03, 2007, 07:41:52 pm »

Salve ragazzi,
ho una domanda da porvi.
Necessito di impostare un numero massimo di upload di foto per utente,
dal basso della mia niubbezza, ho visto che è possibile impostare una quota in spazio occupato, non è possibile impostare una cosa simile ma sul numero di upload che un utente può compiere? e se è possibile..come posso fare?

grazie :)
« Last Edit: November 03, 2007, 10:55:22 pm by Lontano »
Logged

twist

  • Moderator
  • Coppermine frequent poster
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 360
    • 100iso.eu
Re: Suggerimento-> massimo numero upload
« Reply #1 on: November 03, 2007, 07:57:45 pm »

No non e' possibile, si puo' usare solo la quota su disco.

Puoi al massimo fare 2 calcoli e vedere quanto spazio e' necessario per immagazzinare il numero di foto che vuoi offrire alla massima risoluzione possibile (definita nella sezione di configurazione).

Sempre meglio di nulla
Logged

sancho81

  • Coppermine newbie
  • Offline Offline
  • Posts: 4
Re: Suggerimento-> massimo numero upload
« Reply #2 on: November 03, 2007, 10:23:18 pm »

dopo una non facile ricerca ho trovato questo 3d
http://forum.coppermine-gallery.net/index.php?topic=32016.20

Però non mi funziona, stramm parla di un bug che però non sono riuscito a comprendere, incollo il suo quote qua di seguito, sperando che qualcuno mi possa aiutare a comprendere :)

cause someone else on the german support board asked this question too and had similar problems...
Coppermine (standard behaviour) checks limitations only for the user galleries and not pics of a user in the public galleries. So does this hack. To change the behaviour and allow users only to upload a certain number of pics to public and user galleries you'll have to change the query eg. to

Code: [Select]
        $result = cpg_db_query("SELECT pid FROM {$CONFIG['TABLE_PICTURES']} WHERE owner_name = '" . (USER_NAME) . "'");
Logged

sancho81

  • Coppermine newbie
  • Offline Offline
  • Posts: 4
Re: Suggerimento-> massimo numero upload
« Reply #3 on: November 03, 2007, 10:26:03 pm »

Cioè.. io in pratica ho inseito questo:

use that instead... it uses the limits from the group control panel as number of files instead of kb

Code: [Select]
    // Test if disk quota exceeded
    if (!GALLERY_ADMIN_MODE && $USER_DATA['group_quota'] && $category == FIRST_USER_CAT + USER_ID) {
        $result = cpg_db_query("SELECT 1 FROM {$CONFIG['TABLE_PICTURES']}, {$CONFIG['TABLE_ALBUMS']} WHERE  {$CONFIG['TABLE_PICTURES']}.aid = {$CONFIG['TABLE_ALBUMS']}.aid AND category = '" . (FIRST_USER_CAT + USER_ID) . "'");
        $total_space_used = mysql_num_rows($result);
        mysql_free_result($result);

        if (($total_space_used) >= $USER_DATA['group_quota'] ) {

però non mi funziona, forse per quello che scrive stramm sopra, cosa vuol dire? =)
Logged

sancho81

  • Coppermine newbie
  • Offline Offline
  • Posts: 4
Re: Suggerimento-> massimo numero upload
« Reply #4 on: November 03, 2007, 10:49:29 pm »

ok ora funziona :)

posto il code, qualora possa servire a qualcuno, ciaociao
Code: [Select]
    // Test if disk quota exceeded
    if (!GALLERY_ADMIN_MODE) {
         $result = cpg_db_query("SELECT 1 FROM {$CONFIG['TABLE_PICTURES']} WHERE owner_name = '" . (USER_NAME) . "'");
        $total_space_used = mysql_num_rows($result);
        mysql_free_result($result);

        if (($total_space_used) >= $USER_DATA['group_quota'] ) {
Logged

Davide Renda

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1427
  • aka "Lontano"
    • www.daviderenda.eu
Re: Suggerimento-> massimo numero upload
« Reply #5 on: November 03, 2007, 10:53:42 pm »

Ottimo. Un consiglio: quando applichi modifiche ai file del core di Coppermine, premunisciti di farne una copia di backup prima e dopo l'hack. La copia originale ti servirà nel caso la modifica non funzionasse e la copia moddata ti verrà utile quando ci sarà da aggiornare la galleria con una prossima nuova versione.

twist

  • Moderator
  • Coppermine frequent poster
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 360
    • 100iso.eu
Re: Suggerimento-> massimo numero upload
« Reply #6 on: November 13, 2007, 02:40:56 pm »

Come dice stramm la funzione delle quote utenti, funziona solo nelle gallerie utenti :
Code: [Select]
   if (!GALLERY_ADMIN_MODE && $USER_DATA['group_quota'] && $category == FIRST_USER_CAT + USER_ID) {!GALLERY_ADMIN_MODE = utente non e' admin +
$USER_DATA['group_quota'] = appartiene al gruppo quota +
$category == FIRST_USER_CAT + USER_ID = galleria personale


Se tu la provi inserendo foto in gallerie pubbliche, non funzionerà.
Premesso che non ho provato questa modifica, ma dubito sia una castroneria visto chi l'ha proposta, la soluzione che puoi adottare e' di usare questo hack, e permettere agli utenti di non poter caricare foto in gallerie pubbliche ma solo nella loro personale.
Cosi' dovresti ottenere il risultato che ti aspetti, sempre che non sia troppo restrittiva.
Logged

twist

  • Moderator
  • Coppermine frequent poster
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 360
    • 100iso.eu
Re: Limitare l'upload ad un massimo numero di files
« Reply #7 on: November 13, 2007, 03:42:14 pm »

Ok, ho fatto una prova e funziona perfettamente come descritto, se vuoi il codice e' questo:
file: include/picmgmt.inc.php
Sostituisci questo blocco:
Code: [Select]
    if (!GALLERY_ADMIN_MODE && $USER_DATA['group_quota'] && $category == FIRST_USER_CAT + USER_ID) {
        $result = cpg_db_query("SELECT sum(total_filesize) FROM {$CONFIG['TABLE_PICTURES']}, {$CONFIG['TABLE_ALBUMS']} WHERE  {$CONFIG['TABLE_PICTURES']}.aid = {$CONFIG['TABLE_ALBUMS']}.aid AND category = '" . (FIRST_USER_CAT + USER_ID) . "'");
        $record = mysql_fetch_array($result);
        $total_space_used = $record[0];
        mysql_free_result($result);

Con questo:
Code: [Select]
    // NEW QUERY
    if (!GALLERY_ADMIN_MODE && $USER_DATA['group_quota'] && $category == FIRST_USER_CAT + USER_ID) {
        $result = cpg_db_query("SELECT 1 FROM {$CONFIG['TABLE_PICTURES']}, {$CONFIG['TABLE_ALBUMS']} WHERE  {$CONFIG['TABLE_PICTURES']}.aid = {$CONFIG['TABLE_ALBUMS']}.aid AND category = '" . (FIRST_USER_CAT + USER_ID) . "'");
        $total_space_used = mysql_num_rows($result);
        mysql_free_result($result);



Ovviamente, devi definire la quota per gli utenti registrati, di default e' 1024 (kb), questo numero diventerà il n° max di file, quindi cambialo in 10 se vuoi che gli utenti possano caricare al massimo 10 file.

nota: dovrai cambiare il messaggio di errore nel theme, perché sparerà il messaggio di errore relativo allo spazio (kb) e non al numero di files:
lang/italian.php

Code: [Select]
  'quota_exceeded' => 'Quota Disco superata<br /><br />Hai una quota disco pari a [quota]K, i tuoi files occupano attualmente [space]K, aggiungere questo file significa superare il limite.',

-Davide

« Last Edit: November 13, 2007, 04:03:34 pm by twist »
Logged
Pages: [1]   Go Up
 

Page created in 0.027 seconds with 22 queries.