Найти пропущенные сообщения - отображает мои как пропущенные

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
xvoid
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 6 месяцев

Найти пропущенные сообщения - отображает мои как пропущенные

Сообщение xvoid »

http://127.0.0.1/forum/search.php?search_id=newposts
Выдает пропущенные сообщения, после того как я захожу на форум и оставляю посты, после перехода на главную страницу он мне показывает мои сообщения как пропущенные, как это исправить ?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Правильно настроить куки имхо...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
xvoid
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 6 месяцев

Сообщение xvoid »

Куки у меня настроенны, я в search.php нашел строчку:

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

			if ( $search_id == 'newposts' )
			{
				if ( $userdata['session_logged_in'] )
				{
					$sql = "SELECT post_id 
						FROM " . POSTS_TABLE . " 
						WHERE post_time > " . $userdata['user_lastvisit'];
				}
				else
				{
					redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=newposts", true));
				}

				$show_results = 'topics';
				$sort_by = 0;
				$sort_dir = 'DESC';
			}
Вобщем получается она берет в массив все что по времени совпадает или старше моей сессии, я только ненашел пока где это обрабатывается, может есть смысл вырезать все посты где автор username ?
Просто я реально несталкивался, ижу разбираюсь как это происходит, вообще у меня так и раньше было при чистом phpBB, только щас стали жаловаться, но модов куча. поэтому немогу жаловаться на phpBB.
Когда я открываю главную страничцу он мне рядом с кнопкой показывает число пропущенных сообщений, я захожу, выхожу, числа нету, хотя если нажать опять то там будет список пропущенных, есть мысли почему так происходит, может всем моим проблемам причина в какой нть функции ?

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

Кратко о себе :) :

Настройки куки:
Домен куки gns.net.ru
Имя куки gns
Путь куки /
Безопасные выкл, сесия дефолт (час)

phpbb 2.0.19
PHP 5.2.0
MySQL 5.0.27 (community-nt)
apache_2.2.3-win32-x86-no_ssl
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

xvoid
И еще идет проверка кук на посещение тем в текущей сессии.
Настроены - это одно, а вот настроены верно - совсем другое. Тема по настройке кук есть в FAQ.

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

		$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
		$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();

< . . . >

				if ( $userdata['session_logged_in'] && $searchset[$i]['post_time'] > $userdata['user_lastvisit'] )
				{
					if ( !empty($tracking_topics[$topic_id]) && !empty($tracking_forums[$forum_id]) )
					{
						$topic_last_read = ( $tracking_topics[$topic_id] > $tracking_forums[$forum_id] ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
					}
					else if ( !empty($tracking_topics[$topic_id]) || !empty($tracking_forums[$forum_id]) )
					{
						$topic_last_read = ( !empty($tracking_topics[$topic_id]) ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
					}

					if ( $searchset[$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'];
					}
				}
Добавлено спустя 2 минуты 25 секунд:

Настройки увидел, если с IP ходите то понятно в чем проблема... браузер просто не может куки прочитать... домен то идет указанный в конфигурации и соотвественно куки поставленные с gsn.net.ru не прочесть с 127.0.0.1
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
xvoid
phpBB 1.4.3
Сообщения: 98
Стаж: 18 лет 6 месяцев

Сообщение xvoid »

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

					if ( $userdata['session_logged_in'] )
					{
						if ( $searchset[$i]['post_time'] > $userdata['user_lastvisit'] ) 
						{
							if ( !empty($tracking_topics) || !empty($tracking_forums) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
							{

								$unread_topics = true;

								if ( !empty($tracking_topics[$topic_id]) )
								{
									if ( $tracking_topics[$topic_id] > $searchset[$i]['post_time'] )
									{
										$unread_topics = false;
									}
								}

								if ( !empty($tracking_forums[$forum_id]) )
								{
									if ( $tracking_forums[$forum_id] > $searchset[$i]['post_time'] )
									{
										$unread_topics = false;
									}
								}

								if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
								{
									if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $searchset[$i]['post_time'] )
									{
										$unread_topics = false;
									}
								}

								if ( $unread_topics )
								{
									$folder_image = $folder_new;
									$folder_alt = $lang['New_posts'];

									$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="' . $images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
								}
								else
								{
									$folder_alt = ( $searchset[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];

									$folder_image = $folder;
									$folder_alt = $folder_alt;
									$newest_post_img = '';
								}

							}
							else if ( $searchset[$i]['post_time'] > $userdata['user_lastvisit'] ) 
							{
								$folder_image = $folder_new;
								$folder_alt = $lang['New_posts'];

								$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="' . $images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
							}
							else 
							{
								$folder_image = $folder;
								$folder_alt = ( $searchset[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
								$newest_post_img = '';
							}
						}
						else
						{
							$folder_image = $folder;
							$folder_alt = ( $searchset[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
							$newest_post_img = '';
						}
					}
Вот вроде сама обработка кук :)
Скорее всего с цифрой пропущенных это куки, а вот что делать с тем что он мне мои же посты как пропущенные выдает, это так и должно быть, можете подсказать каким путем лучше решать эту траблу ?

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

У меня локальный dns, все ходят по gns.net.ru, 127.0.0.1 написал, чтобы вы непдумали, что у меня хостится в инете, я закрыл из инета вход.

Я был на факе по настройке кук, но на всякий схожу ещё раз, что можно сделать с отображением постов залогиненного юзера ему же ?

Вернуться в «Поддержка phpBB 2.0.x»