Advertisement
Guest User

Untitled

a guest
Jan 27th, 2015
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.54 KB | None | 0 0
  1. <?php
  2.  
  3. if(!isset($config->complete))
  4. {
  5. return include $pages['setup'];
  6. }
  7.  
  8. if(isset($_POST['cmd']))
  9. {
  10. $messages = array();
  11. switch($_POST['cmd'])
  12. {
  13. case 'login':
  14. if(!$core->allset($_POST, 'user', 'pass'))
  15. {
  16. break;
  17. }
  18. if(strlen($_POST['user']) == 0)
  19. {
  20. $messages[] = 'Please enter your username';
  21. }
  22. if(strlen($_POST['pass']) == 0)
  23. {
  24. $messages[] = 'Please enter your password';
  25. }
  26. if(!empty($messages)) break;
  27.  
  28. $user = $mysql->fetch_array('select * from `users` where `username`=:a;', array('a' => $_POST['user']));
  29. if(empty($user) || !$mysql->validate($_POST['pass'], $user[0]['password']))
  30. {
  31. $messages[] = 'Bad username / password';
  32. break;
  33. }
  34.  
  35. $loginKey = md5(time() . json_encode($_POST));
  36. setCookie('loginKey', $loginKey, strtotime('+ 1 year'));
  37. $_COOKIE['loginKey'] = $loginKey;
  38. $mysql->query('update `users` set `loginKey`=:a where `username`=:b;', array('a' => $loginKey, 'b' => $user[0]['username']));
  39. $messages[] = 'You will be redirected momentarily' . $core->refreshLogin();
  40. $core->auth = true;
  41. break;
  42. case 'register':
  43. if(!$core->allset($_POST, 'user', 'pass', 'mail'))
  44. {
  45. break;
  46. }
  47. if(strlen($_POST['user']) < 5 || strlen($_POST['user']) > 32 || !ctype_alnum($_POST['user']))
  48. {
  49. $messages[] = 'Your username requires 5-15 alpha-numeric characters (a-z/0-9)';
  50. }
  51. if(strtolower($_POST['user']) == 'unregistered')
  52. {
  53. $messages[] = 'That username is reserved.';
  54. }
  55. if(strlen($_POST['pass']) < 6)
  56. {
  57. $messages[] = 'You are required to choose a password with at least 6 characters.';
  58. }
  59. if(!filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
  60. {
  61. $messages[] = 'Please enter a valid email address.';
  62. }
  63. if(!empty($messages)) break;
  64.  
  65. $count = $mysql->fetch_array('select count(*) as `count` from `users` where `username`=:a or `email`=:b or (`connectedlast`=:c and `username`!=:d);', array('a' => $_POST['user'], 'b' => $_POST['mail'], 'c' => $_SERVER['REMOTE_ADDR'], 'd' => ''));
  66. if($count[0]['count'] > 0)
  67. {
  68. $messages[] = 'Someone already registered with that username, or you already have an account.';
  69. break;
  70. }
  71.  
  72. /* Insert Pre-Registration-ID Here (Unregistered) */
  73. $vals = array(
  74. 'id' => 'NULL',
  75. 'username' => $_POST['user'],
  76. 'nickname' => $_POST['user'],
  77. 'password' => $mysql->hash($_POST['pass']),
  78. 'avatar' => rand(0, 1759),
  79. 'url' => '',
  80. 'k' => rand(-1000000, 1000000),
  81. 'k2' => rand(-1000000, 1000000),
  82. 'k3' => rand(-1000000, 1000000),
  83. 'xats' => $config->xats,
  84. 'reserve' => $config->xats,
  85. 'days' => time() + ($config->days * 86400),
  86. 'email' => $_POST['mail'],
  87. 'powers' => '',
  88. 'enabled' => '1',
  89. 'transferblock' => '',
  90. 'connectedlast' => $_SERVER['REMOTE_ADDR'],
  91. 'rank' => 1
  92. );
  93. $result = $mysql->insert('users', $vals);
  94.  
  95. if(isset($_COOKIE['referral']) && is_numeric($_COOKIE['referral']))
  96. {
  97. //$mysql->query('update `users` set `credit`=`credit`+125 where `id`=:uid;', array('uid' => $_COOKIE['referral']));
  98. }
  99.  
  100. $messages[] = "Registration successful, you may now login";
  101. break;
  102. case 'update_bio':
  103. if($core->auth)
  104. {
  105. $mysql->query('update `users` set `xavi`=:xavi where `id`=' . $core->user['id'] . ';', array('xavi' => $_POST['bio']));
  106. }
  107. break;
  108.  
  109. case 'update_pawn':
  110. if(isset($core->auth))
  111. {
  112. if($core->user['custpawn'] != '')
  113. {
  114. if(substr($_POST['update_pawn'], 0, 1) == '#')
  115. {
  116. $_POST['update_pawn'] = substr($_POST['update_pawn'], 1);
  117. }
  118.  
  119. if(!isset($_POST['update_pawn']) || strlen($_POST['update_pawn']) != 6 || !ctype_xdigit($_POST['update_pawn']))
  120. {
  121. $_POST['update_pawn'] = 'off';
  122. }
  123.  
  124. $mysql->query('update `users` set `custpawn`=:pawn where `id`=' . $core->user['id'] . ';', array('pawn' => $_POST['update_pawn']));
  125. }
  126. }
  127. break;
  128. }
  129.  
  130. foreach($messages as $message)
  131. {
  132. print '<div class="alert alert-dismissable alert-warning">
  133. <button type="button" class="close" data-dismiss="alert">×</button>
  134. '.$message.'
  135. </div>';
  136. }
  137. }
  138.  
  139. if(!isset($_GET['u']) && isset($core->user['username']))
  140. {
  141. $_GET['u'] = $core->user['username'];
  142. }
  143.  
  144. if(isset($_GET['u']) && ctype_alnum($_GET['u']))
  145. {
  146. $user = $mysql->fetch_array('select * from `users` where `username`=:uname or `id`=:uid;', array('uname' => $_GET['u'], 'uid' => $_GET['u']));
  147. if(count($user) == 1)
  148. {
  149. $nickname = htmlspecialchars(substr($user[0]['nickname'], 0, strpos($user[0]['nickname'] . '##', '##')));
  150. $nickname = preg_replace('/\([^)]*\)+/', '', $nickname);
  151. $pcount = $mysql->fetch_array('select count(*) from `userpowers` where `userid`=:userid;', array('userid' => $user[0]['id']));
  152.  
  153. print '<div class="block c5">';
  154. print '<div class="heading">' . substr($nickname, 0, 50) . '</div>';
  155. print '<table style="width: 99%">';
  156. print '<tr> <td> Xats </td> <td class="tr"> ' . $user[0]['xats'] . ' </td> </tr>';
  157. print '<tr> <td> Days </td> <td class="tr"> ' . floor($user[0]['days'] / 86400) . ' </td> </tr>';
  158. print '<tr> <td> Powers </td> <td class="tr"> ' . $pcount[0]['count(*)'] . ' </td> </tr>';
  159. print '<tr> <td> Credit </td> <td class="tr"> ' . $user[0]['credit'] . ' </td> </tr>';
  160. print '</table>';
  161. if($core->auth && $core->user['id'] == $user[0]['id'])
  162. {
  163. print '<div style="width: 100%" class="tc"> <input type="submit" class="claimCredit" value="Claim Credit" />&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" class="relogin" value="Relogin" /> </div>';
  164. }
  165. print '</div>';
  166.  
  167.  
  168.  
  169. print '<div class="block c4-5 fr">';
  170. if(isset($core->user['id']) && $core->user['id'] == $user[0]['id'] && !isset($_GET['preview']))
  171. {
  172. if($user[0]['custpawn'] != '')
  173. {
  174. print
  175. '<div class="heading"> Custom Pawn <small style="font-size: 10px">[Hex 6 characters example: #000000, just type "off" to turn your custom pawn off]</small> </div>
  176. <form method="post">
  177. <input style="width: 99%;text-align: center;" type="text" autocomplete="off" name="update_pawn" value="' . ($user[0]['custpawn'] == 'off' ? 'off' : '#' . $user[0]['custpawn']) . '" />
  178. <input type="hidden" name="cmd" value="update_pawn" />
  179. <div style="width: 99%;text-align: center"> <input type="submit" class="btn btn-primary btn-xs" value="Update" /> </div>
  180. </form>';
  181. }
  182.  
  183. print '<div class="heading"> Referral Link <a href="/faq#referrals">(click for explanation)</a> </div>';
  184. print '<input type="text" style="width: 99%;text-align: center;" value="http://' . $config->server_dm . '/home?ref=' . $core->user['id'] . '" /><br />';
  185. print '<br />';
  186. print '<div class="heading"> Xavi [ <a href="/profile?u=' . htmlspecialchars($_GET['u']) . '&preview">CODIGOS</a> ]</div>';
  187. }
  188. else
  189. {
  190. print '<div class="heading"> Xavi </div>';
  191. }
  192.  
  193. if($user[0]['xavi'] == '' && (!$core->auth || $core->user['id'] != $user[0]['id']))
  194. {
  195. print '<div class="tc" style="width: 100%"> ' . $user[0]['username'] . ' does not have a biography. </div>';
  196. }
  197. elseif($core->auth && $core->user['id'] == $user[0]['id'] && !isset($_GET['preview']))
  198. {
  199. print '<small style="cursor:pointer" title="[br], [center], [b], [h1], [h2], [h3]"> SEU XAVI AKI!</small>';
  200. print '<form method="post">';
  201. print '<input type="hidden" name="cmd" value="update_bio" />';
  202. print '<textarea name="bio" style="width: 99%;resize: none" rows="15">' . htmlspecialchars($user[0]['xavi']) . '</textarea>';
  203. print '<div style="width: 99%;text-align: center"> <input type="submit" class="btn btn-primary btn-xs" value="Update" /> </div>';
  204. print '</form>';
  205. }
  206. else
  207. {
  208. $bb = array(
  209. '[br]' => '<br />',
  210. "\n" => '<br />',
  211. '[center]' => '<span class="tc" style="width: 100%;display: inline-block;">',
  212. '[/center]' => '</span>',
  213. '[b]' => '<b>',
  214. '[/b]' => '</b>',
  215. '[h1]' => '<h1>',
  216. '[/h1]' => '</h1>',
  217. '[h2]' => '<h2>',
  218. '[/h2]' => '</h2>',
  219. '[h3]' => '<h3>',
  220. '[/h3]' => '</h3>',
  221. '[center]' => '<center>',
  222. '[/center]' => '</center>',
  223. );
  224.  
  225. print str_replace(array_keys($bb), $bb, htmlspecialchars($user[0]['xavi']));
  226. }
  227. print '</div>';
  228. }
  229. else
  230. {
  231. print '<div class="block c1 tc"> User Not Found </div>';
  232. }
  233. }
  234. else
  235. {
  236. print '
  237. <div class="col-lg-6">
  238. <div class="well bs-component">
  239. <form method="POST" class="form-horizontal">
  240. <input type="hidden" name="cmd" value="login" />
  241. <fieldset>
  242. <legend>Login</legend>
  243. <div class="form-group">
  244. <label for="inputPassword" class="col-lg-2 control-label">Username</label>
  245. <div class="col-lg-10">
  246. <input class="form-control" id="inputEmail" name="user" placeholder="Username" type="text">
  247. </div>
  248. </div>
  249. <div class="form-group">
  250. <label for="inputPassword" class="col-lg-2 control-label">Password</label>
  251. <div class="col-lg-10">
  252. <input class="form-control" id="inputPassword" placeholder="Password" name="pass" type="password">
  253.  
  254. </div>
  255. </div>
  256.  
  257. <div class="form-group">
  258. <div class="col-lg-10 col-lg-offset-2">
  259. <input type="submit" value="Login" class="btn btn-primary" />
  260. </div>
  261. </div>
  262. </fieldset>
  263. </form>
  264. <div style="display: none;" id="source-button" class="btn btn-primary btn-xs">&lt; &gt;</div></div>
  265. </div>
  266.  
  267. <div style="width: 10%; display: inline-block;"> <!-- Spacer --> </div>
  268.  
  269. <div class="col-lg-6">
  270. <div class="well bs-component">
  271. <form method="POST" class="form-horizontal">
  272. <input type="hidden" name="cmd" value="register" />
  273. <fieldset>
  274. <legend>Registro</legend>
  275. <div class="form-group">
  276. <label for="inputPassword" class="col-lg-2 control-label">Username</label>
  277. <div class="col-lg-10">
  278. <input class="form-control" id="inputEmail" name="user" placeholder="Username" type="text">
  279. </div>
  280. </div>
  281. <div class="form-group">
  282. <label for="inputPassword" class="col-lg-2 control-label">Password</label>
  283. <div class="col-lg-10">
  284. <input class="form-control" id="inputPassword" placeholder="Password" name="pass" type="password">
  285.  
  286. </div
  287. <div class="form-group">
  288. <label for="inputPassword" class="col-lg-2 control-label">Email</label>
  289. <div class="col-lg-10">
  290. <input class="form-control" id="inputPassword" placeholder="Email" name="mail" type="text">
  291. </div>
  292. </div>
  293.  
  294. <div class="form-group">
  295. <div class="col-lg-10 col-lg-offset-2">
  296. <input type="submit" value="Register" class="btn btn-primary" />
  297. </div>
  298. </div>
  299. </fieldset>
  300. </form>
  301. <div style="display: none;" id="source-button" class="btn btn-primary btn-xs">&lt; &gt;</div></div>
  302. </div>
  303. ';
  304. }
  305. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement