IPB чек логина - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

IPB чек логина

#1 Пользователь не на сайте   jacobcore ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 2
  • Регистрация: 03-Сентябрь 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 03 Сентябрь 2015 - 20:53

Доброго времени суток! У меня форум игровой т е от онлайн игры, создавая аккаунт на форуме он регистрируется в игре, автоматом, эту штуку я воткнул в register.php рядом с

$member = IPSMember::create( array( 'members' => $member, 'pfields_content' => $custom_fields->out_fields ), FALSE, FALSE, FALSE );

$link = mysql_connect(ipsRegistry::$settings['gamesql_host'], ipsRegistry::$settings['gamesql_user'], ipsRegistry::$settings['gamesql_pass']);
$name = strtoupper($this->request['members_display_name']);
$pass = sha1(strtoupper($name).":".strtoupper($in_password));
$db_selected = mysql_select_db(ipsRegistry::$settings['auth_db'], $link);
$sql = "INSERT INTO `account` (`username`, `sha_pass_hash`,`email`) VALUES ('$name','$pass','$in_email')";
mysql_query($sql);

Вопрос следующий. Регистрирует всё хорошо, но у меня в базе есть аккаунты уже до этой интеграции.

Куда можно воткнуть проверку на чек логина при регистрации? К примеру если аккаунт существует в другой базе, то вывести, чтобы зарегистрировать другой аккаунт
Нашёл место вроде как с пометкой чек username но как произвести check самим запросом?

Можно даже с запросом уже помочь, за любую помощь спасибо!

p.s. форум 3.4.6
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 271
  • Регистрация: 20-Март 09
  • Репутация: 2 077
  • IPB version:3.1.x
 

Отправлено 04 Сентябрь 2015 - 21:27

Просмотреть сообщениеjacobcore сказал(а):

$member = IPSMember::create( array( 'members' => $member, 'pfields_content' => $custom_fields->out_fields ), FALSE, FALSE, FALSE );

$link = mysql_connect(ipsRegistry::$settings['gamesql_host'], ipsRegistry::$settings['gamesql_user'], ipsRegistry::$settings['gamesql_pass']);
$name = strtoupper($this->request['members_display_name']);
$pass = sha1(strtoupper($name).":".strtoupper($in_password));
$db_selected = mysql_select_db(ipsRegistry::$settings['auth_db'], $link);
$sql = "INSERT INTO `account` (`username`, `sha_pass_hash`,`email`) VALUES ('$name','$pass','$in_email')";
mysql_query($sql);

Заменит на

		if( ipsRegistry::$settings['auth_db'] )
		{
			if( ! $this->registry->DB( ipsRegistry::$settings['auth_db'] ) )
			{
				ips_DBRegistry::setDB('mysql', ipsRegistry::$settings['auth_db'],
									  array('sql_database'   => ipsRegistry::$settings['auth_db'],
											'sql_user'       => ipsRegistry::$settings['gamesql_user'],
											'sql_pass'       => ipsRegistry::$settings['gamesql_pass'],
											'sql_host'       => ipsRegistry::$settings['gamesql_host'],
											'sql_charset'    => ipsRegistry::$settings['gamesql_charset'],
											'sql_tbl_prefix' => ''
				));
			}

			$DB   = $this->registry->DB( ipsRegistry::$settings['auth_db'] );
			$name = mb_strtoupper( $this->request['members_display_name'] );
			$pass = sha1( strtoupper( $name ). ":" .strtoupper( $_POST['PassWord'] ) );

			$DB->insert( 'account', array( 'username' => $name, 'sha_pass_hash' => $pass, 'email' => $in_email ) );
		}


Открыть \admin\sources\classes\member\memberFunctions.php
Найти
		//-----------------------------------------
		// Check for existing name.
		//-----------------------------------------

Ниже добавить

		if( ipsRegistry::$settings['auth_db'] )
		{
			if( ! $this->registry->DB( ipsRegistry::$settings['auth_db'] ) )
			{
				ips_DBRegistry::setDB('mysql', ipsRegistry::$settings['auth_db'],
									  array('sql_database'   => ipsRegistry::$settings['auth_db'],
											'sql_user'       => ipsRegistry::$settings['gamesql_user'],
											'sql_pass'       => ipsRegistry::$settings['gamesql_pass'],
											'sql_host'       => ipsRegistry::$settings['gamesql_host'],
											'sql_charset'    => ipsRegistry::$settings['gamesql_charset'],
											'sql_tbl_prefix' => ''
				));
			}
			
			$DB = $this->registry->DB( ipsRegistry::$settings['auth_db'] );
			$DB->build( array( 'select' => 'username', 'from' => 'account', 'where' => 'username="'.$DB->addSlashes( $name ) .'"', 'limit' => array( 0, 1 ) ) );
			$DB->execute();
			
			if( $DB->getTotalRows() )
			{
				return TRUE;
			}
		}

1

#3 Пользователь не на сайте   jacobcore ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 2
  • Регистрация: 03-Сентябрь 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 04 Сентябрь 2015 - 21:48

Спасибо! Это работает) :rolleyes:
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 271
  • Регистрация: 20-Март 09
  • Репутация: 2 077
  • IPB version:3.1.x
 

Отправлено 05 Сентябрь 2015 - 17:47

Цитата

$name = mb_strtoupper( $this->request['members_display_name'] );

А почему вы всех пользователей на сайте регистрируете в верхнем регистре?
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна