Last active
November 14, 2019 12:12
-
-
Save bariskarapinar/8c4df97879b9e789b4fcc8c4dfd34e76 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// xxxxxxxxxx Working For Sign Up Form xxxxxxxxxx | |
// xxxxxxxxxx Full Name Validation xxxxxxxxxx | |
function checkUserFullName(){ | |
var userSurname = document.getElementById("userFullName").value; | |
var flag = false; | |
if(userSurname === ""){ | |
flag = true; | |
} | |
if(flag){ | |
document.getElementById("userFullNameError").style.display = "block"; | |
}else{ | |
document.getElementById("userFullNameError").style.display = "none"; | |
} | |
} | |
// xxxxxxxxxx User Surname Validation xxxxxxxxxx | |
function checkUserSurname(){ | |
var userSurname = document.getElementById("userSurname").value; | |
var flag = false; | |
if(userSurname === ""){ | |
flag = true; | |
} | |
if(flag){ | |
document.getElementById("userSurnameError").style.display = "block"; | |
}else{ | |
document.getElementById("userSurnameError").style.display = "none"; | |
} | |
} | |
// xxxxxxxxxx Email Validation xxxxxxxxxx | |
function checkUserEmail(){ | |
var userEmail = document.getElementById("userEmail"); | |
var userEmailFormate = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; | |
var flag; | |
if(userEmail.value.match(userEmailFormate)){ | |
flag = false; | |
}else{ | |
flag = true; | |
} | |
if(flag){ | |
document.getElementById("userEmailError").style.display = "block"; | |
}else{ | |
document.getElementById("userEmailError").style.display = "none"; | |
} | |
} | |
// xxxxxxxxxx Password Validation xxxxxxxxxx | |
function checkUserPassword(){ | |
var userPassword = document.getElementById("userPassword"); | |
var userPasswordFormate = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{10,}/; | |
var flag; | |
if(userPassword.value.match(userPasswordFormate)){ | |
flag = false; | |
}else{ | |
flag = true; | |
} | |
if(flag){ | |
document.getElementById("userPasswordError").style.display = "block"; | |
}else{ | |
document.getElementById("userPasswordError").style.display = "none"; | |
} | |
} | |
// xxxxxxxxxx Check user bio characters. It'll use later xxxxxxxxxx | |
function checkUserBio(){ | |
var userBio = document.getElementById("userBio").value; | |
var flag = false; | |
if(flag){ | |
document.getElementById("userBioError").style.display = "block"; | |
}else{ | |
document.getElementById("userBioError").style.display = "none"; | |
} | |
} | |
// xxxxxxxxxx Submitting and Creating new user in firebase authentication xxxxxxxxxx | |
function signUp(){ | |
var userFullName = document.getElementById("userFullName").value; | |
var userSurname = document.getElementById("userSurname").value; | |
var userEmail = document.getElementById("userEmail").value; | |
var userPassword = document.getElementById("userPassword").value; | |
var userFullNameFormate = /^([A-Za-z.\s_-])/; | |
var userEmailFormate = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; | |
var userPasswordFormate = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{10,}/; | |
var checkUserFullNameValid = userFullName.match(userFullNameFormate); | |
var checkUserEmailValid = userEmail.match(userEmailFormate); | |
var checkUserPasswordValid = userPassword.match(userPasswordFormate); | |
if(checkUserFullNameValid == null){ | |
return checkUserFullName(); | |
}else if(userSurname === ""){ | |
return checkUserSurname(); | |
}else if(checkUserEmailValid == null){ | |
return checkUserEmail(); | |
}else if(checkUserPasswordValid == null){ | |
return checkUserPassword(); | |
}else{ | |
firebase.auth().createUserWithEmailAndPassword(userEmail, userPassword).then((success) => { | |
var user = firebase.auth().currentUser; | |
var uid; | |
if (user != null) { | |
uid = user.uid; | |
} | |
var firebaseRef = firebase.database().ref(); | |
var userData = { | |
userFullName: userFullName, | |
userSurname: userSurname, | |
userEmail: userEmail, | |
userPassword: userPassword, | |
userFb: "https://www.facebook.com/", | |
userTw: "https://twitter.com/", | |
userGp: "https://plus.google.com/", | |
userBio: "User biography", | |
} | |
firebaseRef.child(uid).set(userData); | |
swal('Your Account Created','Your account was created successfully, you can log in now.', | |
).then((value) => { | |
setTimeout(function(){ | |
window.location.replace("../index.html"); | |
}, 1000) | |
}); | |
}).catch((error) => { | |
// Handle Errors here. | |
var errorCode = error.code; | |
var errorMessage = error.message; | |
swal({ | |
type: 'error', | |
title: 'Error', | |
text: "Error", | |
}) | |
}); | |
} | |
} | |
// xxxxxxxxxx Working For Sign In Form xxxxxxxxxx | |
// xxxxxxxxxx Sign In Email Validation xxxxxxxxxx | |
function checkUserSIEmail(){ | |
var userSIEmail = document.getElementById("userSIEmail"); | |
var userSIEmailFormate = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; | |
var flag; | |
if(userSIEmail.value.match(userSIEmailFormate)){ | |
flag = false; | |
}else{ | |
flag = true; | |
} | |
if(flag){ | |
document.getElementById("userSIEmailError").style.display = "block"; | |
}else{ | |
document.getElementById("userSIEmailError").style.display = "none"; | |
} | |
} | |
// xxxxxxxxxx Sign In Password Validation xxxxxxxxxx | |
function checkUserSIPassword(){ | |
var userSIPassword = document.getElementById("userSIPassword"); | |
var userSIPasswordFormate = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{10,}/; | |
var flag; | |
if(userSIPassword.value.match(userSIPasswordFormate)){ | |
flag = false; | |
}else{ | |
flag = true; | |
} | |
if(flag){ | |
document.getElementById("userSIPasswordError").style.display = "block"; | |
}else{ | |
document.getElementById("userSIPasswordError").style.display = "none"; | |
} | |
} | |
// xxxxxxxxxx Check email or password exsist in firebase authentication xxxxxxxxxx | |
function signIn(){ | |
var userSIEmail = document.getElementById("userSIEmail").value; | |
var userSIPassword = document.getElementById("userSIPassword").value; | |
var userSIEmailFormate = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; | |
var userSIPasswordFormate = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{10,}/; | |
var checkUserEmailValid = userSIEmail.match(userSIEmailFormate); | |
var checkUserPasswordValid = userSIPassword.match(userSIPasswordFormate); | |
if(checkUserEmailValid == null){ | |
return checkUserSIEmail(); | |
}else if(checkUserPasswordValid == null){ | |
return checkUserSIPassword(); | |
}else{ | |
firebase.auth().signInWithEmailAndPassword(userSIEmail, userSIPassword).then((success) => { | |
swal({ | |
type: 'successfull', | |
title: 'Succesfully signed in', | |
}).then((value) => { | |
setTimeout(function(){ | |
window.location.replace("./pages/profile.html"); | |
}, 1000) | |
}); | |
}).catch((error) => { | |
// Handle Errors here. | |
var errorCode = error.code; | |
var errorMessage = error.message; | |
swal({ | |
type: 'error', | |
title: 'Error', | |
text: "Error", | |
}) | |
}); | |
} | |
} | |
// xxxxxxxxxx Working For Profile Page xxxxxxxxxx | |
// xxxxxxxxxx Get data from server and show in the page xxxxxxxxxx | |
firebase.auth().onAuthStateChanged((user)=>{ | |
if (user) { | |
// User is signed in. | |
let user = firebase.auth().currentUser; | |
let uid | |
if(user != null){ | |
uid = user.uid; | |
} | |
let firebaseRefKey = firebase.database().ref().child(uid); | |
firebaseRefKey.on('value', (dataSnapShot)=>{ | |
document.getElementById("userPfFullName").innerHTML = dataSnapShot.val().userFullName; | |
document.getElementById("userPfSurname").innerHTML = dataSnapShot.val().userSurname; | |
// userEmail = dataSnapShot.val().userEmail; | |
// userPassword = dataSnapShot.val().userPassword; | |
document.getElementById("userPfFb").setAttribute('href', dataSnapShot.val().userFb); | |
document.getElementById("userPfTw").setAttribute('href', dataSnapShot.val().userTw); | |
document.getElementById("userPfGp").setAttribute('href', dataSnapShot.val().userGp); | |
document.getElementById("userPfBio").innerHTML = dataSnapShot.val().userBio; | |
}) | |
} else { | |
// No user is signed in. | |
} | |
}); | |
// xxxxxxxxxx Show edit profile form with detail xxxxxxxxxx | |
function showEditProfileForm(){ | |
document.getElementById("profileSection").style.display = "none" | |
document.getElementById("editProfileForm").style.display = "block" | |
var userPfFullName = document.getElementById("userPfFullName").innerHTML; | |
var userPfSurname = document.getElementById("userPfSurname").innerHTML; | |
var userPfFb = document.getElementById("userPfFb").getAttribute("href"); | |
var userPfTw = document.getElementById("userPfTw").getAttribute("href"); | |
var userPfGp = document.getElementById("userPfGp").getAttribute("href"); | |
var userPfBio = document.getElementById("userPfBio").innerHTML; | |
document.getElementById("userFullName").value = userPfFullName; | |
document.getElementById("userSurname").value = userPfSurname; | |
document.getElementById("userFacebook").value = userPfFb; | |
document.getElementById("userTwitter").value = userPfTw; | |
document.getElementById("userGooglePlus").value = userPfGp; | |
document.getElementById("userBio").value = userPfBio; | |
} | |
// xxxxxxxxxx Hide edit profile form xxxxxxxxxx | |
function hideEditProfileForm(){ | |
document.getElementById("profileSection").style.display = "block"; | |
document.getElementById("editProfileForm").style.display = "none"; | |
} | |
// xxxxxxxxxx Save profile and update database xxxxxxxxxx | |
function saveProfile(){ | |
let userFullName = document.getElementById("userFullName").value | |
let userSurname = document.getElementById("userSurname").value | |
let userFacebook = document.getElementById("userFacebook").value | |
let userTwitter = document.getElementById("userTwitter").value | |
let userGooglePlus = document.getElementById("userGooglePlus").value | |
let userBio = document.getElementById("userBio").value | |
var userFullNameFormate = /^([A-Za-z.\s_-])/; | |
var checkUserFullNameValid = userFullName.match(userFullNameFormate); | |
if(checkUserFullNameValid == null){ | |
return checkUserFullName(); | |
}else if(userSurname === ""){ | |
return checkUserSurname(); | |
}else{ | |
let user = firebase.auth().currentUser; | |
let uid; | |
if(user != null){ | |
uid = user.uid; | |
} | |
var firebaseRef = firebase.database().ref(); | |
var userData = { | |
userFullName: userFullName, | |
userSurname: userSurname, | |
userFb: userFacebook, | |
userTw: userTwitter, | |
userGp: userGooglePlus, | |
userBio: userBio, | |
} | |
firebaseRef.child(uid).set(userData); | |
swal({ | |
type: 'successfull', | |
title: 'Update successfull', | |
text: 'Profile updated.', | |
}).then((value) => { | |
setTimeout(function(){ | |
document.getElementById("profileSection").style.display = "block"; | |
document.getElementById("editProfileForm").style.display = "none"; | |
}, 1000) | |
}); | |
} | |
} | |
// xxxxxxxxxx Working For Sign Out xxxxxxxxxx | |
function signOut(){ | |
firebase.auth().signOut().then(function() { | |
// Sign-out successful. | |
swal({ | |
type: 'successfull', | |
title: 'Signed Out', | |
}).then((value) => { | |
setTimeout(function(){ | |
window.location.replace("../index.html"); | |
}, 1000) | |
}); | |
}).catch(function(error) { | |
// An error happened. | |
let errorMessage = error.message; | |
swal({ | |
type: 'error', | |
title: 'Error', | |
text: "Error", | |
}) | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment