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

удаление пользователей


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

После редиректа открывается ссылка

http://www.мой_сайт.нет/forum/index.php?showuser=9

 

Юзера с ID 9 нету потомучто я его только что удалил.

 

 

Скрина нету потому что нельзя его прикрепить!

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

Ааа, ну конечно, все понятно.

 

Найди

$this->ipsclass->print->redirect_screen( "Все темы и сообщения пользователя с ID: $mid были удалены!", "showuser=".$mid );

И замени на

$this->ipsclass->print->redirect_screen( "Пользователь с ID: $mid был удален!", "" );

Скрина нету потому что нельзя его прикрепить!

Уже не надо, но разве в инете нет места, куда можно положить картинку? :D

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

Всё хорошо работает! Только можно сделать чтобы все темы и посты удалённого пользователя былы от имени гостя.

 

А то написано:

 

Группа:

Сообщений: 0

Регистрация: --

Пользователь №: 0

 

 

Я удалил пользователя с номером 2 как сделать чтобы при новой регистрации пользователя ему дали номер 2. т.е. освободившиеся номера присваивались новым пользователям.

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

Я удалил пользователя с номером 2 как сделать чтобы при новой регистрации пользователя ему дали номер 2. т.е. освободившиеся номера присваивались новым пользователям.p

Так нельзя сделать и не нужно так делать :D

 

А то написано:

 

Группа:

Сообщений: 0

Регистрация: --

Пользователь №: 0

Смотрите шаблоны сообщения для гостей.

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

Можно условие написать, что бы для юзера с ID=0 использовалась другая фун-я.

 

Это уже в другую, но никак не в эту :D

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

Jax, смотри что я нашёл :D :

 

sources\action_admin\member.php

 

Строка 2433

 

//-----------------------------------------
	// Convert their posts and topics
	// into guest postings..
	//-----------------------------------------

	$this->ipsclass->DB->do_update( 'posts' , array( 'author_id'  => 0 ), "author_id".$mids );
	$this->ipsclass->DB->do_update( 'topics', array( 'starter_id' => 0 ), "starter_id".$mids );

 

Там все запросы при удалении через админку. Помоги эти впихнуть в moderate.php а то испорчу ещё базу.

 

Напиши, пожалуйста, все запросы которые необходимы.

 

// Delete member subscriptions.

// Get current stats...

// Rebuild stats

// удаление из контактов

.....

 

Я прям так скопировал код как есть и теперь все сообщения удалённого пользователя от имени Гость.

СУПЕР! Круто! Получилось!

 

Только после каждого запроса вставил

$this->ipsclass->DB->simple_exec();

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

:D

 

Только там при удалении юзера полностью, по-моему нужно еще очистить поля pfields_content (member_id), member_extra (id) и members_converge (converge_id), в соотвествии с его ID. ;)

 

И еще его подписки и фото, с аватаром :) Ну что уж наверняка :) Так же, надо не забыть, вдруг он еще не проверки стоит, и удалить из валидатинга. Если все выше написанное не получится сделать - пиши :)

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

Вот что собрал проверь...

 

//=======================================================
// Начало запросов в базу
//=======================================================
$this->ipsclass->DB->simple_construct( array( 'delete' => 'members', 'where' => 'id='.$mid )); 
$this->ipsclass->DB->simple_exec();
//--------------------------
// От имени Гость
//--------------------------
$this->ipsclass->DB->do_update( 'posts' , array( 'author_id'  => 0 ), "author_id".$mids );
$this->ipsclass->DB->do_update( 'topics', array( 'starter_id' => 0 ), "starter_id".$mids );
//----------------------------
// Удаление пользователя
//----------------------------
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'pfields_content' , 'where' => "member_id".$mids ) );
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'member_extra'    , 'where' => "id".$mids ) );
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'members_converge', 'where' => "converge_id".$mids ) );
//----------------------------
// Удаление из подписки
//----------------------------
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'tracker'      , 'where' => "member_id".$mids ) );
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'forum_tracker', 'where' => "member_id".$mids ) );
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'warn_logs'    , 'where' => "wlog_mid" .$mids ) );
//-----------------------------------------
// Удаление если не активирован..
//-----------------------------------------
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'validating', 'where' => "member_id".$mids ) );
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'members'   , 'where' => "id".$mids ) );
//-----------------------------
$this->ipsclass->DB->simple_exec();
//=======================================================
// Конец запросам
//=======================================================

 

 

Как вставить удаление фото и авы, сразу ниже запросов?

 

Эти запросы нужны?

//-----------------------------------------
// Delete member messages...
//-----------------------------------------
$this->ipsclass->DB->build_query( array( 'select' => 'mt_msg_id', 'from' => 'message_topics', 'where' => "mt_owner_id".$mids ) );
$this->ipsclass->DB->exec_query();
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'message_text', 'where' => "msg_id".$msgids ) );		
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'message_topics', 'where' => "mt_owner_id".$mids ) );
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'contacts'      , 'where' => "member_id".$mids." or contact_id".$mids ) );

 

Запросы на ребилд статистики нужны?

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

Как вставить удаление фото и авы, сразу ниже запросов?

Смотри фун-ю в rebuild.php:

Сообразишь как переписать ее?

Там же, но выше, есть фун-я для очистки фоток.

	function clean_avatars()
{
	require_once( KERNEL_PATH.'class_upload.php' );

	$upload = new class_upload();

	//-----------------------------------------
	// Set up
	//-----------------------------------------

	$done   = 0;
	$start  = intval( $this->ipsclass->input['st'] );
	$end	= intval( $this->ipsclass->input['pergo'] ) ? intval( $this->ipsclass->input['pergo'] ) : 100;
	$dis	= $end + $start;
	$output = array();

	//-----------------------------------------
	// Pop open the directory and
	// peek inside...
	//-----------------------------------------

	$i = 0;

	$dh = opendir( ROOT_PATH.'uploads' );

		while ( $file = readdir( $dh ) )
		{
			if ( strstr( $file, 'av-' ) )
			{
				$fullfile = ROOT_PATH.'uploads/'.$file;

				$i++;

				//-----------------------------------------
				// Already started?
				//-----------------------------------------

				if ( $start > $i )
				{
					continue;
				}

				//-----------------------------------------
				// Done for this iteration?
				//-----------------------------------------

				if ( $i > $end )
				{
					break;
				}

				//-----------------------------------------
				// Try and get attach row
				//-----------------------------------------

				$found = $this->ipsclass->DB->simple_exec_query( array( 'select' => 'id', 'from' => 'member_extra', 'where' => "avatar_location='$file' or avatar_location='upload:$file'" ) );

				if ( ! $found['id'] )
				{
					@unlink( $fullfile );
					$output[] = "<span style='color:red'>Удалена аватара без связей: $file</span>";
				}
				else
				{
					$output[] = "<span style='color:gray'>Аватара в порядке: $file</span>";
				}
		}
		}

		closedir( $dh );

	//-----------------------------------------
	// Finish - or more?...
	//-----------------------------------------

	if ( $i < $dis)
	{
	 	//-----------------------------------------
		// Done..
		//-----------------------------------------

		$text = "<b>Перестройка завершена</b><br />".implode( "<br />", $output );
		$url  = "{$this->ipsclass->form_code}";
		$time = 2;
	}
	else
	{
		//-----------------------------------------
		// More..
		//-----------------------------------------

		$text = "<b>Файлов проверено: $dis, продолжение...</b><br />".implode( "<br />", $output );
		$url  = "{$this->ipsclass->form_code}&code=".$this->ipsclass->input['code'].'&pergo='.$this->ipsclass->input['pergo'].'&st='.$end;
		$time = 0;
	}

	//-----------------------------------------
	// Bye....
	//-----------------------------------------

	$this->ipsclass->admin->redirect( $url, $text, 0, $time );
}

Запросы на ребилд статистики нужны?

Не думаю.

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

Привет!

 

Что это за запросы и они нужны:

$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'message_text', 'where' => "msg_id".$msgids ) );

$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'message_topics', 'where' => "mt_owner_id".$mids ) );

$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'contacts'      , 'where' => "member_id".$mids." or contact_id".$mids ) );

 

Ребил статистики желателен, а то она мемного неправильно отображается. Напиши ребилд если нетрудно.

 

 

А фун-ю у меня что-то не получилось переписать. Помоги.

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

Ребил статистики желателен, а то она мемного неправильно отображается. Напиши ребилд если нетрудно.

Какой статистики? :D Что именно обновлять нужно?

А фун-ю у меня что-то не получилось переписать. Помоги.

Читай подпись мою.

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

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

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

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

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

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

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

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

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

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

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

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