Obtenir la clé publique avec pseudo à l'inscription en AJAX V2 + Voir la clé des vendeurs dans la liste des produits V1
This commit is contained in:
parent
f773078413
commit
0e8ea2628b
|
@ -1,24 +1,25 @@
|
||||||
<?php
|
<?php
|
||||||
// if(isset($_POST['produit']) && isset($_POST['vendeur']) && isset($_POST['cle_pub']))
|
if(isset($_GET['vendeur']))
|
||||||
// {
|
{
|
||||||
// Get public key from pseudo
|
// Get public key from pseudo
|
||||||
$parseUser = $_GET['vendeur'];
|
$parseUser = $_GET['vendeur'];
|
||||||
putenv("parseUser=$parseUser");
|
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 }\'');
|
$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))
|
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\'');
|
$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");
|
putenv("silkPubKeyUser=$silkPubKeyUser");
|
||||||
$silkUser = system('echo "$silkPubKeyUser" | tail -n2 | head -n1');
|
$silkUser = system('echo "$silkPubKeyUser" | tail -n2 | head -n1');
|
||||||
if ($silkUser == $parseUser)
|
if ($silkUser == $parseUser)
|
||||||
{
|
{
|
||||||
$silkPubKey = system('echo "$silkPubKeyUser" | head -n1');
|
$silkPubKey = system('echo "$silkPubKeyUser" | head -n1');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (empty($silkPubKey))
|
||||||
// echo $silkPubKey
|
{
|
||||||
|
echo "Aucune clé n'a été trouvé à partir de ce pseudo";
|
||||||
// }
|
}
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -19,7 +19,7 @@ $bdd = new \PDO("mysql:host=$host;dbname=$database_name", $username, $password);
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
$params["antenne_slug"] = $antenne_slug;
|
$params["antenne_slug"] = $antenne_slug;
|
||||||
$requete = "SELECT products.*, users.username
|
$requete = "SELECT products.*, users.username, users.pubkey
|
||||||
FROM products
|
FROM products
|
||||||
LEFT JOIN antennes
|
LEFT JOIN antennes
|
||||||
ON antennes.id = products.antenne_id
|
ON antennes.id = products.antenne_id
|
||||||
|
@ -41,7 +41,7 @@ $bdd = new \PDO("mysql:host=$host;dbname=$database_name", $username, $password);
|
||||||
$data .= '<td>'.$row['name'].'</td>';
|
$data .= '<td>'.$row['name'].'</td>';
|
||||||
$data .= '<td><img src="/uploads/products/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
|
$data .= '<td><img src="/uploads/products/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
|
||||||
$data .= '<td>'.$row['username'].'</td>';
|
$data .= '<td>'.$row['username'].'</td>';
|
||||||
$data .= '<td></td>';
|
$data .= '<td>'.$row['pubkey'].'</td>';
|
||||||
$data .= '<td>'.$row['quantite'].'</td>';
|
$data .= '<td>'.$row['quantite'].'</td>';
|
||||||
$data .= '<td>'.$row['prix'].'</td>';
|
$data .= '<td>'.$row['prix'].'</td>';
|
||||||
$data .= '<td>';
|
$data .= '<td>';
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// Add Record
|
// Add Record
|
||||||
|
|
||||||
function addRecord(antenne_slug, antenne_id, nom_connecte, id_user) {
|
function addRecord(antenne_slug, antenne_id, nom_connecte, id_user) {
|
||||||
|
|
||||||
var produit = $("#produit").val();
|
var produit = $("#produit").val();
|
||||||
|
|
|
@ -58,8 +58,9 @@ class SignupAction
|
||||||
}
|
}
|
||||||
$params = $request->getParsedBody();
|
$params = $request->getParsedBody();
|
||||||
$validator = (new Validator($params))
|
$validator = (new Validator($params))
|
||||||
->required('username', 'email', 'password', 'password_confirm', 'firstname', 'lastname', 'created_at')
|
->required('username', 'pubkey', 'email', 'password', 'password_confirm', 'created_at')
|
||||||
->length('username', 3)
|
->length('username', 3)
|
||||||
|
->length('pubkey', 44)
|
||||||
->length('firstname', 2)
|
->length('firstname', 2)
|
||||||
->length('lastname', 2)
|
->length('lastname', 2)
|
||||||
->email('email')
|
->email('email')
|
||||||
|
@ -70,6 +71,7 @@ class SignupAction
|
||||||
if ($validator->isValid()) {
|
if ($validator->isValid()) {
|
||||||
$userParams = [
|
$userParams = [
|
||||||
'username' => $params['username'],
|
'username' => $params['username'],
|
||||||
|
'pubkey' => $params['pubkey'],
|
||||||
'firstname'=> $params['firstname'],
|
'firstname'=> $params['firstname'],
|
||||||
'lastname'=> $params['lastname'],
|
'lastname'=> $params['lastname'],
|
||||||
'email' => $params['email'],
|
'email' => $params['email'],
|
||||||
|
@ -89,6 +91,7 @@ class SignupAction
|
||||||
'errors' => $errors,
|
'errors' => $errors,
|
||||||
'user' => [
|
'user' => [
|
||||||
'username' => $params['username'],
|
'username' => $params['username'],
|
||||||
|
'pubkey' => $params['pubkey'],
|
||||||
'email' => $params['email'],
|
'email' => $params['email'],
|
||||||
'firstname'=> $params['firstname'],
|
'firstname'=> $params['firstname'],
|
||||||
'lastname'=> $params['lastname'],
|
'lastname'=> $params['lastname'],
|
||||||
|
|
|
@ -1,18 +1,13 @@
|
||||||
{% extends 'layout.twig' %}
|
{% extends 'layout.twig' %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
|
<!-- <script type="text/javascript" src="../../../public/js/script.js"></script>-->
|
||||||
<div class="container" style="background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
|
<div class="container" style="background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
|
||||||
<form action="{{ path('account.signup') }}" method="post">
|
<form action="{{ path('account.signup') }}" method="post">
|
||||||
{{ csrf_input() }}
|
{{ csrf_input() }}
|
||||||
{{ field('username', user.username, "Pseudo") }}
|
{{ field('username', user.username, "Pseudo") }}
|
||||||
{{ field('pubkey', user.pubkey, "Clé publique") }}
|
<div id="livesearch-pubkey"></div>
|
||||||
|
<div id=cle_pub>{{ field('pubkey', user.pubkey, "Clé publique") }}</div>
|
||||||
|
|
||||||
<!--<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('firstname', user.firstname, "Prénom") }} {{ field('lastname', user.lastname, "Nom") }}
|
||||||
{{ field('email', user.email, "Email", {type: 'email'}) }}
|
{{ field('email', user.email, "Email", {type: 'email'}) }}
|
||||||
{{ field('password', null, "Mot de passe", {type: 'password'}) }}
|
{{ field('password', null, "Mot de passe", {type: 'password'}) }}
|
||||||
|
@ -24,49 +19,39 @@
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<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('username');
|
||||||
var textInput = document.getElementById('vendeur-input');
|
|
||||||
var timeout = null;
|
var timeout = null;
|
||||||
textInput.onkeyup = function (e) {
|
textInput.onkeyup = function (e) {
|
||||||
clearTimeout(timeout);
|
clearTimeout(timeout);
|
||||||
// Make a new timeout set to go off in 800ms
|
|
||||||
timeout = setTimeout(function () {
|
timeout = setTimeout(function () {
|
||||||
xmlhttp=new XMLHttpRequest();
|
xmlhttp=new XMLHttpRequest();
|
||||||
xmlhttp.onreadystatechange=function() {
|
xmlhttp.onreadystatechange=function() {
|
||||||
if (this.readyState==4 && this.status==200) {
|
if (this.readyState==4 && this.status==200) {
|
||||||
document.getElementById("livesearch").innerHTML=this.responseText;
|
pubkeyAnswer=this.responseText;
|
||||||
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
|
pubkeyIsNull = pubkeyAnswer.includes("Aucune clé n'a été trouvé à partir de ce pseudo");
|
||||||
}
|
// (pubkeyIsNull) ? sentenceAnswer=this.responseText : sentenceAnswer="j'ai trouvé ta clé publique Ḡ1 !";
|
||||||
}
|
// sentenceAnswer=this.responseText;
|
||||||
xmlhttp.open("GET","/ajax/getG1PubKey.php?vendeur="+textInput.value,true);
|
document.getElementById("livesearch-pubkey").innerHTML=pubkeyAnswer;
|
||||||
xmlhttp.send();
|
(pubkeyIsNull) ? document.getElementById("pubkey").value="" : document.getElementById("pubkey").value=pubkeyAnswer;
|
||||||
|
document.getElementById("livesearch-pubkey").style.border="1px solid #A5ACB2";
|
||||||
}, 1000);
|
(pubkeyIsNull) ? noPubKey("block") : noPubKey("hide");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xmlhttp.open("GET","/ajax/getG1PubKey.php?vendeur="+textInput.value,true);
|
||||||
|
xmlhttp.send();
|
||||||
|
}, 800);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function noPubKey(state) {
|
||||||
|
var textMbr = document.getElementById("cle_pub");
|
||||||
|
if (state == "hide"){
|
||||||
|
textMbr.style.display = "none";
|
||||||
|
} else {
|
||||||
|
textMbr.style.display = "block";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue