Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[dev] Topic/post in viewonline

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

[dev] Topic/post in viewonline

Сообщение rxu »

Добавляет имя темы и ссылку на эту тему (или на конкретный пост), просматриваемые пользователем, в описании места в конференции на странице "Кто сейчас на конференции".
Надеюсь, описание понятное :)

Мод в стартовой стадии разработки.

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

Author: rxu <http://phpbbguru.net>

OPEN
viewonline.php

FIND
$prev_id = $prev_ip = $user_list = array();

BEFORE, ADD
$topics_ids = $posts_ids = $posts_topics_ids = $topic_title = array();
while ($row = $db->sql_fetchrow($result))
{
	preg_match('#t=([0-9]+)#i', $row['session_page'], $topic_id);
	$topic_id = (sizeof($topic_id)) ? (int) $topic_id[1] : 0;
	if($topic_id)
	{
		$topics_ids[] = $topic_id;
	}

	preg_match('#p=([0-9]+)#i', $row['session_page'], $post_id);
	$post_id = (sizeof($post_id)) ? (int) $post_id[1] : 0;
	if($post_id)
	{
		$posts_ids[] = $post_id;
	}
}
$db->sql_rowseek(0, $result);

if (sizeof($posts_ids))
{
	$sql = 'SELECT post_id, topic_id FROM ' . POSTS_TABLE . '
		WHERE ' . $db->sql_in_set('post_id', $posts_ids);
	
	$posts_result = $db->sql_query($sql);
	
	while ($posts = $db->sql_fetchrow($posts_result))
	{
		$topics_ids[] = $posts['topic_id'];
		$posts_topics_ids[$posts['post_id']] = $posts['topic_id'];
	}
	$db->sql_freeresult($posts_result);
}

if (sizeof($topics_ids))
{
	$topics_ids = array_unique($topics_ids);

	$sql = 'SELECT topic_id, topic_title FROM ' . TOPICS_TABLE . '
		WHERE ' . $db->sql_in_set('topic_id', $topics_ids);
	
	$topics_result = $db->sql_query($sql);
	
	while ($topics = $db->sql_fetchrow($topics_result))
	{
		$topic_title[$topics['topic_id']] = $topics['topic_title'];
	}
	$db->sql_freeresult($topics_result);
}

FIND
						$location = sprintf($user->lang['READING_TOPIC'], $forum_data[$forum_id]['forum_name']);

REPLACE WITH
						preg_match('#t=([0-9]+)#i', $row['session_page'], $topic_id);
						$topic_id = (sizeof($topic_id)) ? (int) $topic_id[1] : 0;
						preg_match('#p=([0-9]+)#i', $row['session_page'], $post_id);
						$post_id = (sizeof($post_id)) ? (int) $post_id[1] : 0;
						$location = ($topic_id && !$post_id) ? sprintf($user->lang['READING_THE_TOPIC'], $topic_title[$topic_id], $forum_data[$forum_id]['forum_name']) : (($post_id) ? sprintf($user->lang['READING_THE_POST'], $topic_title[$posts_topics_ids[$post_id]], $forum_data[$forum_id]['forum_name']) : sprintf($user->lang['READING_TOPIC'], $forum_data[$forum_id]['forum_name']));
						$location_url = ($topic_id && !$post_id) ? append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $forum_id . '&t=' . $topic_id) : (($post_id) ? append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p=$post_id#p$post_id") : $location_url);

OPEN
language/en/common.php

FIND
	'READING_TOPIC'

AFTER, ADD
	'READING_THE_TOPIC'			=> 'Reading the topic <strong>%1$s</strong> in %2$s',
	'READING_THE_POST'			=> 'Reading the post in the topic <strong>%1$s</strong> in %2$s',
Изображение
Аватара пользователя
izstas
phpBB 1.4.4
Сообщения: 112
Стаж: 17 лет
Откуда: Елец
Поблагодарили: 2 раза
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение izstas »

О... я ведь свой тоже полностью переписал :) Только про p=x я забыл :)
AD
phpBB 1.4.3
Сообщения: 86
Стаж: 16 лет
Забанен: Бессрочно

Re: [dev] Topic/post in viewonline

Сообщение AD »

rxu

Можно скрины или демо?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение rxu »

AD
А что можно увидеть на скринах? Тот же список пользователей онлайн, только в колонке "Место на конференции" будет что-то вроде "Просмотр сообщения в теме такой-то в форуме таком-то" со ссылкой на это конкретное сообщение или "Просмотр темы такой-то в форуме таком-то" со ссылкой на эту конкретную тему.
Вот и всё.
Изображение
AD
phpBB 1.4.3
Сообщения: 86
Стаж: 16 лет
Забанен: Бессрочно

Re: [dev] Topic/post in viewonline

Сообщение AD »

rxu

А ясно, нормально. Ждём тогда релиза.

Добавлено спустя 31 секунду:
Я думал во viewonline это будет.
Аватара пользователя
DOMINATOR
phpBB 1.4.4
Сообщения: 153
Стаж: 16 лет 6 месяцев
Откуда: Новосибирск
Поблагодарили: 13 раз
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение DOMINATOR »

AD, ну так это действительно и будет в viewonline... Неужели из вносимых изменений это не ясно?
При переходе по ссылке "Кто сейчас на конференции" будет видно какую тему или сообщение просматривает пользователь в графе "Место на конференции"...
Важное дополнение к FAQ по установке модов:
Моды ночью/на пьяную голову/с похмелья не ставь, движок сломаешь! Все равно с утра переделывать прийдется...
;)
AD
phpBB 1.4.3
Сообщения: 86
Стаж: 16 лет
Забанен: Бессрочно

Re: [dev] Topic/post in viewonline

Сообщение AD »

DOMINATOR

Я их не смотрел. :)

Добавлено спустя 54 секунды:
Слушай, впервый раз вообще узнал, что этот заголовок кликабелен. Чудесно!
Fazan
phpBB 1.4.2
Сообщения: 61
Стаж: 16 лет
Благодарил (а): 2 раза
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение Fazan »

мод перерос стадию [dev]? :)
!((( ALEX )))!
phpBB 1.4.4
Сообщения: 136
Стаж: 15 лет 10 месяцев
Поблагодарили: 2 раза
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение !((( ALEX )))! »

rxu
в темах и форумах снизу то же есть пункт "кто сейчас на конференции" и в нем отображается те кто сейчас читает конкретный форум, а хотелось бы находясь в теме видеть кто читает именно тему в которой находишься.
lunat
phpBB 1.4.0
Сообщения: 38
Стаж: 15 лет 4 месяца
Откуда: россия
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение lunat »

rxu
спасибо за мод. Прекрасно работает и переход по темам точный. Но вот добавить бы переход "Просмотр профиля пользователя" что бы видеть чей именно профиль просматривают. Такая фича на IPB сделана.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение rxu »

С профилем уже реализовано, по возможности выложу дополнения в код.
Изображение
Vitaliy21
phpBB 1.4.2
Сообщения: 62
Стаж: 14 лет 11 месяцев
Откуда: Ukraine, Zaporozhe
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: [dev] Topic/post in viewonline

Сообщение Vitaliy21 »

rxu

а как сильно этот мод нагружает сервер если на форуме присутствуют много посетителей?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение rxu »

Зависит от того, сколько из них присутствуют на странице viewonline.php. Сильно нагружать не должен.
Изображение
lunat
phpBB 1.4.0
Сообщения: 38
Стаж: 15 лет 4 месяца
Откуда: россия
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение lunat »

rxu
Еще раз спасибо. Нагрузки на сервер при 35 поситителях вообще не было.
Очень жду вашего дополнения:
rxu писал(а):С профилем уже реализовано, по возможности выложу дополнения в код
lunat
phpBB 1.4.0
Сообщения: 38
Стаж: 15 лет 4 месяца
Откуда: россия
Контактная информация:

Re: [dev] Topic/post in viewonline

Сообщение lunat »

rxu
жаль что вы приостановили работу над этим модом. У меня не получилось внести код "Просмотр профиля пользователя"
Закрыто

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