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

Изменить функцию отображения времени

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Bortmehanik
phpBB 1.4.2
Сообщения: 56
Стаж: 12 лет 6 месяцев
Откуда: Торонто
Благодарил (а): 16 раз
Поблагодарили: 5 раз

Изменить функцию отображения времени

Сообщение Bortmehanik »

Здравствуйте!
Согласно установленному на форуме по умолчанию формату отображения времени, высвечивается "менее минуты назад", "10 минут назад", "59 минут назад". Но если прошёл час, то показывается уже не сколько прошло, а само время, например: "Сегодня 20:22". Как можно продлить это удовольствие - скажем, на 12 часов назад (вместо 1 часа), или хотя-бы на 6? Т.е. если прошло менее 12 (6) часов, то чтобы вместо времени высвечивалось, к примеру, "5 часов 42 минуты назад". Мне подсказали, что нужно изменить функцию format_date (в includes/session.php), но, может, кто-то знает как?

Спасибо!
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 10 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Изменить функцию отображения времени

Сообщение nissin »

OPEN includes/session.php
FIND

Код: Выделить всё

		// Show date <= 1 hour ago as 'xx min ago' but not greater than 60 seconds in the future
		// A small tolerence is given for times in the future but in the same minute are displayed as '< than a minute ago'
		if ($delta <= 3600 && $delta > -60 && ($delta >= -5 || (($now / 60) % 60) == (($gmepoch / 60) % 60)) && $date_cache[$format]['is_short'] !== false && !$forcedate && isset($this->lang['datetime']['AGO']))
		{
			return $this->lang(array('datetime', 'AGO'), max(0, (int) floor($delta / 60)));
		}
REPLACE WITH

Код: Выделить всё

		// Show date <= 1 hour ago as 'xx min ago' but not greater than 60 seconds in the future
		// A small tolerence is given for times in the future but in the same minute are displayed as '< than a minute ago'
		if ($delta <= 43200 && $delta > -60 && ($delta >= -5 || (($now / 60) % 60) == (($gmepoch / 60) % 60)) && $date_cache[$format]['is_short'] !== false && !$forcedate && isset($this->lang['datetime']['AGO']))
		{
			return $this->lang(array('datetime', 'AGO'), max(0, (int) floor($delta / 60)), max(0, (int) floor($delta / 3600)), max(0, (int) floor(($delta % 3600) / 60)));
		}
OPEN language/en/common.php
FIND

Код: Выделить всё

			60		=> '1 hour ago',
ADD AFTER

Код: Выделить всё

			61		=> '%2$d hour and %3$d minutes ago',
			120		=> '%2$d hours and %3$d minutes ago',
OPEN language/ru/common.php
FIND

Код: Выделить всё

			60		=> '1 час назад',
ADD AFTER

Код: Выделить всё

			61		=> '%2$d час %3$d минут назад',
			120		=> '%2$d часа %3$d минут назад',
			300		=> '%2$d часов %3$d минут назад',
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Изменить функцию отображения времени

Сообщение Пчелкин »

Это как я понял до 12 часов назад? Здорово!!!
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Bortmehanik
phpBB 1.4.2
Сообщения: 56
Стаж: 12 лет 6 месяцев
Откуда: Торонто
Благодарил (а): 16 раз
Поблагодарили: 5 раз

Re: Изменить функцию отображения времени

Сообщение Bortmehanik »

nissin, охрененных размеров спасибище!!!
Аватара пользователя
Bortmehanik
phpBB 1.4.2
Сообщения: 56
Стаж: 12 лет 6 месяцев
Откуда: Торонто
Благодарил (а): 16 раз
Поблагодарили: 5 раз

Re: Изменить функцию отображения времени

Сообщение Bortmehanik »

Установил, работает - ещё раз благодарствую!

Правда, всегда высвечивается "минут" - даже когда надо "минута" или "минуты" ("2 часа 1 минут", "5 часов 4 минут"). Но я решил эту проблему тем, что в языковом файле обрубил "минут" до "мин", т.е. получилось "универсальное" сокращение. Вот как теперь выглядит секция активных тем:

Изображение

Вернуться в «Запросы модов для phpBB 3.0.x»