Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Одмин

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

Recommended Posts

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

 

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

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

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

Share this post


Link to post
Share on other sites

/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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites
$_g_space_used = $this->DB->buildAndFetch( array(
Это для услвия, что установлен и глобальный лимит, и лимит для поста.

 

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

 

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...