Obtenir la clé publique avec pseudo à l'inscription en AJAX V1

This commit is contained in:
poka 2019-11-04 01:35:08 +01:00
parent 9b4b682298
commit f773078413
2 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,24 @@
<?php
// if(isset($_POST['produit']) && isset($_POST['vendeur']) && isset($_POST['cle_pub']))
// {
// Get public key from pseudo
$parseUser = $_GET['vendeur'];
putenv("parseUser=$parseUser");
$silkPubKey = system('curl -s https:\/\/duniter-g1.p2p.legal/wot/members | grep -w -i -B 1 $parseUser | grep "pubkey" | awk -F \'"\' \'{ print $4 }\'');
if (empty($silkPubKey))
{
$silkPubKeyUser = shell_exec('curl -s https:\/\/duniter-g1.p2p.legal/wot/lookup/$parseUser | head | grep -i -w -A 3 "pubkey" | awk -F \'"\' \'{ print $4 }\' | awk \'NF > 0\'');
putenv("silkPubKeyUser=$silkPubKeyUser");
$silkUser = system('echo "$silkPubKeyUser" | tail -n2 | head -n1');
if ($silkUser == $parseUser)
{
$silkPubKey = system('echo "$silkPubKeyUser" | head -n1');
}
}
// echo $silkPubKey
// }
?>

View File

@ -6,6 +6,13 @@
{{ csrf_input() }}
{{ field('username', user.username, "Pseudo") }}
{{ field('pubkey', user.pubkey, "Clé publique") }}
<!--<input type="text" size="30" onkeyup="showResult(this.value)">-->
<input type="text" id="vendeur-input" />
<div id="livesearch"></div>
{{ field('firstname', user.firstname, "Prénom") }} {{ field('lastname', user.lastname, "Nom") }}
{{ field('email', user.email, "Email", {type: 'email'}) }}
{{ field('password', null, "Mot de passe", {type: 'password'}) }}
@ -14,4 +21,52 @@
<button class="btn btn-primary">S'inscrire</button>
</form>
</div>
<script>
function showResult(str) {
if (str.length==0) {
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
document.getElementById("livesearch").innerHTML=this.responseText;
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
}
xmlhttp.open("GET","/ajax/getG1PubKey.php?vendeur="+str,true);
xmlhttp.send();
}
</script>
<script>
var textInput = document.getElementById('vendeur-input');
var timeout = null;
textInput.onkeyup = function (e) {
clearTimeout(timeout);
// Make a new timeout set to go off in 800ms
timeout = setTimeout(function () {
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
document.getElementById("livesearch").innerHTML=this.responseText;
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
}
xmlhttp.open("GET","/ajax/getG1PubKey.php?vendeur="+textInput.value,true);
xmlhttp.send();
}, 1000);
};
</script>
{% endblock %}