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

Отображение ников удаленных пользователе


Yad86

Вопрос

Сиутация:

Был форум на 2.1.7, его закрыли. 

Нам предоставили контент форума - таблицы posts, forums, topics.

Таблицы развернули на 2.3.6, пользователей немногочисленных, восстанавливаем руками через замену ID.

НО. Те кто не вернулся и вряд-ли вернется во всех постах отображаются пустыми учетками, ни ника, ничего.

Можно как-нибудь сделать отображение их ник как у гостей к примеру?

 

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

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

  • 0

В таблице ibf_posts есть и айдишник и имя пользователя. В запросе джойнится ibf_members и по айдишнику берется имя пользователя из этой таблицы.

Можно сделать вывод по условию, что если нет айдишника (пользователь удален), выодить имя из таблицы ibf_posts с приставкой "Гость_".

У меня 1.3, там всё решается 1 строчкой кода:

if(!$row['name'])$row['name'] = "Гость_".$row['author_name'];
Изменено пользователем FatCat
Ссылка на комментарий
Поделиться на других сайтах

  • 0

В таблице ibf_posts есть и айдишник и имя пользователя. В запросе джойнится ibf_members и по айдишнику берется имя пользователя из этой таблицы.

Можно сделать вывод по условию, что если нет айдишника (пользователь удален), выодить имя из таблицы ibf_posts с приставкой "Гость_".

Беда в том, что IDшник там есть. Нам просто не выгрузили базу пользователей, просто к этому IDшнику никто не привязан. Почистить их нельзя никак, так как постепенно возвращается старый народ и руками вяжем их к старым постам, меняя новый ИД на старый. 

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

  • 0

Отредактировал строчку кода, чтобы имя бралось не по айдишнику, а по отсутствию имени в таблице ibf_members. ЕМНИП: в двушках эти таблицы имеют такое же строение, что и в однушках.

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

  • 0

Отредактировал строчку кода, чтобы имя бралось не по айдишнику, а по отсутствию имени в таблице ibf_members. ЕМНИП: в двушках эти таблицы имеют такое же строение, что и в однушках.

Спасибо) И вдвойне спасибо, если вкратце укажете как это использовать и куда подставить? Я, увы, не программист, а скромный эникей-админ)) 

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

  • 0

У меня другая версия; не могу указать точное место и точный синтаксис вставки в вашей версии движка.

Для вывода сообщение топика делается запрос к таблице ibf_posts; в самом начале обработки результатов запроса и нужно делать вставку кода.

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

  • 0

У меня другая версия; не могу указать точное место и точный синтаксис вставки в вашей версии движка.

Для вывода сообщение топика делается запрос к таблице ibf_posts; в самом начале обработки результатов запроса и нужно делать вставку кода.

А код куда ставим? В шаблон вывода постов?

 

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

  • 0

Нет, не в шаблон. Там, где запрос к БД. У меня в "единичке" это файл Topic.php

В двойке также. Я так понимаю, код нужно размещать где-то тут:

else
		{
			//-----------------------------------------
			// It's definitely a guest...
			//-----------------------------------------
			$poster = $this->ipsclass->set_up_guest( $row['author_name'] );
	    	$poster['members_display_name'] = $this->ipsclass->vars['guest_name_pre'] . $row['author_name'] . $this->ipsclass->vars['guest_name_suf'];
			$poster['_members_display_name'] = $this->ipsclass->vars['guest_name_pre'] . $row['author_name'] . $this->ipsclass->vars['guest_name_suf'];
			$poster['custom_fields']		= "";
			$poster['warn_text']			= "";
			$poster['warn_minus']			= "";
			$poster['warn_img']				= "";
			$poster['warn_add']				= "";
			$poster['addresscard']			= "";
			$poster['message_icon']			= "";
			$poster['email_icon']			= "";
			$row['name_css']                = 'unreg';
		}

Да, при открытии формы полного ответа, все ники отсутствующих пользователей видны без проблем. 

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

  • 0

$poster = $this->ipsclass->set_up_guest( $row['author_name'] );

Перед этой строчкой нужно добавлять условие:

if(!$row['author_name'])$row['author_name'] = $row['name'];

Если это не сработает, нужно искать в каком поле содержится имя удаленного пользователя. Можно посмотреть таким кодом:

if(!$row['author_name']){echo("<pre>");print_r($row);echo("</pre>");die();};

И правильный ключ вставить вместо  'name'. 

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

  • 0

 

$poster = $this->ipsclass->set_up_guest( $row['author_name'] );

Перед этой строчкой нужно добавлять условие:

if(!$row['author_name'])$row['author_name'] = $row['name'];

Если это не сработает, нужно искать в каком поле содержится имя удаленного пользователя. Можно посмотреть таким кодом:

if(!$row['author_name']){echo("<pre>");print_r($row);echo("</pre>");die();};

И правильный ключ вставить вместо  'name'. 

 

Вставка не помогла. Увы, это за гранью моего понимания)) передам все нами тут наговоренное более опытным товарищам.

Спасибо за помощь! 

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

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

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

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

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

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

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

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

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

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