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

Лишние модераторы в логах


arigoda

Вопрос

Проблема:

Админцентр -> Логи форума -> Логи модераторов.

 

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

 

Или я неправильно понял суть и в таблицу "Сохранённые логи модераторов" попадают даже те, кто удалил собственные посты?

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

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

  • 0
попадают даже те, кто удалил собственные посты?

:D

Удаление идёт для всех через одни и те же функции в исходниках. Кто виноват, что там есть вызов moderate_log()? ;)

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

  • 0

theIggs, ок, спасибо.

я поначалу испугался - думал, взломы...

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

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

  • 0

а я его ни разу и не смотрел =)

ну теперь по-видимому не испугаюсь )

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

  • 0
Не знаю, правильно ли я мыслю, но мне кажется можно сделать аналогию moderate_log() где отключить запись в бд acp и засунуть ее для удаление постов/тем юзеров. Только вот интересно, ведь модер тоже юзер... :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0
А как исправить?

 

Moderate.php

 

Функция delete_post()

В ней

$this->moderate_log("Deleted a post");

 

заменяем на

		if ( $ibforums->member['g_is_supmod'] or $this->moderator['mid'] )
	{
		$this->moderate_log("Deleted a post");
	}

но подумай, а нужно ли тебе это?

С одной стороны таблица не распухает, с другой стороны, если юзер сам кильнёт пост и тебе нужно будет об этом узнать, нифига не узнаешь.

 

+ есть ли возможность логировать изменения постов (сообщений) модерами?

 

post_edit_post.php

 

где-нить в конце функции complete_edit() перед редиректом (boink_it) напиши:

if ( $ibforums->member['id'] != $this->orig_post['author_id'] )
{
$class->moderate_log($ibforums->member['name']." have changed the post");
}

и получишь логирование изменений поста всеми, кто не является автором сообщения.

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

  • 0

Song спасибо за содержательный ответ.

 

if ( $ibforums->member['id'] != $this->orig_post['author_id'] and ( $ibforums->member['g_is_supmod'] or $class->moderator['mid'] ))
{
$class->moderate_log($ibforums->member['name']." edit post");
}

 

Я вот так написал и в итоге подумал что логировать должно всех модеров!

Но нужно только групу модеров и супмодеров а не тех людей что модерят свои форумы без группы (типа простые пользователи).

 

Сам запутался :D

 

Но проблема в том что в логах много лишней информации ...

пс: нужно следить только за групой суп мод, мод, и админ, а юзера с правами модера в своем разделе пусть не светятся в логах.

 

Я недоспал 8(

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

  • 0
нужно следить только за групой суп мод, мод, и админ, а юзера с правами модера в своем разделе пусть не светятся в логах.

if ( $ibforums->member['id'] != $this->orig_post['author_id'] and !$class->moderator['mid'] )
{
$class->moderate_log($ibforums->member['name']." have changed the post");
}

 

кстати ты сам себе противоречишь.

нужно следить только за групой суп мод, мод, и админ, а юзера с правами модера в своем разделе пусть не светятся в логах.

первое выделенное и второе выделенное - это одно и тоже.

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

  • 0

Да я знал что сформулировать требуемое будет сложно ;)

 

Но и это неподходит так как нужно логирование только групу модеров!

 

А не всех действий пользователей* - чистильщиков своих скрытых раделов.

 

Я так понял эта проверка словами звучит так:

логировать изменения постов не автором + с правами модера!

 

а нужно не автором но с групой модеров!

 

ПС: пользователям и так запрещено редактировать чужие посты 8)))

 

Модер и юзер с правами модера это несовсем одно и тоже :D так как у модера есть права модерить + група модера, а у вторых только модерство.

 

Правда вся сложность в проверке групы (допустим) g_id = 7,6,4

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

  • 0

По константе нельзя. Это называется сопли развешивать.

 

ну напиши

if ( $ibforums->member['id'] != $this->orig_post['author_id'] and in_array($ibforums->member['mgroup'], array( 0 => 4, 1 => 6, 2 => 7 ) ) )

но это чушь. ты будешь привязан к определённой группе и тебе придётся сюда добавлять новые id'шки, если они добавятся или поменяются. Или удалять, если будешь удалять группу или менять её роль.

 

ПС: пользователям и так запрещено редактировать чужие посты 8)))

Не язви.

Есть же ведь ещё супер-модераторы. Для них $class->moderator['mid'] пуст.

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

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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