Faguss

Userspice 4.4.14 Steam login.php

Jul 22nd, 2019
10,445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.77 KB | None | 0 0
  1. <?php
  2. if (!isset($user) || !$user->isLoggedIn()) {
  3.     require ('assets/steamauthlogin.php');
  4.    
  5.     if (isset($err) && $err=="This+Steam+account+is+not+linked+to+a+user+on+this+site")
  6.         $err = "";
  7.  
  8.     if (!isset($_SESSION['steamid']))
  9.         loginbutton();
  10.     else {
  11.         include ('assets/userInfo.php');
  12.  
  13.         $lookupQ = $db->query("SELECT id,logins FROM users WHERE steam_id = ?",[$_SESSION['steamid']]);
  14.         $lookupC = $lookupQ->count();
  15.        
  16.         if ($lookupC > 0) {
  17.             $lookup           = $lookupQ->first();
  18.             $_SESSION['user'] = $lookup->id;
  19.             $db->update('users',$lookup->id, [
  20.                 'logins'       => $lookup->logins+1,
  21.                 'steam_avatar' => $steamprofile['avatarfull'],
  22.                 'steam_un'     => $steamprofile['personaname']
  23.             ]);
  24.            
  25.             if (file_exists($abs_us_root.$us_url_root.'usersc/scripts/custom_login_script_no_redir'))
  26.                 include($abs_us_root.$us_url_root.'usersc/scripts/custom_login_script_no_redir');
  27.            
  28.             if (file_exists($abs_us_root.$us_url_root.'usersc/scripts/custom_login_script'))
  29.                 include($abs_us_root.$us_url_root.'usersc/scripts/custom_login_script');
  30.            
  31.             Redirect::to($us_url_root.$settings->redirect_uri_after_login);
  32.         } else {
  33.             $checkUn  = $db->query("SELECT id FROM users WHERE username = ?",[$steamprofile['personaname']])->count();
  34.             $username = $steamprofile['personaname'];
  35.            
  36.             if ($checkUn >= 1)
  37.                 $username = $steamprofile['personaname'].randomstring(6); //close enough
  38.            
  39.             $fields = array(
  40.                 'username'        => $username,
  41.                 'steam_id'        => $steamprofile['steamid'],
  42.                 'steam_avatar'    => $steamprofile['avatarfull'],
  43.                 'steam_un'        => $steamprofile['personaname'],
  44.                 'username'        => $username,
  45.                 'fname'           => $username,
  46.                 'lname'           => $username,
  47.                 'email'           => $username."@".$settings->steam_domain,
  48.                 'password'        => password_hash(randomstring(20), PASSWORD_BCRYPT, array('cost' => 12)),
  49.                 'permissions'     => 1,
  50.                 'account_owner'   => 1,
  51.                 'join_date'       => date("Y-m-d H:i:s"),
  52.                 'email_verified'  => 1,
  53.                 'active'          => 1,
  54.                 'vericode'        => randomstring(12),
  55.                 'vericode_expiry' => "2016-01-01 00:00:00"
  56.             );
  57.            
  58.             if ($db->insert('users',$fields)) {
  59.                 $theNewId         = $db->lastId();
  60.                 $_SESSION['user'] = $theNewId;
  61.                
  62.                 $fields = array(
  63.                     'user_id'       => $theNewId,
  64.                     'permission_id' => 1,
  65.                 );
  66.            
  67.                 $db->insert('user_permission_matches',$fields);
  68.                 include($abs_us_root.$us_url_root.'usersc/scripts/during_user_creation.php');
  69.                 Redirect::to($us_url_root.$settings->redirect_uri_after_login);
  70.             } else {
  71.                 $_SESSION = [];
  72.                 Redirect::to($us_url_root.'users/login.php?msg=There+was+a+problem+with+your+Steam+login');
  73.             }
  74.         }
  75.     }
  76. } else
  77.     Redirect::to($us_url_root."users/account.php");
  78. ?>
Advertisement
Add Comment
Please, Sign In to add comment