Внимание!
Не все расширения для phpBB 3.2 совместимы с phpBB 3.3, главным образом из-за неверного синтаксиса в определениях сервисов (отсутствия обрамляющих кавычек - '...').
Перед обновлением необходимо убедиться в совместимости всех расширений.
Рекомендуется предварительно тестировать обновление на копии конференции (локально или на сервере).

[dev] Topic/post in viewonline

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14744
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 354 раза
Поблагодарили: 1623 раза

[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
Зарегистрирован: 18.03.2007 16:03
Откуда: Елец
Поблагодарили: 2 раза

Re: [dev] Topic/post in viewonline

Сообщение izstas »

О... я ведь свой тоже полностью переписал :) Только про p=x я забыл :)

AD
phpBB 1.4.3
Сообщения: 86
Зарегистрирован: 02.03.2008 16:06
Забанен: Бессрочно

Re: [dev] Topic/post in viewonline

Сообщение AD »

rxu

Можно скрины или демо?

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

Re: [dev] Topic/post in viewonline

Сообщение rxu »

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

AD
phpBB 1.4.3
Сообщения: 86
Зарегистрирован: 02.03.2008 16:06
Забанен: Бессрочно

Re: [dev] Topic/post in viewonline

Сообщение AD »

rxu

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

Добавлено спустя 31 секунду:
Я думал во viewonline это будет.

Аватара пользователя
DOMINATOR
phpBB 1.4.4
Сообщения: 153
Зарегистрирован: 18.09.2007 23:07
Откуда: Новосибирск
Поблагодарили: 13 раз

Re: [dev] Topic/post in viewonline

Сообщение DOMINATOR »

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

AD
phpBB 1.4.3
Сообщения: 86
Зарегистрирован: 02.03.2008 16:06
Забанен: Бессрочно

Re: [dev] Topic/post in viewonline

Сообщение AD »

DOMINATOR

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

Добавлено спустя 54 секунды:
Слушай, впервый раз вообще узнал, что этот заголовок кликабелен. Чудесно!

Fazan
phpBB 1.4.2
Сообщения: 61
Зарегистрирован: 28.03.2008 0:13
Благодарил (а): 2 раза

Re: [dev] Topic/post in viewonline

Сообщение Fazan »

мод перерос стадию [dev]? :)

!((( ALEX )))!
phpBB 1.4.4
Сообщения: 136
Зарегистрирован: 19.05.2008 19:08
Поблагодарили: 2 раза

Re: [dev] Topic/post in viewonline

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

rxu
в темах и форумах снизу то же есть пункт "кто сейчас на конференции" и в нем отображается те кто сейчас читает конкретный форум, а хотелось бы находясь в теме видеть кто читает именно тему в которой находишься.

lunat
phpBB 1.4.0
Сообщения: 38
Зарегистрирован: 15.11.2008 2:23
Откуда: россия

Re: [dev] Topic/post in viewonline

Сообщение lunat »

rxu
спасибо за мод. Прекрасно работает и переход по темам точный. Но вот добавить бы переход "Просмотр профиля пользователя" что бы видеть чей именно профиль просматривают. Такая фича на IPB сделана.

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

Re: [dev] Topic/post in viewonline

Сообщение rxu »

С профилем уже реализовано, по возможности выложу дополнения в код.
Изображение

Vitaliy21
phpBB 1.4.2
Сообщения: 62
Зарегистрирован: 10.04.2009 18:15
Откуда: Ukraine, Zaporozhe
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: [dev] Topic/post in viewonline

Сообщение Vitaliy21 »

rxu

а как сильно этот мод нагружает сервер если на форуме присутствуют много посетителей?

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

Re: [dev] Topic/post in viewonline

Сообщение rxu »

Зависит от того, сколько из них присутствуют на странице viewonline.php. Сильно нагружать не должен.
Изображение

lunat
phpBB 1.4.0
Сообщения: 38
Зарегистрирован: 15.11.2008 2:23
Откуда: россия

Re: [dev] Topic/post in viewonline

Сообщение lunat »

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

lunat
phpBB 1.4.0
Сообщения: 38
Зарегистрирован: 15.11.2008 2:23
Откуда: россия

Re: [dev] Topic/post in viewonline

Сообщение lunat »

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

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