$(document).ready(function() {
$(document).on('change', '#serverType', function() {
$("#addServer02").prop("disabled", false);
$("#serverName").prop("disabled", false);
$("#serverDescription").prop("disabled", false);
$("#placeFile").prop("disabled", false);
$("#addServer01").prop("disabled", false);
$("#serverName").prop("disabled", false);
$("#serverDescription").prop("disabled", false);
$("#serverIP").prop("disabled", false);
$("#serverPort").prop("disabled", false);
$("#privacyType").prop("disabled", false);
if ($(this).find("option:selected").attr('value') == 0) {
$("#selfHostOptions").css("display", "block");
$("#dedicatedOptions").css("display", "none");
}else{
$("#selfHostOptions").css("display", "none");
$("#dedicatedOptions").css("display", "block");
}
})
$("#addServer01").click(function() {
if ($("#addServer01").is(":disabled") == false) {
$("#addServer01").prop("disabled", true);
$("#serverName").prop("disabled", true);
$("#serverDescription").prop("disabled", true);
$("#serverIP").prop("disabled", true);
$("#serverPort").prop("disabled", true);
$("#privacyType").prop("disabled", true);
var csrf_token = $('meta[name="csrf-token"]').attr('content');
var serverName = $("#serverName").val();
var serverDescription = $("#serverDescription").val();
var serverIP = $("#serverIP").val();
var serverPort = $("#serverPort").val();
var privacyType = $("#privacyType").val();
var gameVersion = $("#versionType").val();
$.post('/core/func/api/games/post/addServer.php', {
csrf: csrf_token,
serverName: serverName,
serverDescription: serverDescription,
serverIP: serverIP,
serverPort: serverPort,
privacyType: privacyType,
gameVersion: gameVersion
})
.done(function(response) {
$("#addServer01").prop("disabled", false);
$("#serverName").prop("disabled", false);
$("#serverDescription").prop("disabled", false);
$("#serverIP").prop("disabled", false);
$("#serverPort").prop("disabled", false);
$("#privacyType").prop("disabled", false);
if (response == "error") {
$("#aStatus").html("
Could not add the server because a network error has occurred.
");
}else if (response == "server-name-too-long") {
$("#aStatus").html("Your server name is too long.
");
}else if (response == "server-name-too-short") {
$("#aStatus").html("Your server name is too short.
");
}else if (response == "server-description-too-long") {
$("#aStatus").html("Your server description is too long.
");
}else if (response == "server-ip-too-short") {
$("#aStatus").html("Your server IP is too short.
");
}else if (response == "server-ip-too-long") {
$("#aStatus").html("Your server IP is too long.
");
}else if (response == "server-port-too-short") {
$("#aStatus").html("Your server port is too short.
");
}else if (response == "server-port-too-long") {
$("#aStatus").html("Your server port is too long.
");
}else if (response == "invalid-port") {
$("#aStatus").html("Your server port is invalid.
");
}else if (response == "invalid-ip") {
$("#aStatus").html("Your server IP is invalid.
");
}else if (response == "invalid-privacy") {
$("#aStatus").html("An error has occurred.
");
}else if (response == "invalid-version") {
$("#aStatus").html("Invalid server version received.
");
}else{
window.location = "/games/view/"+response;
}
})
.fail(function() {
$("#aStatus").html("Could not add the server because a network error has occurred.
");
});
}
})
$(document).on('change', '#placeFile', function() {
$(".place").css("filter", "grayscale(100%)");
});
$("#placeFile").click(function() {
$(".place").css("box-shadow", "none");
});
$(".place").click(function() {
if ($('#placeFile')[0].files[0] == undefined)
$(this).css("box-shadow", "0 0 0 1px #75caeb");
});
$("#addServer02").click(function() {
if ($("#addServer02").is(":disabled") == false) {
$("#addServer02").prop("disabled", true);
$("#serverName").prop("disabled", true);
$("#serverDescription").prop("disabled", true);
$("#placeFile").prop("disabled", true);
$("#versionTypeDedi").prop("disabled", true);
$("#privacyTypeDedi").prop("disabled", true);
var genPlace = 0;
if ($("#place0").css("box-shadow") != "none") genPlace = 1;
var formData = new FormData();
formData.append('placeFile', $('#placeFile')[0].files[0]);
formData.append('serverName', $("#serverName").val());
formData.append('serverDescription', $("#serverDescription").val());
formData.append('versionType', $("#versionTypeDedi").val());
formData.append('privacyType', $("#privacyTypeDedi").val());
formData.append('csrf_token', $('meta[name="csrf-token"]').attr('content'));
formData.append('genPlace', genPlace);
$.ajax({
type: "POST",
url : "/core/func/api/games/post/addServerDedicated.php",
data : formData,
cache: false,
contentType: false,
processData: false,
success: function(data) {
$("#addServer02").prop("disabled", false);
$("#serverName").prop("disabled", false);
$("#serverDescription").prop("disabled", false);
$("#placeFile").prop("disabled", false);
$("#versionTypeDedi").prop("disabled", false);
$("#privacyTypeDedi").prop("disabled", false);
if (data == "server-name-too-long") {
$("#aStatus").html("Server name is too long
");
}else if (data == "server-name-too-short") {
$("#aStatus").html("Server name is too short
");
}else if (data == "server-description-too-long") {
$("#aStatus").html("Server description is too long
");
}else if (data == "invalid-placefile") {
$("#aStatus").html("Invalid place file.
");
}else if (data == "rate-limit") {
$("#aStatus").html("You can only add a server each 5 minutes.
");
}else if (data == "invalid-privacy") {
$("#aStatus").html("Invalid privacy type received
");
}else if (data == "success") {
$("#aStatus").html("Your dedicated server will be up and running shortly.
");
$(".profileCard").html("Loading
Please wait as we load your server
");
setTimeout(function(){
$(".profileCardContainer").load("/core/func/api/games/getLatestServer.php");
$(".profileCardContainerHead").append("Your server has been created
");
$(".profileCard").remove();
$(".alert").remove();
}, 10000);
}else if (data == "error") {
$("#aStatus").html("Please select a place
");
}else{
$("#aStatus").html("Could not add the server because a network error has occurred.
");
}
},error: function() {
$("#aStatus").html("Could not add the server because a network error has occurred.
");
}
});
}
})
})