edit_profile.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. function generateApi($length = 16) {
  3. $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  4. $charactersLength = strlen($characters);
  5. $randomString = '';
  6. for ($i = 0; $i < $length; $i++) {
  7. $randomString .= $characters[rand(0, $charactersLength - 1)];
  8. }
  9. return $randomString;
  10. }
  11. function action($db = null){
  12. global $AREA_TYPE;
  13. global $DIFFICULTY;
  14. global $SCENARIO;
  15. global $DUNGEON;
  16. global $ELEMENTAL_RIFT_DUNGEON;
  17. global $LABYRINTH_STAGES;
  18. global $UID;
  19. $response = null;
  20. $player = filter_input(INPUT_POST, 'uid');
  21. if (filter_input(INPUT_POST, "mail")){
  22. $mail = filter_input(INPUT_POST, 'mail');
  23. // TODO: Validate mail
  24. $s = $db->prepare('UPDATE player SET mail = :mail WHERE uid = :uid;');
  25. $s->bindValue(':uid', $player);
  26. $s->bindValue(':mail', $mail);
  27. if(!$s->execute()){
  28. return -1;
  29. }
  30. }
  31. if (filter_input(INPUT_POST, "pass")){
  32. $pass = sha1(filter_input(INPUT_POST, 'pass'));
  33. $currentPass = sha1(filter_input(INPUT_POST, 'currentPass'));
  34. // TODO: Validate current
  35. $s = $db->prepare('UPDATE player SET password = :pass WHERE uid = :uid AND password = :currentPass;');
  36. $s->bindValue(':uid', $player);
  37. $s->bindValue(':pass', $mail);
  38. $s->bindValue(':currentPass', $currentPass);
  39. if(!$s->execute()){
  40. return -2;
  41. }
  42. }
  43. if (filter_input(INPUT_POST, "api")){
  44. $api = generateApi();
  45. $s = $db->prepare('UPDATE player SET api_key = :api WHERE uid = :uid;');
  46. $s->bindValue(':uid', $player);
  47. $s->bindValue(':api', $api);
  48. if(!$s->execute()){
  49. return -3;
  50. }
  51. $response = $api;
  52. }
  53. if ($response == null){
  54. return 0;
  55. }
  56. else{
  57. return $response;
  58. }
  59. }
  60. ?>