Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Одмин

Ограничение по заливке файлов: группа/день

Рекомендованные сообщения

Добрейшего дня!

 

Давно не открывал новых тем, ибо довел форум почти что до совершенства :) Однако, всё в мире совершенствуется и мы не исключение, ну и как говорится - нет предела совершенству! :D Ну отступим от лирики и перейдем к вопросу. Обшарил весь форум, но ответа на сей вопрос не нашел...

В общем, с товарищами сидим, думаем, как сделать так, чтобы каждый пользователь группы "Пользователи" имел возможность заливать на форум не более 5 Мб любых разрешенных файлов в сутки?

В АЦ такой функции нет. И я полагаю, здесь необходимо вмешательство в скрипты. Подскажите, что где поправить! Заранее большая благодарность!

Поделиться сообщением


Ссылка на сообщение

/admin/applications/forums/extensions/attachments/plugin_post.php

 

			$_space_used = $this->DB->buildAndFetch( array( 
															'select' => 'SUM(attach_filesize) as figure',
															'from'   => 'attachments',
															'where'  => "attach_member_id={$member_id} AND attach_rel_module IN( 'post', 'msg' )" 
													)	);

Запрос где происходит вычисление использованного пространство (глобально). Вы можете добавить в условие чтобы поиск выполнялся только за один день, и тогда настройка "Дисковая квота на хранение всех файлов" будет считать количество используемого пространство в один день.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

@siv1987, ну я как бэ не силён... подскажите же что нужно прописать для удовлетворения условия....

Поделиться сообщением


Ссылка на сообщение
siv1987, ну я как бэ не силён... подскажите же что нужно прописать для удовлетворения условия....

1.

Вы можете добавить в условие

Ага! Добавлять будем сюда

                                                                'where'  => "attach_member_id={$member_id} AND attach_rel_module IN( 'post', 'msg' )" 

 

2.

чтобы поиск выполнялся только за один день

Находите в таблице attachments столбец, в котором хранятся даты загрузки вложений. attach_date

1 день

		$time = time() - 24 * 60 * 60;

Добавить выше

                $_space_used = $this->DB->buildAndFetch( array( 

3. Составляете условие

attach_date > {$time}

4. Добавляете его в общее

                                                                'where'  => "attach_date > {$time} AND attach_member_id={$member_id} AND attach_rel_module IN( 'post', 'msg' )"

 

Либо так

                                                                'where'  => "attach_date > UNIX_TIMESTAMP(NOW() - INTERVAL 1 DAY) AND attach_member_id={$member_id} AND attach_rel_module IN( 'post', 'msg' )"

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

@newbie, благодарствую!

Поделиться сообщением


Ссылка на сообщение

Возникло два вопроса:

 

1. Ниже $_space_used = $this->DB->buildAndFetch( array( есть:

 

$_g_space_used = $this->DB->buildAndFetch( array(

 

Что это за настройка? И надо ли там что-либо трогать?

 

2. Если, допустим, я поставил лимит (в АЦ) = 10 Мб, после этого я в один пост загружаю файл объемом 5 Мб, то у меня видно в загрузках, что осталось ещё 5 Мб для загрузки на сегодняшний день. Но если я открываю расширенную форму в другом посте, то там опять указано, что у меня лимит 10Мб. Почему так?

Поделиться сообщением


Ссылка на сообщение
$_g_space_used = $this->DB->buildAndFetch( array(
Это для услвия, что установлен и глобальный лимит, и лимит для поста.

 

И надо ли там что-либо трогать?
Потрогайте.

 

 

Почему так?
Лимит для поста
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...