[dev] Topic/post in viewonline

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

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

[dev] Topic/post in viewonline

Сообщение rxu » 11.06.2008 17:03

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

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

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

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 » 11.06.2008 21:26

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

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

Re: [dev] Topic/post in viewonline

Сообщение AD » 11.06.2008 23:39

rxu

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

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

Re: [dev] Topic/post in viewonline

Сообщение rxu » 13.06.2008 12:56

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

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

Re: [dev] Topic/post in viewonline

Сообщение AD » 13.06.2008 14:09

rxu

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

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

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

Re: [dev] Topic/post in viewonline

Сообщение DOMINATOR » 13.06.2008 22:17

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

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

Re: [dev] Topic/post in viewonline

Сообщение AD » 13.06.2008 22:42

DOMINATOR

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

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

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

Re: [dev] Topic/post in viewonline

Сообщение Fazan » 13.01.2009 11:01

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

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

Re: [dev] Topic/post in viewonline

Сообщение !((( ALEX )))! » 18.04.2009 15:58

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

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

Re: [dev] Topic/post in viewonline

Сообщение lunat » 19.04.2009 10:43

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

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

Re: [dev] Topic/post in viewonline

Сообщение rxu » 19.04.2009 10:45

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

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

Re: [dev] Topic/post in viewonline

Сообщение Vitaliy21 » 04.05.2009 19:46

rxu

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

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

Re: [dev] Topic/post in viewonline

Сообщение rxu » 04.05.2009 19:59

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

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

Re: [dev] Topic/post in viewonline

Сообщение lunat » 05.05.2009 1:01

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

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

Re: [dev] Topic/post in viewonline

Сообщение lunat » 11.06.2009 20:53

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

Закрыто

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