Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
sator

IPB 3.4.6 сам удаляет сообщения

Recommended Posts

IPB 3.4.6 сам удаляет сообщения. Администратор - только один, форум находится offline, кол-во сообщений по счетчику постоянно уменьшается. Как этот процесс остановить?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Я удаляю сообщения только сам, и не по задаче, а сразу. Пользователи не могут удалять сообщения. В каком месте БД можно посмотреть конкретное количество сообщений?

И логи/журналы удаления где можно найти?

Share this post


Link to post
Share on other sites

а где можно найти лог работы задачи удаления публикаций?

Share this post


Link to post
Share on other sites

В журнале задач.

Share this post


Link to post
Share on other sites

В журнале задач удалено 0 публикаций.

Восстановил БД из резервной копии, форум в оффлайне, через некоторое время опять удалилось 50 публикаций, и никаких следов.

Share this post


Link to post
Share on other sites
Восстановил БД из резервной копии, форум в оффлайне, через некоторое время опять удалилось 50 публикаций, и никаких следов.

Может там были посты к удалению. В модераторской панели смотрели?

 

Смотрите в планировщике задачи, смотрите и/или отключайте хуки.

Share this post


Link to post
Share on other sites

Прошла ночь, удалилось еще 80 сообщений. По SQL запросу count=кол-во оставшихся сообщений, oktoremove=pdelete=0. Т. е. БД говорит, что все так и было.

Можно ли где-то посмотреть, какие конкретно сообщения удалены?

Share this post


Link to post
Share on other sites

Смотреть нужно не после, а до удаления и сравнить эти значения.

 

SELECT queued, COUNT(*) FROM ibf_posts GROUP BY queued

 

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

 

Либо создать кеш ид постов и после удаления сравнить какие сообщения отсутствуют.

 

CREATE TABLE ibf_posts_id (pid int(10) not null default '0', topic_id int(10) not null default '0', key pid (pid));
INSERT INTO ibf_posts_id SELECT pid, topic_id FROM ibf_posts;

SELECT c.* FROM ibf_posts_pid c LEFT JOIN ibf_posts p ON c.pid=p.pid WHERE p.pid IS NULL

То же самое можно сделать если есть бэкап. Сохранить ид текущих сообщений развернуть бэкап и посмотреть какие сообщения отсутствуют.

Share this post


Link to post
Share on other sites

queued=0 COUNT=6651 - т. е. ничего на удаление не помечено

 

БД в обоих случаях показывает 6651 сообщений, счетчик форума показывает 6796 сообщений. Правильно ли я понимаю, что здесь что-то не так со счетчиком, потом счетчик пересчитается?

 

Правильно ли я понял, что Вы предлагаете подождать новых удалений, а потом создать вторую таблицу (ibf_posts_id_2) и сравнить pid с первой (ibf_posts_id)?

Share this post


Link to post
Share on other sites
Правильно ли я понимаю, что здесь что-то не так со счетчиком, потом счетчик пересчитается?

Счетчик обновляется по задаче.

 

			$topics = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as tcount',
															 	 'from'   => 'topics',
											 				 	 'where'  => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery( array( 'visible' ), '' ) ) );

		$posts  = $this->DB->buildAndFetch( array( 'select' => 'SUM(posts) as replies',
																 'from'   => 'topics',
																 'where'  => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery( array( 'visible' ), '' ) ) );

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

Share this post


Link to post
Share on other sites

Изначально счетчик показывал 6796 постов, БД - 6651. Сейчас счетчик показывает 6731 пост, БД - 6651. Форум все время оффлайин.

Что делать с этим счетчиком?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...