diff --git a/src/game/lib/db_connect_manager.js b/src/game/lib/db_connect_manager.js index 4e68cda..86cf52d 100644 --- a/src/game/lib/db_connect_manager.js +++ b/src/game/lib/db_connect_manager.js @@ -79,6 +79,23 @@ DBConnectManager.prototype.requestPlayerEnterCode = function(maestroID, playerID xhr.send("maestro_id=" + maestroID + "&player_id=" + playerID); } +DBConnectManager.prototype.requestEditPlayerEnterCode = function(maestroID, playerID, enterCode, onSucceededListener, onFailedListener) { + var xhr = new XMLHttpRequest(); + xhr.open("POST", this.phpPath + "server/player/edit_entercode.php", true); + xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); + xhr.onreadystatechange = function() { + if(xhr.readyState == 4 && xhr.status == 200) { + var replyJSON = JSON.parse(xhr.responseText); + + if(replyJSON != null && replyJSON["result"] == "success") + onSucceededListener(replyJSON); + else + onFailedListener(replyJSON); + } + }; + xhr.send("maestro_id=" + maestroID + "&player_id=" + playerID + "&enter_code=" + enterCode); +} + /* DBConnectManager.prototype.requestAppList = function(maestroID, onSucceededListener, onFailedListener) { var xhr = new XMLHttpRequest(); diff --git a/src/game/setup/setup.js b/src/game/setup/setup.js index 891267f..6e27ca9 100644 --- a/src/game/setup/setup.js +++ b/src/game/setup/setup.js @@ -154,13 +154,27 @@ var Setup = { } var accountValidator = new AccountValidator(); - if(accountValidator.isValidPlayerPW(newEnterCode)) { - this.showInfoText("입장번호를 바꾸겠습니다."); - } else { + if(!accountValidator.isValidPlayerPW(newEnterCode)) { var errorMessage = accountValidator.messageForInvalidPlayerPW(newEnterCode); this.showInfoText(errorMessage); } + this.showInfoText("입장번호를 바꾸겠습니다."); + var dbConnectManager = new DBConnectManager(); + dbConnectManager.requestEditPlayerEnterCode( + sessionStorageManager.getMaestroID(), + sessionStorageManager.getPlayerID(), + newEnterCode, + (function(jsonData) { + // this.loginSucceeded(jsonData); + this.showInfoText("새로 입력하신 [ " + jsonData["EnterCode"] + " ]로 입장번호가 변경되었습니다.") + this.loadPrevEnterCode(); + }).bind(this), + (function(jsonData) { + // this.loginFailed(jsonData); + this.showInfoText("입장번호 변경에 실패하였습니다.") + }).bind(this) + ); /* var maestroName = this.inputTextMaestroName.canvasInput._value; sessionStorageManager.setPlayerName(this.inputTextName.canvasInput._value); @@ -204,7 +218,6 @@ var Setup = { sessionStorageManager.getPlayerID(), (function(jsonData) { this.prevEnterCode = jsonData['EnterCode']; - console.log(this.prevEnterCode); this.prevEnterCodeText.text = this.prevEnterCode; }).bind(this), (function(jsonData) { @@ -214,6 +227,7 @@ var Setup = { ); }, + /* loginSucceeded: function(jsonData) { sessionStorageManager.setMaestroID(jsonData['MaestroID']); sessionStorageManager.setMaestroAccountType(jsonData['MaestroAccountType']); @@ -238,5 +252,6 @@ var Setup = { this.infoText.text = jsonData["error"]; } } + */ } \ No newline at end of file diff --git a/src/web/server/player/edit_entercode.php b/src/web/server/player/edit_entercode.php new file mode 100644 index 0000000..1273e69 --- /dev/null +++ b/src/web/server/player/edit_entercode.php @@ -0,0 +1,37 @@ +prepare($query); + $stmt->bind_param("sii", $enterCode, $maestroID, $playerID); + $stmt->execute(); +} + +?> \ No newline at end of file