Fix
[ryzomcore.git] / ryzom / server / www / login / r2_login.php
blob629931ad3629ef14fd2a0d5e934d2af1b12688e7
1 <?php
3 error_reporting(E_ALL);
5 include_once('../../config.php');
6 include_once('../../libs/nel_message.php');
7 include_once('libs/login_translations.php');
8 include_once('libs/login_service_itf.php');
9 include_once('libs/domain_info.php');
10 include_once('libs/join_shard.php');
12 include_once('libs/r2_login_db.php');
13 include_once('libs/r2_login_logs.php');
14 include_once('libs/r2_login_logincb.php');
15 include_once('libs/r2_login_domain.php');
16 include_once('libs/r2_login_user.php');
17 if (!isset($_GET['cmd']))
18 die (errorMsgBlock(3002));
20 set_error_handler('err_callback');
21 session_start();
22 // For error handling, buffer all output
23 ob_start('ob_callback_r2login');
25 $submittedLang = isset($_GET['lg']) ? $_GET['lg'] : 'unknown';
26 $submittedLang = addslashes(substr($submittedLang, 0, 10));
27 $cmd = isset($_GET['cmd'])?addslashes(substr($_GET['cmd'], 0, 7)):'';
28 $login = isset($_GET['login'])?addslashes(substr($_GET['login'], 0, 20)):'';
29 $password = isset($_GET['password'])?$_GET['password']:'';
30 $clientApplication = isset($_GET['clientApplication'])?addslashes(substr($_GET['clientApplication'], 0, 20)):'';
32 // Inits
33 $RingDb = new LoginDB($DBHost, $RingDBUserName, $RingDBPassword, $DBName);
34 $User = new RingUser($RingDb, $login, $password, $clientApplication, $submittedLang);
36 switch($cmd) {
37 case 'ask':
38 // client ask for a login salt
39 $User->askSalt();
40 die();
42 case 'login':
43 // client sent is login info
44 $ServerDomain = new ServerDomain($RingDb, $clientApplication);
45 if ($User->checkValidity($password, $ServerDomain)) {
47 if ($AutoCreateRingInfo)
48 $User->createRingInfo($ServerDomain);
50 $LSaddr = explode(":", $ServerDomain->domainInfo['login_address']);
51 // ask for a session cookie to the login service
52 $Login = new LoginCb();
53 $Login->init($RingDb, $ServerDomain);
55 $res = "";
56 $Login->connect($LSaddr[0], $LSaddr[1], $res);
57 $Login->login($User->uid, $_SERVER['REMOTE_ADDR'], $ServerDomain->id);
59 if (!$Login->waitCallback())
60 die(errorMsgBlock(3003));
64 die();