Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2018
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.15 KB | None | 0 0
  1. <?php
  2. $clientlist = $reg->cache->get('clientlist');
  3.  
  4. $grouplist = [];
  5.  
  6. foreach ($reg->cache->get('servergrouplist') as $group)
  7. $grouplist[$group['sgid']] = $group;
  8.  
  9. if (empty($clientlist))
  10. {
  11. echo '<div class="alert alert-danger" role="alert">Serwer aktualnie jest niedostępny.</div>';
  12. return;
  13. }
  14.  
  15. if ($reg->client === null)
  16. {
  17. echo '<div class="alert alert-danger" role="alert">Aby móc połączyć swoje konto musisz przebywać na serwerze.</div>';
  18. return;
  19. }
  20.  
  21. if ($reg->isregister === null)
  22. {
  23. echo '<div class="alert alert-danger" role="alert">Aby móc połączyć swoje konto musisz najpierw się zarejestrować.</div>';
  24. return;
  25. }
  26.  
  27. $error = false;
  28. if (isset($_POST['submit']))
  29. {
  30. $reCaptcha = new ReCaptcha($reg->config['recaptcha']['secret']);
  31. if ($_POST["g-recaptcha-response"])
  32. {
  33. $response = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"]);
  34. if(!$response->success) $error = 'Wystąpił błąd podczas weryfikacji Captcha.';
  35. }
  36. else
  37. {
  38. $error = 'Wystąpił błąd podczas weryfikacji Captcha.';
  39. }
  40.  
  41. if($reg->sqlclient['lastgameschange'] + $reg->config['spamprotection']['games'] > time())
  42. {
  43. $error = 'Ups.. Musisz odczekać aby ponownie połączyć konto.';
  44. }
  45. else
  46. {
  47. $name = $_POST['cname'];
  48. $password = $_POST['pass'];
  49.  
  50. $status = new MCPremium();
  51. $session = $status->Check($name, $password);
  52. $data = $session->Response();
  53.  
  54. if($data['error'])
  55. {
  56. switch($data['error'])
  57. {
  58. case 'Invalid credentials.':
  59. $error .= 'Złe dane uwierzytelniające.';
  60. break;
  61.  
  62. case 'Invalid credentials. Invalid username or password.':
  63. $error .= 'Sprawdź poprawność danych.';
  64. break;
  65. }
  66.  
  67. }
  68. else
  69. {
  70. foreach($reg->sql->query('SELECT * FROM minecraft')->fetchAll() as $mc)
  71. {
  72.  
  73. if($mc['uuid'] == $data['uuid'])
  74. {
  75. $error = 'Określony użytkownik jest już połączony z innym kontem, sprawdź poprawność wpisanej nazwy użytkownika.';
  76. }
  77. }
  78.  
  79. $sth = $reg->sql->prepare('INSERT INTO minecraft SET dbid = :dbid, premium = :premium, correct_username = :correct_username, uuid = :uuid;');
  80. if(!$error)
  81. {
  82. echo '<div class="alert alert-info" role="alert">Pomyślnie połączono konto.</div>';
  83.  
  84. $status = $sth->execute([':dbid' => $reg->client['client_database_id'], ':premium' => $data['premium'], ':correct_username' => $data['correct_username'], ':uuid' => $data['uuid']]);
  85.  
  86. $time = $reg->sql->prepare('UPDATE clientinfo SET lastgameschange = :lastgameschange WHERE database_id = :db');
  87. $time->execute([':lastgameschange' => time(), ':db' => $reg->client['client_database_id']]);
  88.  
  89. $ts = ts3init();
  90. $ts->serverGroupAddClient($reg->config['games']['minecraftgroup'], $reg->client['client_database_id']);
  91.  
  92. header("refresh: 2; url=?minecraft");
  93. return;
  94. }
  95. }
  96.  
  97.  
  98. }
  99. }
  100. else if(isset($_POST['delete']))
  101. {
  102. echo '<div class="alert alert-info" role="alert">Pomyślnie usunięto konto</div>';
  103.  
  104. $delete = $reg->sql->prepare('DELETE FROM minecraft WHERE dbid = :dbid;');
  105. $delete->execute([':dbid' => $reg->client['client_database_id']]);
  106.  
  107. $ts = ts3init();
  108. $ts->setName($reg->client['client_nickname'].' - Strona');
  109. $ts->serverGroupDeleteClient($reg->config['games']['minecraftgroup'], $reg->client['client_database_id']);
  110.  
  111. header("refresh: 1; url=?minecraft");
  112. return;
  113. }
  114.  
  115. $loader = $reg->sql->prepare('SELECT * FROM minecraft WHERE dbid = ? LIMIT 1;');
  116. $loader->execute([$reg->client['client_database_id']]);
  117. $data = $loader->fetch();
  118.  
  119. if($error)
  120. {
  121. echo '<div class="alert alert-danger" role="alert">'.$error.'</div>';
  122. header("refresh: 2; url=?minecraft");
  123. return;
  124. }
  125.  
  126. if(empty($data))
  127. {
  128. echo '
  129. <div class="alert alert-info" role="alert">
  130. Witaj, <strong>'.$reg->client['client_nickname'].'</strong><br />
  131. Na tej stronie połączysz swoje konto <strong>Minecraft</strong> z naszym serwerem. <br />
  132. Jedyne czego od Ciebie wymagamy to podania nazwy i hasła do Twojego konta.<br />
  133. Gdy to już wykonasz odczekaj około <kbd>60 sekund</kbd> i połączysz swoje konto automatycznie. <br />
  134. Uwaga! Administracja serwera nie przechowuje informacji są one tylko i wyłącznie potrzebne do połączenia konta.
  135. </div>
  136.  
  137. <form action="?minecraft" method="post">
  138. <div class="form-group">
  139. <label for="exampleInput">Nazwa użytkownika:</label>
  140. <input type="text" name="cname" class="form-control" value="' . getpost('cname', '') . '" />
  141. </div>
  142. <div class="form-group">
  143. <label for="exampleInput">Hasło:</label>
  144. <input type="password" name="pass" class="form-control" value="' . getpost('pass', '') . '" />
  145. </div>
  146. <div class="form-group">
  147. <div class="g-recaptcha" data-sitekey="'.$reg->config['recaptcha']['sitekey'].'"></div>
  148. </div>
  149. <div class="form-group">
  150. <input type="submit" name="submit" class="form-control" value="Połącz" />
  151. </div>
  152. </form>
  153. ';
  154. }
  155. else
  156. {
  157. echo '
  158. <div class="panel panel-default">
  159. <div class="panel-heading">
  160. <h4 class="panel-title">
  161. <a class="accordion-toggle" data-toggle="collapse" data-target="#mc" aria-expanded="true">
  162. Minecraft
  163. </a>
  164. </h4>
  165. </div>
  166. <div class="accordion-body collapse in" id="mc" aria-expanded="true">
  167. <div class="panel-body" style="padding-bottom: 10px;">
  168. <div class="row">
  169. <div class="col-md-2 nopadding">
  170. <img style="cursor: pointer; margin-left: 10px;" rel="tooltip" data-placement="right" title="" class="img-responsive" src="scripts/assets/imagemc.php?u='.$data['correct_username'].'&s=100&v=f">
  171. </div>
  172. <div class="col-md-4 padding5">
  173. <h3 class="nomargin">
  174. <strong>'.$data['correct_username'].'</strong> <br />
  175. '.(($data['premium']) ? '<small>Użytkownik premium</small>' : '').'<br />
  176. </h3>
  177. </div>
  178. <div class="col-md-1 padding5">
  179. <h3 class="nomargin">
  180. <form action="?minecraft" method="POST">
  181. <input type="submit" name="delete" class="btn btn-danger" value="Usuń" />
  182. </form>
  183. </h3>
  184. </div>
  185. </div>
  186. </div>
  187. </div>
  188. </div>
  189. ';
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement