Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Logowanie za pomocą konta w grze z innej bazy.


Rekomendowane odpowiedzi

Opublikowano (edytowane)

Witam, 
 
Chciałbym dodać możliwość logowania się na forum za pomocą konta w grze lecz coś nie działa mi to.
 
Oto "loginauth"

 

 

/**
*

 * Invision Power Services * IP.Board v3.4.x * Login handler abstraction : XyzzyRP account handler * 

*
* @author IP.Board
* @author Eider
* @author Lukasz Biegaj
* @package IP.Board
*
*/
if ( ! defined( 'IN_IPB' ) )
{
print "@lss-rp.pl>@fullserver.eu>

Incorrect access

You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
exit();
}
class login_server extends login_core implements interface_login
{
/**
* Temporary data store
*
* @access protected
* @var array
*/
protected $data_store = array();

/**
* Login method configuration
*
* @access protected
* @var array
*/
protected $method_config = array();

/**
* Constructor
*
* @access public
* @param object ipsRegistry reference
* @param array Configuration info for this method
* @param array Custom configuration info for this method
* @return @e void
*/
public function __construct( ipsRegistry $registry, $method, $conf=array() )
{
$this->method_config = $method;
parent::__construct( $registry );
}

/**
* Authenticate the request
*
* @access public
* @param string Username
* @param string Email Address
* @param string Password
* @return boolean Authentication successful
*/
public function authenticate( $username, $email_address, $password )
{
//-----------------------------------------
// Check admin authentication request
//-----------------------------------------

if ( $this->is_admin_auth )
{
$this->adminAuthLocal( $username, $email_address, $password );

if ( $this->return_code == 'SUCCESS' )
{
return true;
}
}
//-----------------------------------------
// Reset array
//-----------------------------------------

$this->auth_errors = array();
//-----------------------------------------
// OK?
//-----------------------------------------
// @todo @fixme dorobic error handling
// @todo tu podaj ścieżkę do biblioteki adodb5 oraz dane autoryzacji
require_once("/home/lssrppl/domains/lss-rp.pl/public_html/panel/p/libs/adodb5/adodb.inc.php");
$RDB=NewADOConnection("mysql");
$RDB->Connect("adres_serwera_mysql", "login", "haslo", "nazwa_bazy_danych");
$RDB->Execute("set names utf8");
$hasz=md5(strtolower($username) . "MRFX_01" . $password);
$autentykacja=$RDB->getRow("SELECT id,login,email,premium>NOW() premium FROM lss_users WHERE login=? AND hash=?", Array($username, $hasz));
if (!$autentykacja || !$autentykacja['id']) {
$this->return_code = 'NO_USER';
return false;
}
$name=$autentykacja['login'];
$email=$autentykacja['email'];
$userId=$autentykacja['id'];
if ( count($this->auth_errors) )
{
$this->return_code = $this->return_code ? $this->return_code : 'NO_USER';
return false;
}
$this->_loadMember( $userId );
if ( $this->member_data['member_id'] )
{
$this->return_code = 'SUCCESS';
}
else
{
$this->member_data = $this->createLocalMember( array(
'members' => array(
'email' => $email,
'name' => $name,
'members_l_username' => strtolower($name),
'members_display_name' => $name,
'members_l_display_name' => strtolower($name),
'joined' => time(),
'members_created_remote' => 1,
'server_id' => $userId,
),
'profile_portal' => array(
),
) );
$this->return_code = 'SUCCESS';
}
/*
// @todo odkomentowac w razie potrzeby
// ponizszy fragment kodu odpowiada za przydzielenie gracza do grupy 'zbanowani' i grupy 'premium'
// mozesz go odkomentowac, ale popraw przydzielane member_group_id do grup w Twojej instalacji ipboard
$ban=$RDB->getOne("SELECT 1 FROM lss_bany WHERE id_user=? AND date_to>NOW()",Array($userId));
if ($ban && intval($ban)>0) {
// zakladamy bana na forum
$this->DB->update( 'members', array( 'member_group_id' => 5 ), 'member_id='.intval($this->member_data['member_id']) );
} elseif ($this->member_data['member_group_id']==5) { // zdejmujemy bana
$this->DB->update( 'members', array( 'member_group_id' => $autentykacja['premium']>0?10:3 ), 'member_id='.intval($this->member_data['member_id']) );
} elseif ($this->member_data['member_group_id']==3 && $autentykacja['premium']>0) {
$this->DB->update( 'members', array( 'member_group_id' => 10 ), 'member_id='.intval($this->member_data['member_id']) );
}
*/
$this->request['rememberMe'] = $this->data_store['cookiedate'] ;
return true;
}
/**
* Load a member from account ID
*
* @access protected
* @param string Token
* @return @e void
*/
protected function _loadMember( $userToken )
{
$check = $this->DB->buildAndFetch( array( 'select' => 'member_id',
'from' => 'members',
'where' => "server_id='" . $this->DB->addSlashes( $userToken ) . "'"
) );
if( $check['member_id'] )
{
$this->member_data = IPSMember::load( $check['member_id'], 'extendedProfile,groups' );
}
}
}

@lss-rp.pl>@fullserver.eu>

 

 

Do loginauth dodałem ten typ logowania + w bazie "login_methods podpiąłem to lecz dalej nie działa w czym może być problem ? Bardzo proszę o pomoc.

 

Czy coś nie tak w adob5 ?

 

https://github.com/lpiob/MTA-XyzzyRP/blob/master/panelwww/rejestracja_postaci/p/libs/adodb5/adodb.inc.php

 

 

 

<export exported="1238768862">
<group>
<row>
<login_title>Serwer MTA</login_title>
<login_description>Dodaje mozliwosc logowania sie na forum uzywajac konta z serwera</login_description>
<login_folder_name>server</login_folder_name>
<login_maintain_url></login_maintain_url>
<login_register_url></login_register_url>
<login_alt_login_html></login_alt_login_html>
<login_alt_acp_html></login_alt_acp_html>
<login_settings>1</login_settings>
<login_enabled>0</login_enabled>
<login_safemode>0</login_safemode>
<login_replace_form>0</login_replace_form>
<login_user_id>username</login_user_id>
<login_login_url></login_login_url>
<login_logout_url></login_logout_url>
<login_order>3</login_order>
</row>
</group>
 
</export>
Edytowane przez luki2407
Opublikowano (edytowane)

Chodzi ci o conf_global.php ? 

 


$INFO['sql_driver'] = 'mysql';

$INFO['sql_host'] = 'localhost';

$INFO['sql_database'] = '*****';

$INFO['sql_user'] = '*****';

$INFO['sql_pass'] = '*****';

$INFO['sql_tbl_prefix'] = '';

$INFO['sql_debug'] = '0';

$INFO['sql_charset'] = '';

$INFO['board_start'] = '1422801338';

$INFO['installed'] = '1';

$INFO['php_ext'] = 'php';

$INFO['safe_mode'] = '0';

$INFO['board_url'] = 'http://lss-rp.pl';

$INFO['banned_group'] = '5';

$INFO['admin_group'] = '4';

$INFO['guest_group'] = '2';

$INFO['member_group'] = '3';

$INFO['auth_group'] = '1';

$INFO['use_friendly_urls'] = '1';

$INFO['_jsDebug'] = '0';

$INFO['mysql_tbl_type'] = 'MyISAM';



define('IN_DEV', 0);

 
+ W acp włączyłem tą metodę logowania a IPB Internal wyłączyłem.
 
Po zalogowaniu powinno mnie przekierować na ten adres z dostępem do kreatora postaci.
 
I za pomocą tej rejestracji powinienem się zalogować http://panel.lss-rp.pl/main.php?m=rejestracja
Edytowane przez luki2407

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.