Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

Давно не открывал новых тем, ибо довел форум почти что до совершенства :) Однако, всё в мире совершенствуется и мы не исключение, ну и как говорится - нет предела совершенству! :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' )" 
													)	);

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

Опубликовано:
  • Автор

@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' )"

Опубликовано:
  • Автор

@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(
Это для услвия, что установлен и глобальный лимит, и лимит для поста.

 

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

 

 

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.