Viewtopic Users Data Cache 1.0.0

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Viewtopic Users Data Cache 1.0.0

Сообщение Xpert » 11.08.2006 8:50

Мод кеширует информацию о пользователях во viewtopic.php, чтобы при генерации страницы если на странице несколько сообщений от одного пользователя, не генерировать его информацию заново.

ВНИМАНИЕ: мод рассчитан на стандартный форум. Если форум у вас модифицированный и если вы досконально не понимаете что он делает, ставить его не советую. Корректную работу на форуме с добавленными относительно чистого phpBB модами, влияющими на инфорумацию о пользователе (Birthday, Gender, etc...) не гарантирую.

Чуть позже планирую сделать еще кеширование подписи. Аддоны тоже будут, но когда - сложно сказать.
Вложения
1.0.0.txt
(8.2 КБ) 788 скачиваний
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

Аватара пользователя
svk
phpBB 2.0.3
Сообщения: 384
Зарегистрирован: 03.07.2005 13:08
Откуда: Москва, Fortuna-net
Контактная информация:

Сообщение svk » 11.08.2006 9:16

Поставил себе. Не пофигачились ни гендер, ни карма, ни мой мод статы.
странно :)
NETBYNET Holding system administrator

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 11.08.2006 10:43

А вот и addon для подписей

Добавлено спустя 56 минут 7 секунд:

Для Gender

Добавлено спустя 6 минут 8 секунд:

Для Birthday

Добавлено спустя 2 минуты:

Аддоны для модов прошу ставить внимательно, возможны расхождения с инструкциями... там все довольно запутанно в результате получается :( В общем как и было сказано, мод требует понимания - что, где, к чему и почему...
Вложения
birthday.txt
(2.21 КБ) 695 скачиваний
gender.txt
(1.96 КБ) 667 скачиваний
sigs_caching.txt
(2.06 КБ) 709 скачиваний
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 16.08.2006 20:17

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

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14318
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

Сообщение rxu » 16.08.2006 21:25

И тишина...
:) Xpert, наверное, напугал всех толстыми и черными варнингами :lol:
Изображение

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4098
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 106 раз
Поблагодарили: 423 раза
Контактная информация:

Сообщение Siava » 16.08.2006 21:30

Xpert
Я всё забываю проверить этот мод :) Для меня очень актуально, как потестю обязательно отпишусь :)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 16.08.2006 21:44

Варнинги вполне актуальны. Этот мод способен вызвать много вопросов у тех, кто не помнит что и когда он ставил на форум и что и как в нем работает. Но на самом деле в нем нет ничего сложного. Я постарался сделать изменения минимальными и кажется мне это удалось.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

lusever
phpBB 1.4.2
Сообщения: 66
Зарегистрирован: 10.03.2005 20:46
Контактная информация:

Сообщение lusever » 20.08.2006 21:41

Пока не будет тестов, смысла для большинства нет. Кто его знает, стоит ли сбрасывать инфу в массив, а потом проверять вхождение. Это ведь может быть даже затранее того, чем sql запрос.
Кстати, sql запроса я и необнаружил. Тогда что мы оптимизировали?
Генерацию, может я и не понимаю (и ни в коем случае не хочу умилить чьто труды), но генерация того контента происходит достаточно быстро.
Исключение это подписи, т.к. там всё-таки регулярки.

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 23.08.2006 8:36

Вы полагаете что выполнение пары десятков строк кода будет быстрее чем выемка данных из массива? Я так не считаю, особенно если стоят моды, догружающие viewtopic. Кроме того, аналогично все реализовано в phpBB 3, я не думаю что разработчики написали подобный код от нечего делать.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

Ulfr
phpBB 1.2.1
Сообщения: 25
Зарегистрирован: 21.07.2006 13:19

Сообщение Ulfr » 27.08.2006 14:43

Xpert писал(а):Варнинги вполне актуальны. Этот мод способен вызвать много вопросов у тех, кто не помнит что и когда он ставил на форум и что и как в нем работает.
Угумс. Вопрос возник.
Устанавливал тупо по инструкции.
После установки этого мода дата в заголовке постов сбрасывается на 3:00 01.01.1970 (т.е. насколько я понимаю - не получает ответа на запрос даты поста)
При этом дата на индексе отображается нормально.

Версия phpBB*: 2.0.21
Используемые шаблоны: subSilver
Используемые моды:
stop advertisement bots 2.0
Admin Userlist 2.0.6
Anti spam-bots.zip
File Attachment Mod 2.4.3
Simply Merge Threads 1.0.1 - устанавливал по инструкции Xpert'а
Split posts and merge in one step 1.0.3
Extended Quick Reply Form 3.0.3 - с удалением редиректа после отправки

Версия PHP: 4.4.2
Используемая СУБД и её версия: MySQL 4.1.16 (на локалхосте) и 4.1.21 (на хостинге)
Ссылка на конференцию: wanderers.ru
Использовался ли поиск для решения проблемы: нет, поскольку мод достаточно нов.

Вполне вероятно, я то это я накосячил при установке, потому прикладываю posting.php (сам разобраться я пока, к сожалению, не в состоянии).
Вложения
viewtopic.zip
(10.71 КБ) 576 скачиваний

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 27.08.2006 17:11

Спасибо, это глюк мода...

Одна из инструкций мода переписана в такой вид:

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

#
#-----[ FIND ]------------------------------------------
#
	$poster_id = $postrow[$i]['user_id'];
	$poster = ( $poster_id == ANONYMOUS ) ? $lang['Guest'] : $postrow[$i]['username'];

	$post_date = create_date($board_config['default_dateformat'], $postrow[$i]['post_time'], $board_config['board_timezone']);

	$poster_posts = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? $lang['Posts'] . ': ' . $postrow[$i]['user_posts'] : '';

	$poster_from = ( $postrow[$i]['user_from'] && $postrow[$i]['user_id'] != ANONYMOUS ) ? $lang['Location'] . ': ' . $postrow[$i]['user_from'] : '';

	$poster_joined = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? $lang['Joined'] . ': ' . create_date($lang['DATE_FORMAT'], $postrow[$i]['user_regdate'], $board_config['board_timezone']) : '';

	$poster_avatar = '';
	if ( $postrow[$i]['user_avatar_type'] && $poster_id != ANONYMOUS && $postrow[$i]['user_allowavatar'] )
	{
		switch( $postrow[$i]['user_avatar_type'] )
		{
			case USER_AVATAR_UPLOAD:
				$poster_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_REMOTE:
				$poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_GALLERY:
				$poster_avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
		}
	}

	//
	// Define the little post icon
	//
	if ( $userdata['session_logged_in'] && $postrow[$i]['post_time'] > $userdata['user_lastvisit'] && $postrow[$i]['post_time'] > $topic_last_read )
	{
		$mini_post_img = $images['icon_minipost_new'];
		$mini_post_alt = $lang['New_post'];
	}
	else
	{
		$mini_post_img = $images['icon_minipost'];
		$mini_post_alt = $lang['Post'];
	}

	$mini_post_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $postrow[$i]['post_id']) . '#' . $postrow[$i]['post_id'];

#
#-----[ REPLACE WITH ]------------------------------------------
#
	// [begin] Viewtopic Users Data Cache 1.0.0 
	$poster_id = $postrow[$i]['user_id'];

	$post_date = create_date($board_config['default_dateformat'], $postrow[$i]['post_time'], $board_config['board_timezone']);

	//
	// Define the little post icon
	//
	if ( $userdata['session_logged_in'] && $postrow[$i]['post_time'] > $userdata['user_lastvisit'] && $postrow[$i]['post_time'] > $topic_last_read )
	{
		$mini_post_img = $images['icon_minipost_new'];
		$mini_post_alt = $lang['New_post'];
	}
	else
	{
		$mini_post_img = $images['icon_minipost'];
		$mini_post_alt = $lang['Post'];
	}

	$mini_post_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $postrow[$i]['post_id']) . '#' . $postrow[$i]['post_id'];

	if (!isset($user_cache[$poster_id]))
	{
	$poster = $postrow[$i]['username'];

	$poster_posts = $lang['Posts'] . ': ' . $postrow[$i]['user_posts'];

	$poster_from = ( $postrow[$i]['user_from'] ) ? $lang['Location'] . ': ' . $postrow[$i]['user_from'] : '';

	$poster_joined = $lang['Joined'] . ': ' . create_date($lang['DATE_FORMAT'], $postrow[$i]['user_regdate'], $board_config['board_timezone']);

	$poster_avatar = '';
	if ( $postrow[$i]['user_avatar_type'] && $postrow[$i]['user_allowavatar'] )
	{
		switch( $postrow[$i]['user_avatar_type'] )
		{
			case USER_AVATAR_UPLOAD:
				$poster_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_REMOTE:
				$poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_GALLERY:
				$poster_avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
		}
	}
	// [end] Viewtopic Users Data Cache 1.0.0 
Вложения
1.0.1.txt
(8.31 КБ) 674 скачивания
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

Ulfr
phpBB 1.2.1
Сообщения: 25
Зарегистрирован: 21.07.2006 13:19

Сообщение Ulfr » 28.08.2006 0:54

Спасибо большое. Теперь все в норме.

Аватара пользователя
Nemo1987
phpBB 2.0.7
Сообщения: 560
Зарегистрирован: 14.02.2006 10:20

Сообщение Nemo1987 » 06.09.2006 15:25

Усе круто, только моно все сделать без "расхождений с инструкцией" и в одном архиве?? ;)

aiw
phpBB 1.2.0
Сообщения: 13
Зарегистрирован: 25.08.2006 7:41
Контактная информация:

Re: Viewtopic Users Data Cache 1.0.0

Сообщение aiw » 01.03.2007 21:17

Xpert писал(а):Чуть позже планирую сделать еще кеширование подписи
Мод супер, спасибо, но ждём обещаного продолжения... :roll:

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 01.03.2007 22:13

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

Закрыто

Вернуться в «Бета-версии модов для phpBB 2.0.x»