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

Прикрепляемые файлы к сообщениям.


Вопрос

У каждого пользователя есть лимит на обьем прикрепляемых файлов к своим сообщениям.Если лимит выбран,то когда у пользователя он сможет обнулиться для загрузки новой порции? Или надо ему удалять прошлые файлы,что весьма не логично?

Приношу свои извинения,если это есть в настройках ,но я не нашел. :D

 

Версия 2.3.5

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

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

  • 0
Или надо ему удалять прошлые файлы,что весьма не логично?

Именно так. Что тут не логичного? :D

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

  • 0
Или надо ему удалять прошлые файлы,что весьма не логично?

Именно так. Что тут не логичного? :D

 

Минуточку...а разве очистка таким образом не удалит сами файлы в сообщениях?.Проверю сейчас вживую ;)

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

  • 0

Конечно удалит.

Вам мод нужен.

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

  • 0
Конечно удалит.

Вам мод нужен.

Спасибо,подумаем над алгоритмом работы Мода. :D

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

  • 0
Конечно удалит.

Вам мод нужен.

Спасибо,подумаем над алгоритмом работы Мода. :D

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

 

Суть: необходимо знать инфомацию, когда было последнее обращение к файлу.

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

 

ALTER TABLE `ibf_attachments` ADD `attach_last_hit` INT( 10 ) NOT NULL DEFAULT '0' COMMENT 'дата последнего клика по файлу в unix';

 

после лучше проставить у всех файлов текущую дату.

 

UPDATE `ibf_attachments` SET `attach_last_hit` = UNIX_TIMESTAMP();

 

файл: /sources/classes/attach/class_attach.php

находим:

				//-----------------------------------------
			// Update the "hits"..
			//-----------------------------------------

			$this->ipsclass->DB->build_and_exec_query( array( 'update' => 'attachments',
															  'set'	=> "attach_hits=attach_hits+1",
															  'where'  => "attach_id=".$attach_id ) );

заменяем на:

				//-----------------------------------------
			// Update the "hits"..
			//-----------------------------------------

			$this->ipsclass->DB->build_and_exec_query( array( 'update' => 'attachments',
															  'set'	=> "attach_hits=attach_hits+1,attach_last_hit=UNIX
_TIMESTAMP()",
															  'where'  => "attach_id=".$attach_id ) );

 

находим:

		$attach_data = array( 
						  'attach_ext'			=> "",
						  'attach_file'		   => "",
						  'attach_location'	   => "",
						  'attach_thumb_location' => "",
						  'attach_hits'		   => 0,
						  'attach_date'		   => time(),
						  'attach_temp'		   => 0,
						  'attach_post_key'	   => $this->attach_post_key,
						  'attach_member_id'	  => $this->ipsclass->member['id'],
						  'attach_rel_id'		 => $this->attach_rel_id,
						  'attach_rel_module'	 => $this->type,
						  'attach_filesize'	   => 0,
						);

добавляем после строки 'attach_filesize' => 0,

следующее:

							  'attach_last_hit'	   => time(),

 

мод готов.

 

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

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

 

проверка занимаемого места всеми этими маленькими файлами:

SELECT SUM(`attach_filesize`) FROM `ibf_attachments` WHERE `attach_is_image` =1 AND `attach_thumb_location` = '';

обычно там копейки выходят...

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

  • 0

G*g

Спасибо за инфо-примем к сведению этот вариант решения. На прикрепляемые файлы к сообщениям пользователей надо как-то в принципе подумать над алгоритмом их существования.Может в корне подход менять...Ведь если есть Галерея,то может как-то увязывать ее возможности с желанием пользователей размещать файлы,даже если у него нет своего альбома в Галерее(может при закачке файла автоматом его размещать в одном общаковом альбоме и не забивать себе голову с проблемами ограничения.).Пока мысли в стадии формирования вопроса с иным подходом.)

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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