diff --git a/infos.xml b/infos.xml
index c08b1fe..4aa1f0b 100644
--- a/infos.xml
+++ b/infos.xml
@@ -6,5 +6,5 @@
12/12/2020
https://geekborg.blogspot.com
-
+ site
\ No newline at end of file
diff --git a/plxHCaptcha.php b/plxHCaptcha.php
index a035e83..86ba96b 100644
--- a/plxHCaptcha.php
+++ b/plxHCaptcha.php
@@ -1,4 +1,4 @@
-setConfigProfil(PROFIL_ADMIN, PROFIL_MANAGER);
# Ajouts des hooks
-
$this->addHook('plxShowCapchaQ', 'plxShowCapchaQ');
$this->addHook('plxShowCapchaR', 'plxShowCapchaR');
$this->addHook('plxMotorNewCommentaire', 'plxMotorNewCommentaire');
$this->addHook('ThemeEndHead', 'ThemeEndHead');
+
+ $_SESSION['capcha'] = '';
+ if (isset($_POST['h-captcha-response'])) { // Ce code est mis ici pour que ça fonctionne dans la page de contact
+ $this->json = $this->hCaptchaResponse();
+ $_SESSION['capcha'] = ($this->json['success'] ? '' : sha1(uniqid(rand(), true)));
+ }
+ }
+
+ private function hCaptchaResponse() {
+ $ch = curl_init("https://hcaptcha.com/siteverify");
+ curl_setopt($ch, CURLOPT_HEADER, false);
+ curl_setopt($ch, CURLOPT_POST, true);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, array('secret' => $this->getParam('Secretkey'), 'response' => $_POST['h-captcha-response']));
+ $json = json_decode(curl_exec($ch), true);
+ curl_close($ch);
+ return $json;
}
/**
- * Méthode qui affiche le capcha
+ * Méthode qui affiche le capcha
*
* @return stdio
- * @author Stéphane F. Abdellah B
+ * @author Stéphane F. Abdellah B
* */
- public function plxShowCapchaQ() { //'.PLX_PLUGINS.'
- $_SESSION['capcha'] = 'foobar';
+ public function plxShowCapchaQ() {
$_SESSION['capcha_token'] = sha1(uniqid(rand(), true));
- echo "\n"; // on cache le champ réponse du thème
- echo '
'; // élément hCaptcha
+ echo "\n"; // on cache le champ réponse du thème
+ echo ''; // élément hCaptcha
echo '';
echo ''; # pour interrompre la fonction CapchaQ de plxShow
}
/**
- * Méthode qui encode le capcha en sha1 pour comparaison
+ * Méthode qui encode le capcha en sha1 pour comparaison
*
* @return stdio
- * @author Stéphane F. Abdellah B
+ * @author Stéphane F. Abdellah B
* */
- public function plxMotorNewCommentaire() { // La méthode se lance quand le commentaire est posté
- $ch = curl_init("https://hcaptcha.com/siteverify");
- curl_setopt($ch, CURLOPT_HEADER, false);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_POSTFIELDS, array('secret' => $this->getParam('Secretkey'), 'response' => $_POST['h-captcha-response']));
- $json = json_decode(curl_exec($ch), true);
- curl_close($ch);
- if ($json['success']) {
- $_SESSION["capcha"] = sha1('foobar');
- } else {
- $_SESSION["capcha"] = sha1(uniqid(rand(), true));
+ public function plxMotorNewCommentaire() { // La méthode se lance quand le commentaire est posté
+ if (isset($_POST['h-captcha-response'])) {
+ if ($this->json['success']) {
+ $plxMotor = plxMotor::getInstance();
+ $_SESSION['capcha'] = ($plxMotor->mode == 'article' ? sha1('') : sha1(uniqid(rand(), true)));
+ } else {
+ $_SESSION['capcha'] = sha1(uniqid(rand(), true));
+ }
}
}
/**
- * Méthode qui retourne la réponse du capcha // obsolète
+ * Méthode qui retourne la réponse du capcha // obsolète
*
* @return stdio
- * @author Stéphane F.
+ * @author Stéphane F.
* */
public function plxShowCapchaR() {
echo ''; # pour interrompre la fonction CapchaR de plxShow
}
/**
- * Méthode qui integre le script de chez Hcaptcha en et
+ * Méthode qui integre le script de chez Hcaptcha en et
*
* @return stdio
- * @author Stéphane F. Abdellah B
+ * @author Stéphane F. Abdellah B
* */
public function ThemeEndHead() {
echo "\n\t\n";
}
}
-
?>
\ No newline at end of file