Kvóta kezelése

szt képe

Nem találtam erről semmit, gondoltam, erről is kinyitok egy szálat.
Az IMCE modulban találtam eddig egyedül kvótakezelést, azaz, hogy egy usernek vagy szerepkörnek mennyi MB tárhelye lehet fájlfeltöltéskor, de én a core képkezeléshez szertnék ilyesmit állítgatni. Arra van modul, hogy hány darab node-ja lehet egy usernek (Node Limit), de nekem most az kellene, hogy mindegyik user használhat 30MB-ot, nem többet.
Ezt lehet, hogy nem is modullal kéne megoldani?

Drupal verzió: 
aruna képe

a file_managed tábla tárol információkat a feltöltött fájlokról.

Pl. sql-el megnézheted, hogy az admin user (uid=1) mennyi helyet használ:

SELECT SUM( filesize ) /1024 /1024 AS megabytes
FROM file_managed
WHERE uid = 1; -- admin user id

Van egy API függvény is, amivel le lehet kérdezni egy felhasználó helyfogalását: file_space_used

-----------

A felületen valahogy így nézne ki:

- Amikor a felhasználó új tartalmat visz be / vagy meglévőt módosít.
- A node szerkesztő form betöltődésekor hook_form_alter -ben megnézed, hogy felhasználó által használt hely több-e mint 30 MB.
- Ha több mint 30 MB, akkor ha megjelenik a form a felhasználónak, ott ahol csatolni tudja az új file-t, letiltod az új fájl csatolását, és kiírsz helyett/mellette valamilyen üzenetet, hogy nem tölthet fel több fájlt.

5
0
pp képe

Érdemes az ajánlott függvényt használni hozzá, mert az nem veszi figyelembe az ideiglenes fájlokat. Ez azért fontos, mert ha a júzer egyszer egy nagyobb fájlt feltölt és szól neki a rendszer, hogy ez nagy, akkor már nem fog tudni feltölteni semmilyen fájlt se.

pp

1
0
szt képe

Köszi srácok, kipróbálom (ha ez ilyen "egyszerű", hogyhogy erre nincs még contrib modul? ...úgy tudtam, hogy mindenre van ;)

0
0