Перейти к контенту
  • 0

Проблема размера загружаемых файлов


Вопрос

У меня проблема размера загружаемых файлов.

 

Как сделать так, чтобы ограничить пользователя на размер файлов в ответах, но при этом общий размер всех файлов оставить безлимитный?

 

В админке все поменял

но в добавлениях ответа проблема осталась (см. рисунок).

 

http://telehome.ru/problem.gif

 

По моему в 2.1.7 такого глюка не было.

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

кстати у мя тож такой вопрос!

 

написано типа надо ставить 0, тада он вообще просто не воспринимает нижний параметр.

 

а так приходится ставить там 9999999 а потом ниже уже на пост, чтобы все работало.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

в скрипте /sources/classes/attach/plugin_post.php есть такой интересный блок:

if ( $this->ipsclass->member['g_attach_max'] > 0 )
{
  if ( $this->ipsclass->member['g_attach_per_post'] )
  {
 $space_allowed = intval( ( $this->ipsclass->member['g_attach_per_post'] * 1024 ) - $space_used );
 $space_allowed = $space_allowed < 0 ? 0 : $space_allowed;
}
  else
  {
$space_allowed = intval( ( $this->ipsclass->member['g_attach_max'] * 1024 ) - $space_used ); 
$space_allowed = $space_allowed < 0 ? 0 : $space_allowed;
  }
}
else
{
# Unlimited
$space_allowed = 0;
}

первое условие дает ответ на вопрос - почему если не ограничивать общее место - неограниченным становится и объем для каждого поста.

я не могу понять, нафига вообще это условие, если потом оно еще раз проверяется. но не спешите убирать, пусть ответят старшие товарищи, может это для проверки запретов испольуется.

 

но еще интересный момент, вытекающий из логики этих проверок: если вдруг какими-то путями человек сможет прикрепить больше, чем ему вообще всего было положено (ну или, допустим, вы снизите ограничение для группы на меньшую величину, а кто-либо из этой группы уже успеет превысить новый лимит - по старому-то лимиту ему это было разрешено) и при этом лимит загрзок на пост нулевой - ему автоматически будет разрешено прикреплять неограниченный объем. проверено - работает ;-)

 

короче, нули в этих настройках оставлять низя )

Ссылка на комментарий
Поделиться на других сайтах

  • 0
кстати у мя тож такой вопрос!

 

написано типа надо ставить 0, тада он вообще просто не воспринимает нижний параметр.

 

а так приходится ставить там 9999999 а потом ниже уже на пост, чтобы все работало.

 

Спасибо, помогло, но все равно не пойму, может это глюк локализации?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

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

if ( $this->ipsclass->member['g_attach_per_post']  )
{
// Per post limit...
$_space_used = ...
}
else
{
// Global limit...
$_space_used = ...
}

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

 

собственно, таким образом выполнено требуемое по первому посту ;-)))))

 

поставьте любой общий лимит, лишь бы не нулевой больше лимита для сообщений, а потом ставьте лимит по постам - глобальный считаться не будет ;-)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
кстати, из того же скрипта следует, что установка лимита на пост делает бессмысленным настройки глобального лимита, потому что:

if ( $this->ipsclass->member['g_attach_per_post']  )
{
// Per post limit...
$_space_used = ...
}
else
{
// Global limit...
$_space_used = ...
}

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

 

собственно, таким образом выполнено требуемое по первому посту ;-)))))

 

поставьте любой общий лимит, лишь бы не нулевой больше лимита для сообщений, а потом ставьте лимит по постам - глобальный считаться не будет ;-)

 

да уж :D намудрили ипбники так намудрили ;) т.е. при любом положительном глобальном лимите например поставить 1 - он считатся не будет, если установлен лимит на пост? :)

 

просто в меню ответа там же есть статистика - типа сколько вообще уже юзером закачено.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
да уж :D намудрили ипбники так намудрили ;) т.е. при любом положительном глобальном лимите например поставить 1 - он считатся не будет, если установлен лимит на пост? :)

просто в меню ответа там же есть статистика - типа сколько вообще уже юзером закачено.

 

не верите теоретическим расчетам - легко проверить на практике ;-)

поставьте глобальный лимит, скажем, 50Кб, а на пост - 30 Кб.

потом пойдите и спокойно опубликуйте три сообщения, приаттачив к каждому по 25Кбайтной картинке ;-)

 

я попытался переписать логику проверки. бага с получением анлима при превышении лимита фиксится несложно, причем попутно все упрощается как минимум вдвое.

но проблема в том, что вывод, видимо, писался постепенно, поэтому чтобы все было красиво - нужно менять весь алгоритм работы с аттачами (а заодно, кстати, и в админке не мешало бы подправить поиск - сейчас там ищется только имени и если оно менялось - искать приходится дважды).

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.