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

Быстрое удаление пользователей


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

Мод: Быстрое удаление пользователей

Категория: Моды

Совместимость: 2.0.x

Описание:

Скрипт представляет собой модификацию для форума Invision Power Board 2.0.x. После выполнения инструкций в профиле каждого пользователя появится ссылка «Удалить пользователя». Ссылка вызывает форму подтверждения, на которой можно автоматически удалить все сообщения и темы, созданные пользователем (в случаем, когда задействована функция «корзины», сообщения и темы будут перемещен в соответствующий форум), заблокировать использованные им IP-адреса и отправить на e-mail удаляемого пользователя стандартное сообщение об удалении аккаунта.

 

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

 

Подробнее...

Скачать

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

Установил...всё работает...только как быть с исправлениями в ad_member.php если еще установлены моды Репутации и т.д?
Ссылка на комментарий
Поделиться на других сайтах

Исправления в ad_member.php делают функцию удаления пользователя доступной для скриптов форума — т.е. мы просто переносим её рабочую часть в /sources/functions.php. На вызове её в ad_member.php это никак не отразится.

 

Таким образом, к функционалу репутации мод не имеет никакого отношения.

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

Написано, что функция доступна для супермодераторов, несмотря на то, что удаление пользователя - это функционал администратора....

Где можно поменять настройку, чтобы работало только для админа?

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

Anna: Полагаю, что по аналогии с другими модами, где присутствует определение доступа к группам пользователей :D Если автор не ответит - сам поищу
Ссылка на комментарий
Поделиться на других сайтах

Супермодераторы и так следят за всем форумом. Почему бы им не удалять флудерские аккаунты, разгружая плечи админов? :D Что до «обратной петли» — я ещё не видел ни одного админа, который не проставил бы себе права супермодератора. Да и какой смысл это делать, если он всегда может себе их включить? ;)

 

В любом случае, всё правится быстро. Во-первых, ячейку-ссылку на функцию в Skin Manager — Profile View нужно добавить не так, как в инструкции, а в виде:

 

<if="ipb.member['g_access_cp']">
<tr>
<td width="1%"><{PRO_ITEM}></td>
<td width="99%"><a href="{ipb.script_url}act=mod&CODE=deletemember&auth_key={$auth_key}&mid={$info['mid']}">{ipb.lang['supmod_delete_member']}</a>
</td>
</tr>
</if>

после

<if="ipb.member['g_is_supmod'] == 1">
<tr>
						<td width="1%"><{PRO_ITEM}></td>
<td width="99%"><a href="{ipb.script_url}act=mod&CODE=editmember&auth_key={$auth_key}&mid={$info['mid']}">{ipb.lang['supmod_edit_member']}</a></td>
</tr>
</if>

 

Во-вторых, в функции delete_member, которую мы добавили в moderate.php, участок

		  //-----------------------------------------
	  // Check Permissions
	  //-----------------------------------------
	  if ( ! $ibforums->member['g_is_supmod'] )
	  {
		$this->moderate_error();
	  }

нужно заменить на

			if ( ! $ibforums->member['g_access_cp'] )
		{
		  $this->moderate_error();
		}

 

Эти изменения запретят доступ к функции всем, кроме админов.

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

pikachu, а у тебя на форуме админы не имеют прав супермодераторов? :D Если имеют, то оригинальная инструкция автоматически даст им права на удаление.
Ссылка на комментарий
Поделиться на других сайтах

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

Dr.Freddy, привет.

 

Поставил мод, всё работает, всё отлично:D

ставится довольно быстро.

Удобно;)

 

Но такой недочет заметил..

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

То есть, у меня было 5 тем, из них юзер, которого я удалил создал 3 темы, по идеи когда я его удалил, всё должно было подчиститься, и в этой колонке прописаться 2 темы (всего в топике (ну, после удаления)) а прописывается всё равно 5. Вот, этот же косяк и с количеством постов удаленного юзера.

 

Так, спасибо за мод, ВЕЩЬ!

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

Ymaz, привет. ;)

 

Мысль понял. Давай попробуем изменить delete_member в /sources/moderate.php вот так:

 

1. Найти:

			//-----------------------------------------
		// Do delete posts & topics
		//-----------------------------------------

Выше добавить:

			$stats = array( "forum_to_recount" = array(),
						"topic_to_recount" = array()
						);

 

2. Найти:

			  while( $topic = $DB->fetch_row() )
		  {
			$topic_to_delete[] = $topic;
		  }

Заменить на:

			  while( $topic = $DB->fetch_row() )
		  {
			$topic_to_delete[] = $topic;
			$stats['forum_to_recount'][$topic['forum_id']] = "1";
		  }

 

3. Найти:

			  while( $post = $DB->fetch_row() )
		  {
			$posts_to_delete[] = $post;
		  }

Заменить на:

			  while( $post = $DB->fetch_row() )
		  {
			$posts_to_delete[] = $post;
			$stats['topic_to_recount'][$post['topic_id']] = "1";
		  }

 

4. Найти:

			//-----------------------------------------
		// Do delete user
		//-----------------------------------------

Выше добавить:

			//-----------------------------------------
		// Do recount forums & topics
		//-----------------------------------------
		foreach( $stats['forum_to_recount'] as $forum => $set )
		{
		  $this->modfunc->forum_recount( $forum );
		}

		foreach( $stats['topic_to_recount'] as $topic => $set )
		{
		  $this->modfunc->rebuild_topic( $topic );
		}

 

Вроде должно работать. Сам не тестировал, так что проверь, пожалуйста. Если порядок, обновлю архив. :D

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

  • 2 недели спустя...
  • 1 месяц спустя...
  • 2 недели спустя...
Так так, для 2.1.х будя? Почему Последнее обновление: 10.11.2005, 5:59? Вообщем пора, пора обновлять архивчик с учетом последних изменений и добавить потдержку 2.1.х :D
Ссылка на комментарий
Поделиться на других сайтах

Будет версия и для 1.3.1, и для 2.1.x, но нескоро, ибо занят я сейчас по горло. Подумываю подвесить над рабочим столом трубочку с питательной жидкостью, чтобы прикладываться время от времени и тем самым сократить время на обед. :D

 

Если кому-то нужно срочно, давайте заказом. ;)

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

  • 1 месяц спустя...
поставил в принципе все работает, плохо что удаляются посты только с удалением юзера ( когда начинают клонировать ники, лучше такой аккаунт заблокировать чтобы не было возможности его заново зарегистрировать) а вот со спамом да лучше методов нету
Ссылка на комментарий
Поделиться на других сайтах

Что значит «почему-то»? :D

 

в профиле каждого пользователя появится ссылка «Удалить пользователя». Ссылка вызывает форму подтверждения, на которой можно автоматически удалить все сообщения и темы, созданные пользователем (в случаем, когда задействована функция «корзины», сообщения и темы будут перемещен в соответствующий форум), заблокировать использованные им IP-адреса и отправить на e-mail удаляемого пользователя стандартное сообщение об удалении аккаунта.

 

Всё логично и соответствует модели IPB. Позже, если буду переписывать модификацию — возможно, добавлю. Сейчас можете попробовать сами, копните в сторону функции delete_member() из moderate.php ;)

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

  • 1 месяц спустя...
Описывайте ситуацию информативнее, и воздастся вам... :D Изменено пользователем Dr.Freddy
Ссылка на комментарий
Поделиться на других сайтах

Вообщем вот:

 

1. Показывает ник последнего ответевшего, у которого ник полностью, со всеми сообщениями и со всем удален:

 

http://img146.imageshack.us/img146/1470/15li.png

 

2. Тоже самое написано и в статистике, где написан последний зарегестрированный пользователь форума:

 

http://img124.imageshack.us/img124/7089/19pn2.png

 

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

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

Ясно. В принципе, неопасная бага. Будет время — поправлю, если до меня кто-нибудь не озаботится. :D Вообще странно, текст выше должен был это устранить...
Ссылка на комментарий
Поделиться на других сайтах

Ясно. В принципе, неопасная бага. Будет время — поправлю, если до меня кто-нибудь не озаботится. :D Вообще странно, текст выше должен был это устранить...

Нет не опасная, но всё равно надо зделать что-бы работало нормально.

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

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

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

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