Перейти к контенту

[1.x.x]Отметка топиков прочитанным, прочитан / не прочитан


theIggs

Рекомендуемые сообщения

  • Ответы 124
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

  • 3 недели спустя...
ставил на 1.3 рус, все вроде работает, но когда заходишь в панель управления в Настройки форума, и пытаешься выставить другое кол-во дней, когда сообщения считаютсмя автоматом прочитанными, она ничего не меняет и пишет вот такую мессагу

 

 

 

Обнаружена ошибка. Если Вам неизвестны причины ошибки, попробуйте обратиться к разделам помощи.

 

Обнаружена ошибка:

 

Мы рассматриваем это действие, как возможная попытка взлома. Данное действие уже записано в логах Администратора форума и он будет уведомлён по e-mail

 

не подскажите как исправить....

 

У меня то же самое :D что делать?

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Парни, ну так для 2.0.x движка подобный мод существует/планируется? или Все успешно забивают на это?

Для 1.3 Final ставил, работает отлично.

Ссылка на комментарий
Поделиться на других сайтах

  • 4 месяца спустя...
Очень не хорошо в последнее время ведут себя "мастера" сего дела. Не достучаться к ним, игнорируют и просто забивают, забывая при этом о том, что некоторые, не совсем ламеры но еще не гении - зависят от них.
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

пипл, есть такой вопрос - как будет вести себя модификация при 1 миллионе сообщений и 50 000 пользователей? (ну, опнятно, что это мечты - но все же).

 

И ещё - иногда глючит. Например бывает прихожу на форум - там много новых сообщений, но при поиске новых мессаг - пишет что, мол, ничего не найдено :D

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
ставил на 1.3 рус, все вроде работает, но когда заходишь в панель управления в Настройки форума, и пытаешься выставить другое кол-во дней, когда сообщения считаютсмя автоматом прочитанными, она ничего не меняет и пишет вот такую мессагу

 

 

 

 

Цитата

Обнаружена ошибка. Если Вам неизвестны причины ошибки, попробуйте обратиться к разделам помощи.

 

Обнаружена ошибка:

 

Мы рассматриваем это действие, как возможная попытка взлома. Данное действие уже записано в логах Администратора форума и он будет уведомлён по e-mail

 

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

 

Решилось так. В usercp_functions.php закоментировал кусок про быструю цитату (с всё время открытой UBBC он всё-равно как-то не актуален, в скинах был убран ранее) ошибка перестала появляться.

 

То есть получилось так

/*if ( ! preg_match( "/^\d+$/", $ibforums->input['OPEN_QR'] ) )
	{
		$std->Error( array( 'LEVEL' => 1, 'MSG' => 'poss_hack_attempt' ) );
	}*/

А потом уже

if ( ! preg_match( "/^\d+$/", $ibforums->input['markread'] ) )

и .т.д.

Ссылка на комментарий
Поделиться на других сайтах

>> пипл, есть такой вопрос - как будет вести себя модификация при 1 миллионе сообщений и 50 000 пользователей? (ну, опнятно, что это мечты - но все же).

никак. сервак отвалится

впрочем мне думается, что при таких условиях сервак отвалится, если даже на нём будет стоять "голый скрипт"

 

>> И ещё - иногда глючит. Например бывает прихожу на форум - там много новых сообщений, но при поиске новых мессаг - пишет что, мол, ничего не найдено

читай выше. Поиск не сделан.

Ссылка на комментарий
Поделиться на других сайтах

оно просто в поиске не сделано

;) а как же его сделать? Получается поиск работает по-старому... блин... :D

 

>никак. сервак отвалится

То есть отвалится? Неужели инвижен не поддерживает большого кол-ва постов и пользователей?

Ссылка на комментарий
Поделиться на других сайтах

посмотри реально на вещи.

Я думаю такого количества пользователей не выдержит не один знакомый мне скрипт форума.

Ссылка на комментарий
Поделиться на других сайтах

посмотри реально на вещи.

Я думаю такого количества пользователей не выдержит не один знакомый мне скрипт форума.

скрипт то может и выдержит, а вот сервак вряд ли :D

Ссылка на комментарий
Поделиться на других сайтах

ну я ж не имел ввиду 50к онлайна :D а вообще - сорри, я сам оффтоп завел.

По теме етсь такой вопрос-багрепорт:

когда я сам пишу в топике (написал ответ) то в списке форумов эта тема становится непрочитанной (Не всегда, правада)...

что-то блин накрутили с этим модом.. непонятно что и как работает ;) Или может я пропустил какие-то важные фиксы?

Изменено пользователем Spear
Ссылка на комментарий
Поделиться на других сайтах

==============================================================

Открыть файл sources/Login.php

==============================================================

Найти ДВАЖДЫ:

==============================================================

 

$DB->query("UPDATE ibf_members SET last_visit='".time()."', last_activity='".time()."' WHERE id='".$ibforums->member['id']."'");

 

==============================================================

Заменить на:

==============================================================

 

$DB->query("UPDATE ibf_members SET board_read='".time()."' WHERE id='".$ibforums->member['id']."'");

ятак понимаю если этого не делать то пропадет глююк - при логауте форумы помечаются прочтенными.

То есть в чем вопрос - если я эти изменения (выше) не сделаю - испрашится ли ошибка (с отметкой прочтенными форумы, которые не читал) и НЕ заглючит ли какая-нить другая функция мода?

 

ещё есть такой глюк - если прочитать тему, а потом её перенсти, то она будет висеть со статусом "непрочтенной" до тех пор, пока я не воспользуюсь функцией "отметить этот форум прочтенным".

Народ, помогите пожалуйста! Все-таки это одна из самых ВАЖНЫХ функций на форуме.. а так никакой стабильности - темы непонятно как становятся новыми и непонятно когда становятся прочетнными (это я про то, что поиск новых сообщений не работает :D)

Ссылка на комментарий
Поделиться на других сайтах

ещё один багрепорт:

НЕ работает функция "отметить все сообщения прочитанными"...

то есть когда я под своей учетной записью (админ) - все работает,

но я попробовал создать новго пользователя и отметить все форумы прочитанными - не работает. Да, меняются "кружочки" показывающие что прочитаны форуы и топики, но поиск по прежнему выводит сообщения.

Помогите пофиксить, пожалуйста!

 

p.s.

фикс который якобы это должен был исправить - сделан. Не помогает.

Ссылка на комментарий
Поделиться на других сайтах

Ну так я ж сказал: поиск не сделан!

Сколько раз можно повторять ?

 

Тут ещё много чего нужно сделать, чтобы работало нормально :D

У Ваниша не было совсем для этого времени.

Ссылка на комментарий
Поделиться на других сайтах

Обидно, очень обидно ;)

Ну, может автор как-нибудь напишет аддон к моду :D

 

У меня появился ещ такой вопросец (очень важный.. и по-моему эта тема - самая подходящая):

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

Вот что я хочу попробовать сделать (у Вас, Song, уже есть эти функции. если можно - в двух словах - как правильно делать.. терию)

1. показывать только темы, в которых есть новые сообщения.

2. при открытии темы показывать ТОЛЬКО новые сообщения.

3. При отображении списка тем в форуме хочу сделать такое: рядом с числом, обозначающим общее кол-во ответов в форуме нужно поставтиь число, отображающее кол-во новых ответов.

Если получится все это сделать то можно будет выпустить неплохую модификацию.

 

сам вопрос пока один главный - как вычисляет инвижен, акие сообщения новые, какие старые.. раньше, насколько я понимаю, делалось просто - если время публикации сообщения больше чем время последнего захода на форум... но это же не правильно, т.к. я хочу сделать учет имеено непрочитанных сообщений а не "новых со времени прошлого захода". Соответсвенно тут уже придется тормошить таблицу ibf_log_topics отделньым запросом? а если записи там не окажется - значит уже прошел 31 день (или ХХ дней - сколько указал юзер в профиле) и, соотвественно, - если записей нету то все сообщения можно считать прочтенными?

Ссылка на комментарий
Поделиться на других сайтах

в стандартном инвижине этого ничего не сделано.

там в куках хранится время последнего чтения каждого из разделов и с этим временем всё сравнивается.

Для этого и сделана данная модификация, чтобы это исправить.

 

ibf_log_topics - это не стандарт, а именно этот мод.

Ссылка на комментарий
Поделиться на других сайтах

ibf_log_topics - это не стандарт, а именно этот мод.

а можно вопрос - ка кже все-таки форум знает (после установки этого мода) какие сообщения\топики новые, какие - страые? И что решает поле read_froums и read_topics? запутался окончательно :D

вот например мне нужно сдлеать так, чтобы показывались только новые сообщения, которые юзер ещё не читал...

то есть осталось опять - понять какие условие поставить да зсунуть в запрос.

Изменено пользователем Spear
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
  • 1 месяц спустя...

Spear попробуй, только мне ненравятся мои выборки. нужно тестировать на реальном форуме. база у Innovision изначально кривоватая, но это отдельная песня.

я сделал так:

 

в файле search.php

 

внутри function get_new_posts()

было:

		$topics = $DB->query("SELECT t.tid, t.last_post FROM ibf_topics t INNER JOIN
WHERE t.approved=1 AND t.forum_id IN($forums) AND t.last_post > '".$ibforums->member['last_visit']."'");

	$max_hits = $DB->get_num_rows($topics);

	$posts  = "";

	$read_array = $this->get_read_topics($ibforums->member['last_visit']);

	while ($row = $DB->fetch_row($topics) )
	{
		if ( !$read_array[ $row['tid'] ] || $read_array[ $row['tid'] ] < $row['last_post']) $posts .= $row['tid'].",";
	}

	$DB->free_result($topics);

стало:

		$topics = $DB->query("SELECT t.tid
						FROM ibf_topics t LEFT JOIN ibf_log_topics l
						ON t.tid=l.tid AND l.mid=".$ibforums->member['id']."
						WHERE (l.logtime IS NOT NULL AND t.approved=1 AND t.last_post > l.logtime) 
						or
						(l.logtime IS NULL AND t.approved=1 AND t.last_post > ".$ibforums->member['last_visit'].")
						AND t.forum_id IN($forums)");

	$max_hits = $DB->get_num_rows($topics);

	$posts  = "";

	while ($row = $DB->fetch_row($topics) )
	{
		$posts .= $row['tid'].",";
	}

	$DB->free_result($topics);

функция get_read_topics больше неиспользуется в Search.php

 

внутри function get_active() { (почти в конце функции)

было:

$DB->query("SELECT t.*, f.id as forum_id, f.name as forum_name
				 FROM ibf_topics t, ibf_forums f
				WHERE t.tid IN($topic_string) and f.id=t.forum_id
				ORDER BY ".$this->sort_key." ".$this->sort_order." LIMIT 0,25");

стало:

		$DB->query("SELECT DISTINCT t.*, f.id as forum_id, f.name as forum_name, l.logtime
				FROM (ibf_topics t INNER JOIN ibf_forums f ON f.id=t.forum_id) 
				LEFT JOIN ibf_log_topics l ON l.tid = t.tid and l.mid=".$ibforums->member['id']."
				WHERE t.tid IN($topic_string) and f.id=t.forum_id
				ORDER BY ".$this->sort_key." ".$this->sort_order." LIMIT 0,25");

 

внутри function parse_entry($topic, $view_as_post=0) {

было:

if ($last_time  && ($topic['last_post'] > $last_time))

стало:

if (($topic['logtime'] and $topic['last_post'] > $topic['logtime']) or (!$topic['logtime'] and $topic['last_post'] >$last_time ))

Изменено пользователем -admik-
Ссылка на комментарий
Поделиться на других сайтах

Народ у меня глючит мод при сохранение настроек о том через сколько дней считать прочитанными темы, жму сохранить и ошибка:

mySQL query error: UPDATE ibf_members SET time_offset='3',view_avs='1',view_sigs='1',view_img='1',view_pop='1',0='1296000',dst_in_use='',view_prefs='-1&-1' WHERE id='1'

mySQL error: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '0='1296000',dst_in_use='',view_prefs='-1&-1' WHERE id='1'' at l
mySQL error code: 
Date: Saturday 25th 2006f February 2006 01:09:52 PM

Ссылка на комментарий
Поделиться на других сайтах

  • 8 месяцев спустя...
  • 6 месяцев спустя...
Что надо дописать, чтобы текстовая версия работала с модом?
Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.