Квота превышается, но блокировка не работ&#10 Квота превышается, но блокировка не работ&#10
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Квота превышается, но блокировка не работ

Started by itfox, February 12, 2011, 10:47:43 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

itfox

"Both files uploaded by a user into his personal gallery as well as files uploaded to public galleries are included in the quota"

Да, действительно. Квота считается вместе. И пользователь не может загрузить файлы в his personal gallery, но без проблем продолжает загружать в публичные.


itfox


itfox

Получается, что это нормально? Как же тогда ограничить загрузку в публичные галереи?

Makc666

Quote from: itfox on February 16, 2011, 08:50:35 AM
Получается, что это нормально? Как же тогда ограничить загрузку в публичные галереи?
А обычный пользователь может загружать файлы в публичные галереи?

Квота предназначена только для личных галерей.
В публичных она не работает.

itfox

Спасибо за ответ.
Очень жаль. А Вы не сталкивались с решением этого вопроса? Хотелось бы иметь возможность контролировать и объем загрузки в публичные галереи.

itfox

Нет, есть группа пользователей, которым предоставлено право загружать в публичные галереи. Их не много, но, тем не менее, не помешает контроль за объемом загруженного материала.

Cubatao

QuoteКвота предназначена только для личных галерей.
В публичных она не работает.
О как!! Я расчитывал на более полный контроль над пользователями.... Ну да ладно, пока так поживём. :-\

Makc666

http://documentation.coppermine-gallery.net/en/groups.htm#group_cp_quota

QuoteSpecify the maximum web space usage that the images (or other files if you allow them) uploaded by a user who is member of that particular group you assign the quota for is allowed to consume. The quota is set in kilobytes (KB) and only applies for the files uploaded into a personal gallery of a user. Uploads of that user that go into public albums are not being taken into account and don't add to the quota of that user.

The disk quota applies only for groups where "Personal gallery" has been set to "Allowed". Both files uploaded by a user into his personal gallery as well as files uploaded to public galleries are included in the quota. The quota applies to each member of the group. Set the quota to a value that actually makes sense - setting it to several terrabytes does not make sense and may lead to funny side-effects.

Quote from: itfox on February 22, 2011, 08:07:36 PM
Спасибо за ответ.
Очень жаль. А Вы не сталкивались с решением этого вопроса? Хотелось бы иметь возможность контролировать и объем загрузки в публичные галереи.

Я не знаю, почемуо ни решили считать только для конкретного пользователя, но подозреваю, что это может быть связано с нагрузкой на сервер, тк. для подсчёта места используется таблица cpg15x_pictures.

profile.php

Запрос:
$sql = "SELECT user_name, user_email, user_group, user_active, UNIX_TIMESTAMP(user_regdate) AS user_regdate, group_name, " . "user_profile1, user_profile2, user_profile3, user_profile4, user_profile5, user_profile6, user_group_list, " . "COUNT(pid) AS pic_count, SUM(total_filesize) AS disk_usage, group_quota " . "FROM {$CONFIG['TABLE_USERS']} AS u " . "INNER JOIN {$CONFIG['TABLE_USERGROUPS']} AS g ON user_group = group_id " . "LEFT JOIN {$CONFIG['TABLE_PICTURES']} AS p ON p.owner_id = u.user_id " . "WHERE user_id ='" . USER_ID . "' " . "GROUP BY user_id ";

Тут похоже, что считаются все загруженные изображения.

./include/picmgmt.inc.php

Запрос:
$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) . "'");

А тут похоже, что только из папки пользователя.

Можно попробовать изменить на:
$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 owner_id = '" . (USER_ID) . "'");