This commit is contained in:
adri 2019-01-02 10:43:38 +01:00
parent a5d08063d8
commit a345a22565
3 changed files with 252 additions and 271 deletions

View File

@ -9,21 +9,23 @@ $reponse = $bdd->query('SELECT * FROM projetphp');
?> ?>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title></title> <title></title>
<!-- somme features--> <!-- somme features-->
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic"> <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic">
<link rel="stylesheet" href="//cdn.rawgit.com/necolas/normalize.css/master/normalize.css"> <link rel="stylesheet" href="//cdn.rawgit.com/necolas/normalize.css/master/normalize.css">
<link rel="stylesheet" href="//cdn.rawgit.com/milligram/milligram/master/dist/milligram.min.css"> <link rel="stylesheet" href="//cdn.rawgit.com/milligram/milligram/master/dist/milligram.min.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js" integrity="sha256-KsRuvuRtUVvobe66OFtOQfjP8WA2SzYsmm4VPfMnxms=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js" integrity="sha256-KsRuvuRtUVvobe66OFtOQfjP8WA2SzYsmm4VPfMnxms=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!--My features--> <!--My features-->
<link rel="stylesheet" href="style.css?<?php echo date('l jS \of F Y h:i:s A'); ?>"> <link rel="stylesheet" href="style.css?<?php echo date('l jS \of F Y h:i:s A'); ?>">
<script src="script.js?<?php echo date('l jS \of F Y h:i:s A'); ?>"></script> <script src="script.js?<?php echo date('l jS \of F Y h:i:s A'); ?>"></script>
</head> </head>
<body> <body>
<table id="allRecord"> <table id="allRecord">
<thead> <thead>
@ -38,29 +40,34 @@ $reponse = $bdd->query('SELECT * FROM projetphp');
</thead> </thead>
<tbody> <tbody>
<?php <?php
while($data = $reponse->fetch()) while ($data = $reponse->fetch()) {
{
?> ?>
<tr class="record"> <tr class="record">
<td class="login"> <td class="login">
<?= ($data["login"]) ?></td> <?= ($data["login"]) ?>
</td>
<td class="datene"> <td class="datene">
<?= ($data["date_naissance"]) ?></td> <?= ($data["date_naissance"]) ?>
</td>
<td class="email"> <td class="email">
<?= ($data["e_mail"]) ?></td> <?= ($data["e_mail"]) ?>
</td>
<td class="pw"> <td class="pw">
<?= ($data["mot_de_passe"]) ?></td> <?= ($data["mot_de_passe"]) ?>
</td>
<td class="sl"> <td class="sl">
<?= ($data["security_level"]) ?></td> <?= ($data["security_level"]) ?>
</td>
<td><i class="fas fa-edit click editUser"></i><i class="fas fa-trash-alt click delUser"></i></td> <td><i class="fas fa-edit click editUser"></i><i class="fas fa-trash-alt click delUser"></i></td>
</tr> </tr>
<?php <?php
} }
?> ?>
<tr rowspan="2"> <tr rowspan="2">
<td colspan="6" style="text-align:center"><i class="fas fa-user-plus fa-4x click" ></i></td> <td colspan="6" style="text-align:center"><i class="fas fa-user-plus fa-4x click"></i></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</body> </body>
</html> </html>

View File

@ -9,43 +9,38 @@ try {
} }
//DELETE FROM `projetphp` WHERE `projetphp`.`login` = \'caprout\' //DELETE FROM `projetphp` WHERE `projetphp`.`login` = \'caprout\'
if(isset($_POST["userToDel"])) if (isset($_POST["userToDel"])) {
{
$req = $bdd->prepare('DELETE FROM `projetphp` WHERE `projetphp`.`login`=:login'); $req = $bdd->prepare('DELETE FROM `projetphp` WHERE `projetphp`.`login`=:login');
$req->execute(array( 'login' => htmlspecialchars($_POST["userToDel"]))); $req->execute(array( 'login' => htmlspecialchars($_POST["userToDel"])));
} }
//UPDATE `projetphp` SET `security_level` = '6' WHERE `projetphp`.`login` = 'aaazzze'; //UPDATE `projetphp` SET `security_level` = '6' WHERE `projetphp`.`login` = 'aaazzze';
if(isset($_POST["updatePW"], $_POST["datene"], $_POST["email"], $_POST["pw"], $_POST["sl"], $_POST["login"])) if (isset($_POST["updatePW"], $_POST["datene"], $_POST["email"], $_POST["pw"], $_POST["sl"], $_POST["login"])) {
if(preg_match('/^(([^<>()\[\]\\.,;:\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,}))$/', $_POST["email"])) if (preg_match('/^(([^<>()\[\]\\.,;:\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,}))$/', $_POST["email"])) {
if(htmlspecialchars($_POST["updatePW"], ENT_QUOTES, 'UTF-8') == "true" && preg_match('/^[a-z]{8,16}$/',$_POST["pw"])) if (htmlspecialchars($_POST["updatePW"], ENT_QUOTES, 'UTF-8') == "true" && preg_match('/^[a-z]{8,16}$/', $_POST["pw"])) {
{
$req = $bdd->prepare('UPDATE `projetphp` SET `date_naissance` = :datene, `e_mail` = :email, `mot_de_passe` = :pw, `security_level` = :sl WHERE `projetphp`.`login` = :login'); $req = $bdd->prepare('UPDATE `projetphp` SET `date_naissance` = :datene, `e_mail` = :email, `mot_de_passe` = :pw, `security_level` = :sl WHERE `projetphp`.`login` = :login');
$req->execute(array( $req->execute(array(
'datene' => htmlspecialchars($_POST["datene"], ENT_QUOTES, 'UTF-8'), 'datene' => htmlspecialchars($_POST["datene"], ENT_QUOTES, 'UTF-8'),
'email' => htmlspecialchars($_POST["email"], ENT_QUOTES, 'UTF-8'), 'email' => htmlspecialchars($_POST["email"], ENT_QUOTES, 'UTF-8'),
'pw' => md5(htmlspecialchars($_POST["pw"], ENT_QUOTES, 'UTF-8')), 'pw' => md5(htmlspecialchars($_POST["pw"], ENT_QUOTES, 'UTF-8')),
'sl' => htmlspecialchars($_POST["sl"], ENT_QUOTES, 'UTF-8'), 'sl' => htmlspecialchars($_POST["sl"], ENT_QUOTES, 'UTF-8'),
'login' => htmlspecialchars($_POST["login"], ENT_QUOTES, 'UTF-8'), 'login' => htmlspecialchars($_POST["login"], ENT_QUOTES, 'UTF-8'),
)); ));
$ret["return"] = true; $ret["return"] = true;
$ret["pw"] = md5(htmlspecialchars($_POST["pw"], ENT_QUOTES, 'UTF-8')); $ret["pw"] = md5(htmlspecialchars($_POST["pw"], ENT_QUOTES, 'UTF-8'));
} } elseif (htmlspecialchars($_POST["updatePW"], ENT_QUOTES, 'UTF-8') == "false") {
else if(htmlspecialchars($_POST["updatePW"], ENT_QUOTES, 'UTF-8') == "false")
{
$req = $bdd->prepare('UPDATE `projetphp` SET `date_naissance` = :datene, `e_mail` = :email, `security_level` = :sl WHERE `projetphp`.`login` = :login'); $req = $bdd->prepare('UPDATE `projetphp` SET `date_naissance` = :datene, `e_mail` = :email, `security_level` = :sl WHERE `projetphp`.`login` = :login');
$req->execute(array( $req->execute(array(
'datene' => htmlspecialchars($_POST["datene"], ENT_QUOTES, 'UTF-8'), 'datene' => htmlspecialchars($_POST["datene"], ENT_QUOTES, 'UTF-8'),
'email' => htmlspecialchars($_POST["email"], ENT_QUOTES, 'UTF-8'), 'email' => htmlspecialchars($_POST["email"], ENT_QUOTES, 'UTF-8'),
'sl' => htmlspecialchars($_POST["sl"], ENT_QUOTES, 'UTF-8'), 'sl' => htmlspecialchars($_POST["sl"], ENT_QUOTES, 'UTF-8'),
'login' => htmlspecialchars($_POST["login"], ENT_QUOTES, 'UTF-8'), 'login' => htmlspecialchars($_POST["login"], ENT_QUOTES, 'UTF-8'),
)); ));
$ret["return"] = true; $ret["return"] = true;
$ret["pw"] = htmlspecialchars($_POST["pw"], ENT_QUOTES, 'UTF-8'); $ret["pw"] = htmlspecialchars($_POST["pw"], ENT_QUOTES, 'UTF-8');
} } else ;
else; } else ;
else; }
echo json_encode((object)$ret); echo json_encode((object)$ret);
?>

193
script.js
View File

@ -1,144 +1,127 @@
htmlAddUser = '<tr class="newRecord">\ htmlAddUser = '<tr class="newRecord">\
<td class="login">\ <td class="login">\
<input type="text" /></td>\ <input type="text" /></td>\
<td class="datene">\ <td class="datene">\
<input type="date" /></td>\ <input type="date" /></td>\
<td class="email">\ <td class="email">\
<input type="text" /></td>\ <input type="text" /></td>\
<td class="pw">\ <td class="pw">\
<input type="password" /></td>\ <input type="password" /></td>\
<td class="sl">\ <td class="sl">\
<select>\ <select>\
<option value="1">1</option>\ <option value="1">1</option>\
<option value="5">5</option>\ <option value="5">5</option>\
<option value="10">10</option>\ <option value="10">10</option>\
</select></td>\ </select></td>\
<td><i class="fas fa-check click confirmNewUser"></i><i class="fas fa-trash-alt click delUser"></i></td>\ <td><i class="fas fa-check click confirmNewUser"></i><i class="fas fa-trash-alt click delUser"></i></td>\
</tr>'; </tr>';
passwordPatern=/^[a-zA-Z0-9]{8,16}$/; passwordPatern = /^[a-zA-Z0-9]{8,16}$/;
loginPatern=/^[a-z]{8,16}$/ loginPatern = /^[a-z]{8,16}$/
mailPatern=/^(([^<>()\[\]\\.,;:\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,}))$/;//https://emailregex.com/ mailPatern = /^(([^<>()\[\]\\.,;:\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,}))$/; //https://emailregex.com/
$(function() { $(function() {
$("#allRecord").on("keyup", ".pw input", function(){ $("#allRecord").on("keyup", ".pw input", function() {
if(passwordPatern.test($(this).val()) || $(this).val() == "") if (passwordPatern.test($(this).val()) || $(this).val() == "") {
{
$(this).css("background-color", ""); $(this).css("background-color", "");
$('div', $(this).parent()).css("display", "none"); $('div', $(this).parent()).css("display", "none");
} } else {
else
{
$(this).css("background-color", "red"); $(this).css("background-color", "red");
$('div', $(this).parent()).css("display", "block"); $('div', $(this).parent()).css("display", "block");
} }
}); });
$("#allRecord").on("keyup", ".email input", function(){ $("#allRecord").on("keyup", ".email input", function() {
if(mailPatern.test($(this).val())) if (mailPatern.test($(this).val())) {
{
$(this).css("background-color", ""); $(this).css("background-color", "");
$('div', $(this).parent()).css("display", "none"); $('div', $(this).parent()).css("display", "none");
} } else {
else
{
$(this).css("background-color", "red"); $(this).css("background-color", "red");
$('div', $(this).parent()).css("display", "block"); $('div', $(this).parent()).css("display", "block");
} }
}); });
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~TR TO DEL~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~TR TO DEL~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
$("#allRecord").on("click", ".delUser", function() { $("#allRecord").on("click", ".delUser", function() {
newUser = false; newUser = false;
tr = $(this).parent().parent(); tr = $(this).parent().parent();
var login = ""; var login = "";
var sl = ""; var sl = "";
if(tr.find("i.editUser").length !== 0) if (tr.find("i.editUser").length !== 0) {
{
sl = ltrim($('.sl', tr).html()) sl = ltrim($('.sl', tr).html())
login = $('.login', tr).html(); login = $('.login', tr).html();
} } else if (tr.find("i.confirmEditUser").length !== 0) {
else if(tr.find("i.confirmEditUser").length !== 0)
{
sl = $('.sl select', tr).val(); sl = $('.sl select', tr).val();
login = $('.login', tr).html(); login = $('.login', tr).html();
} } else {
else try {
{ login = "New user " + $('.login input', tr).val();
try{
login = "New user "+$('.login input', tr).val();
newUser = true; newUser = true;
} } catch (e) {
catch(e) swal("error : " + e);
{ return;
swal("error : "+e);
return ;
} }
} }
if(sl == "10") if (sl == "10") {
{ swal("Oops", "You can't del user with sl 10", "error");
swal( "Oops" , "You can't del user with sl 10" , "error" );
return; return;
} }
login = ltrim(login); login = ltrim(login);
swal({ swal({
title: "Are you sure to del "+login+" ?", title: "Are you sure to del " + login + " ?",
text: "Once deleted, you will not be able to recover this!", text: "Once deleted, you will not be able to recover this!",
icon: "warning", icon: "warning",
buttons: true, buttons: true,
dangerMode: true, dangerMode: true,
}) })
.then((willDelete) => { .then((willDelete) => {
if (willDelete) { if (willDelete) {
if(!newUser) if (!newUser)
$.post("post.php", {userToDel: login}, function(){ $.post("post.php", {
userToDel: login
}, function() {
tr.remove(); tr.remove();
swal("Poof! "+login+" has been deleted!", { swal("Poof! " + login + " has been deleted!", {
icon: "success", icon: "success",
}); });
}); });
else { else {
tr.remove(); tr.remove();
swal("Poof! "+login+" has been deleted!", { swal("Poof! " + login + " has been deleted!", {
icon: "success", icon: "success",
}); });
} }
} else { } else {
} }
}); });
}); });
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~TR TO EDIT~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~TR TO EDIT~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
$("#allRecord").on("click", ".editUser", function() { $("#allRecord").on("click", ".editUser", function() {
$(this).toggleClass('fa-edit fa-check'); $(this).toggleClass('fa-edit fa-check');
$(this).toggleClass('editUser confirmEditUser'); $(this).toggleClass('editUser confirmEditUser');
for(i=1; i<$("td", $(this).parent().parent()).length-1;i++) for (i = 1; i < $("td", $(this).parent().parent()).length - 1; i++) {
{ j = $($("td", $(this).parent().parent())[i]);
j= $($("td", $(this).parent().parent())[i]);
className = j.attr('class'); className = j.attr('class');
if(className == "sl") if (className == "sl") {
{
val = ltrim(j.html()); val = ltrim(j.html());
j.html('<select>\ j.html('<select>\
<option value="1" '+(val=="1"?'selected':'')+'>1</option>\ <option value="1" ' + (val == "1" ? 'selected' : '') + '>1</option>\
<option value="5" '+(val=="5"?'selected':'')+'>5</option>\ <option value="5" ' + (val == "5" ? 'selected' : '') + '>5</option>\
<option value="10" '+(val=="10"?'selected':'')+'>10</option>\ <option value="10" ' + (val == "10" ? 'selected' : '') + '>10</option>\
</select>') </select>')
} } else {
else
{
inputOptions = ''; inputOptions = '';
if(className=="pw") if (className == "pw")
inputOptions += 'type="password" data-oldpw="'+ltrim(j.html())+'" '; inputOptions += 'type="password" data-oldpw="' + ltrim(j.html()) + '" ';
else if (j.attr('class') == "datene") else if (j.attr('class') == "datene")
inputOptions += 'type="date" ' inputOptions += 'type="date" '
j.html('<input '+inputOptions+' value="'+(j.attr('class')=="pw"?'':ltrim(j.html()))+'" />'); j.html('<input ' + inputOptions + ' value="' + (j.attr('class') == "pw" ? '' : ltrim(j.html())) + '" />');
if(className=="pw") if (className == "pw") {
{
j.append("<div>le mot de passe comporte entre 8 et 16 caractères parmi a..z A..Z 0..9</div>") j.append("<div>le mot de passe comporte entre 8 et 16 caractères parmi a..z A..Z 0..9</div>")
} }
} }
@ -152,32 +135,31 @@ $("#allRecord").on("click", ".delUser", function() {
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~CALL BACK DE LA VERIF DE MOT DE PASSE~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~CALL BACK DE LA VERIF DE MOT DE PASSE~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function callBackVerif(data){ function callBackVerif(data) {
var dataToSend = new Object(); //Objet contenant les données à envoyé var dataToSend = new Object(); //Objet contenant les données à envoyé
dataToSend["updatePW"] = (data===true?false:true); dataToSend["updatePW"] = (data === true ? false : true);
if($(".pw input", tr).val() === data || data === true) //Verif du mot de passe si nécesaire if ($(".pw input", tr).val() === data || data === true) //Verif du mot de passe si nécesaire
{ {
for(i=0; i<tds.length-1;i++) //Analyse de chaque td for (i = 0; i < tds.length - 1; i++) //Analyse de chaque td
{ {
j= $(tds[i]); j = $(tds[i]);
className = j.attr('class'); className = j.attr('class');
if(className == "pw" && data === true) if (className == "pw" && data === true)
value = $('input,select', j).data("oldpw"); value = $('input,select', j).data("oldpw");
else if(className=="login") else if (className == "login")
value = ltrim(j.html()); value = ltrim(j.html());
else else
value = $('input,select', j).val(); value = $('input,select', j).val();
dataToSend[className] = value; dataToSend[className] = value;
} }
$.post("post.php", dataToSend, function(data){ $.post("post.php", dataToSend, function(data) {
try { try {
if(data.return == true) if (data.return == true) {
for (i = 1; i < tds.length - 1; i++) //On change les input en pure html
{ {
for(i=1; i<tds.length-1;i++) //On change les input en pure html j = $(tds[i]);
{
j= $(tds[i]);
className = j.attr('class'); className = j.attr('class');
if(className == "pw") if (className == "pw")
value = data.pw; value = data.pw;
else else
value = $('input,select', j).val(); value = $('input,select', j).val();
@ -186,17 +168,15 @@ $("#allRecord").on("click", ".delUser", function() {
swal("all done"); swal("all done");
$(that).toggleClass('fa-check fa-edit'); $(that).toggleClass('fa-check fa-edit');
$(that).toggleClass('confirmEditUser editUser'); $(that).toggleClass('confirmEditUser editUser');
} } else
else
swal(data); swal(data);
} catch (e) { } catch (e) {
swal( "Oops" , "Something went wrong!<br>"+e , "error" ); swal("Oops", "Something went wrong!<br>" + e, "error");
} }
console.log(data.return) console.log(data.return)
}, "json"); }, "json");
} } else {
else { swal("Oops", "Password don't match !", "error");
swal( "Oops" , "Password don't match !" , "error" );
} }
} }
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@ -204,7 +184,7 @@ $("#allRecord").on("click", ".delUser", function() {
tds = $("td", $(this).parent().parent()); //Récupère les td concernant le click tds = $("td", $(this).parent().parent()); //Récupère les td concernant le click
tr = $(this).parent().parent(); //Récupère le tr concernant le click tr = $(this).parent().parent(); //Récupère le tr concernant le click
that = this; that = this;
if(mailPatern.test($(".email input", tr).val()) && (passwordPatern.test($(".pw input", tr).val()) || $(".pw input", tr).val() =="")) if (mailPatern.test($(".email input", tr).val()) && (passwordPatern.test($(".pw input", tr).val()) || $(".pw input", tr).val() == ""))
if ($(".pw input", tr).val() === "") { if ($(".pw input", tr).val() === "") {
callBackVerif(true); callBackVerif(true);
} }
@ -220,20 +200,19 @@ $("#allRecord").on("click", ".delUser", function() {
}, },
}, },
}).then(callBackVerif); }).then(callBackVerif);
} } else
else swal("Oops", "Input don't respect rules !", "error");
swal( "Oops" , "Input don't respect rules !" , "error" );
}); });
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~ADD USER~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~ADD USER~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
$("#allRecord").on("click", ".fa-user-plus", function(){ $("#allRecord").on("click", ".fa-user-plus", function() {
$(this).parent().parent().before(htmlAddUser); $(this).parent().parent().before(htmlAddUser);
}); });
$("#allRecord").on("click", ".confirmNewUser", function(){ $("#allRecord").on("click", ".confirmNewUser", function() {
}); });
$("#allRecord").on("click", ".delNewUser", function(){ $("#allRecord").on("click", ".delNewUser", function() {
tr = $(this).parent().parent(); tr = $(this).parent().parent();
tr.remove(); tr.remove();
}); });
@ -242,6 +221,6 @@ $("#allRecord").on("click", ".delUser", function() {
//J'avais plein d'espace a droite en récupérent mon innerHTML //J'avais plein d'espace a droite en récupérent mon innerHTML
//https://stackoverflow.com/questions/24282158/removing-the-white-space-at-the-start-of-the-string //https://stackoverflow.com/questions/24282158/removing-the-white-space-at-the-start-of-the-string
function ltrim(str) { function ltrim(str) {
if(str == null) return str; if (str == null) return str;
return str.replace(/^\s+/g, ''); return str.replace(/^\s+/g, '');
} }