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

[2.1.x]Смена ID пользователя


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

сам мод не смотрел.

Единственное, что нужно учесть во всех таблицах.

В т.ч. новых, которые приходят с новыми модами.

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

  • Ответы 96
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Забыл что по стандарту новый ИД берется так тупо...

В новых автоинкремент уже.

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

пожелание моду: чтобы так же менялось корректно id для Аркады и Дневников, а то записи юзеров пропали :D
Ссылка на комментарий
Поделиться на других сайтах

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

Song: ну моды, где испольуются собственные настройки для юзеров (как Дневники и Аркада) не так уж и много, можно придумать наверно, как пофиксить траблу именно с ними (про другие коммерческие продукты IPS пока ни слова :D )
Ссылка на комментарий
Поделиться на других сайтах

Так там не сложно, просто в этот мод добавить новые запросы, которые бы меняли ID юзеров в таблицах у блогов и прочей лабуды. Надо только Install файл смотреть других модов и добавлять туда запросы новые на смену ID, коли он там есть.
Ссылка на комментарий
Поделиться на других сайтах

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

 

А насчет совместимости со всякими аркадами нужно посмотреть в файлах инсталл какие таблицы и поля создают "моды". И вписать вместе с запросами где менять id еще, помимо стандартных таблиц.

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

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

Ну да, регаешь юзера и используешь его ID, как место хранения других, при переносе ;) Никто не потерял ход моей мысли? :)

 

И вписать вместе с запросами где менять id еще, помимо стандартных таблиц.

Ну это я постом выше написал, да :D

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

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

Мод смысленный.

 

Если все такие профи, то подскажите, какие запросы писать SQL для изменения Репутации плиз ?

 

ibf_reputation - там есть поля from_user и to_user

Как в этих полях поменять со старого ID на новый ?

 

Спасибо. :D

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

Попробуйте:

				//Repa 
	if( $this->ipsclass->DB->field_exists( "from_user", "reputation" ) )

	{
		$this->ipsclass->DB->do_update( "reputation", array( 'from_user' => $newid ), "mt_from_id={$id}" );   
	}																								   

   if( $this->ipsclass->DB->field_exists( "to_user ", "reputation" ) )
	{ 
		$this->ipsclass->DB->do_update( "reputation", array( 'to_user' => $newid ), "mt_to_id={$id}" );
	}

 

Добавьте где-нибудь в конце перед $this->ipsclass->update_forum_cache();

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

Попробуйте:

				//Repa 
	if( $this->ipsclass->DB->field_exists( "from_user", "reputation" ) )

	{
		$this->ipsclass->DB->do_update( "reputation", array( 'from_user' => $newid ), "mt_from_id={$id}" );   
	}																								   

   if( $this->ipsclass->DB->field_exists( "to_user ", "reputation" ) )
	{ 
		$this->ipsclass->DB->do_update( "reputation", array( 'to_user' => $newid ), "mt_to_id={$id}" );
	}

 

Добавьте где-нибудь в конце перед $this->ipsclass->update_forum_cache();

 

Такое выдаёт... :D

mySQL query error: UPDATE ibf_reputation SET from_user=12 WHERE mt_from_id=454

SQL error: Unknown column 'mt_from_id' in 'where clause'
SQL error code: 0

 

 

 

Почитал мануалы по SQL ... (от горя)

Вообще надо такие два запроса выполнить

 

UPDATE ibf_reputation SET to_user =новый ID WHERE to_user =старый ID

UPDATE ibf_reputation SET from_user =новый ID WHERE from_user =старый ID

 

Вот...

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

				//Repa
	if( $this->ipsclass->DB->field_exists( "from_user", "ibf_reputation" ) )

	{
		$this->ipsclass->DB->do_update( "reputation", array( 'from_user' => $newid ), "from_user={$id}" );
	}

   if( $this->ipsclass->DB->field_exists( "to_user", "ibf_reputation" ) )
	{
		$this->ipsclass->DB->do_update( "reputation", array( 'to_user' => $newid ), "to_user={$id}" );
	}

 

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

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

Master, заодно бы уж тогда написал в рамках этого мода восстановление удалённого пользователя и склейку двух, обмен id одним шагом..
Ссылка на комментарий
Поделиться на других сайтах

				//Repa
	if( $this->ipsclass->DB->field_exists( "from_user", "ibf_reputation" ) )

	{
		$this->ipsclass->DB->do_update( "reputation", array( 'from_user' => $newid ), "from_user={$id}" );
	}

   if( $this->ipsclass->DB->field_exists( "to_user", "ibf_reputation" ) )
	{
		$this->ipsclass->DB->do_update( "reputation", array( 'to_user' => $newid ), "to_user={$id}" );
	}

 

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

 

Не ... не работает. ругательства не выскакиевает теперь. Просто ничего не меняет в репе.

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

				//Repa
	if( $this->ipsclass->DB->field_exists( "from_user", "reputation" ) )

	{
		$this->ipsclass->DB->do_update( "reputation", array( 'from_user' => $newid ), "from_user={$id}" );
	}

   if( $this->ipsclass->DB->field_exists( "to_user", "reputation" ) )
	{
		$this->ipsclass->DB->do_update( "reputation", array( 'to_user' => $newid ), "to_user={$id}" );
	}

 

Префикс ibf_ не нужен.

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

Пожалуйста :D

 

Вот теперь есть готовый код для смены id при установленной репутации ;)

 

Может кому еще что надо, напишем, это не должно быть сложным.

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


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

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

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