Перейти к контенту
  • 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'] пуст.

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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