edit_profile.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. error_log("UPDATE player SET mail = '$mail' WHERE uid = '$player';");
  26. $s->bindValue(':uid', $player);
  27. $s->bindValue(':mail', $mail);
  28. if(!$s->execute()){
  29. return -1;
  30. }
  31. }
  32. if (filter_input(INPUT_POST, "pass")){
  33. $pass = sha1(filter_input(INPUT_POST, 'pass'));
  34. $currentPass = sha1(filter_input(INPUT_POST, 'currentPass'));
  35. // TODO: Validate current
  36. $s = $db->prepare('UPDATE player SET password = :pass WHERE uid = :uid AND password = :currentPass;');
  37. $s->bindValue(':uid', $player);
  38. $s->bindValue(':pass', $mail);
  39. $s->bindValue(':currentPass', $currentPass);
  40. if(!$s->execute()){
  41. return -2;
  42. }
  43. }
  44. if (filter_input(INPUT_POST, "api")){
  45. $api = generateApi();
  46. $s = $db->prepare('UPDATE player SET api_key = :api WHERE uid = :uid;');
  47. $s->bindValue(':uid', $player);
  48. $s->bindValue(':api', $api);
  49. if(!$s->execute()){
  50. return -3;
  51. }
  52. $response = $api;
  53. }
  54. if ($response == null){
  55. return 0;
  56. }
  57. else{
  58. return $response;
  59. }
  60. }
  61. ?>