primo commit
This commit is contained in:
180
plugins/captcha/hcaptcha/hcaptcha.php
Normal file
180
plugins/captcha/hcaptcha/hcaptcha.php
Normal file
@ -0,0 +1,180 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Plugin
|
||||
* @subpackage Captcha
|
||||
*
|
||||
* @author Peter Martin
|
||||
* @copyright Copyright 2016-2024 Peter Martin. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later
|
||||
* @link https://data2site.com
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Application\CMSApplication;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Http\HttpFactory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Plugin\CMSPlugin;
|
||||
use Joomla\Utilities\IpHelper;
|
||||
|
||||
/**
|
||||
* hCaptcha Plugin
|
||||
* Using the https://www.hcaptcha.com/ CAPTCHA service
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class PlgCaptchaHcaptcha extends CMSPlugin
|
||||
{
|
||||
/**
|
||||
* Load the language file on instantiation.
|
||||
*
|
||||
* @var boolean
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $autoloadLanguage = true;
|
||||
|
||||
/**
|
||||
* Application object.
|
||||
*
|
||||
* @var CMSApplication
|
||||
* @since 4.0.0
|
||||
*/
|
||||
protected $app;
|
||||
|
||||
/**
|
||||
* Reports the privacy related capabilities for this plugin to site administrators.
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function onPrivacyCollectAdminCapabilities()
|
||||
{
|
||||
$this->loadLanguage();
|
||||
|
||||
return [
|
||||
Text::_('PLG_CAPTCHA_HCAPTCHA') => [
|
||||
Text::_('PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS'),
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialise the captcha
|
||||
*
|
||||
* @return boolean True on success, false otherwise
|
||||
*
|
||||
* @throws Exception
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function onInit()
|
||||
{
|
||||
// If there is no Public Key set, then this plugin is no use, so exit
|
||||
if ($this->params->get('publicKey', '') === '') {
|
||||
throw new \RuntimeException(Text::_('PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY'));
|
||||
}
|
||||
|
||||
// Load the JavaScript from hCaptcha
|
||||
$this->app->getDocument()->getWebAssetManager()
|
||||
->registerAndUseScript('plg_captcha_hcaptcha.api', 'https://hcaptcha.com/1/api.js', [], ['defer' => true]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the challenge HTML
|
||||
*
|
||||
* @param string $name The name of the field. Not Used.
|
||||
* @param string $id The id of the field.
|
||||
* @param string $class The class of the field.
|
||||
*
|
||||
* @return string The HTML to be embedded in the form.
|
||||
* @throws Exception
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function onDisplay($name = null, $id = 'hcaptcha', $class = '')
|
||||
{
|
||||
$dom = new \DOMDocument('1.0', 'UTF-8');
|
||||
$ele = $dom->createElement('div');
|
||||
$ele->setAttribute('id', $id);
|
||||
$ele->setAttribute('class', 'h-captcha required');
|
||||
$ele->setAttribute('data-sitekey', $this->params->get('publicKey', ''));
|
||||
$ele->setAttribute('data-theme', $this->params->get('theme', 'light'));
|
||||
$ele->setAttribute('data-size', $this->params->get('size', 'normal'));
|
||||
|
||||
$dom->appendChild($ele);
|
||||
|
||||
return $dom->saveHTML($ele);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls an HTTP POST function to verify if the user's guess was correct
|
||||
*
|
||||
* @param string $code Answer provided by user. Not needed for the Hcaptcha implementation
|
||||
*
|
||||
* @return boolean
|
||||
* @throws Exception
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function onCheckAnswer($code = null)
|
||||
{
|
||||
$input = Factory::getApplication()->input;
|
||||
$privateKey = $this->params->get('privateKey');
|
||||
$remoteIp = IpHelper::getIp();
|
||||
$hCaptchaResponse = $code ?? $input->get('h-captcha-response', '', 'cmd');
|
||||
|
||||
// Check for Private Key
|
||||
if (empty($privateKey)) {
|
||||
throw new \RuntimeException(Text::_('PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY'));
|
||||
}
|
||||
|
||||
// Check for IP
|
||||
if (empty($remoteIp)) {
|
||||
throw new \RuntimeException(Text::_('PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP'));
|
||||
}
|
||||
|
||||
if (empty($hCaptchaResponse)) {
|
||||
throw new \RuntimeException(Text::_('PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION'));
|
||||
}
|
||||
|
||||
return $this->getResponse($privateKey, $remoteIp, $hCaptchaResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the hCaptcha response.
|
||||
*
|
||||
* @param string $privateKey The private key for authentication.
|
||||
* @param string $remoteIp The remote IP of the visitor.
|
||||
* @param string $hCaptchaResponse The response received from Google.
|
||||
*
|
||||
* @return bool True if response is good | False if response is bad.
|
||||
*
|
||||
* @throws \RuntimeException
|
||||
* @since 1.4.0
|
||||
*/
|
||||
private function getResponse(string $privateKey, string $remoteIp, string $hCaptchaResponse)
|
||||
{
|
||||
try {
|
||||
$verifyResponse = HttpFactory::getHttp()->get(
|
||||
'https://hcaptcha.com/siteverify?secret=' . $privateKey .
|
||||
'&response=' . $hCaptchaResponse .
|
||||
'&remoteip=' . $remoteIp
|
||||
);
|
||||
} catch (RuntimeException $e) {
|
||||
throw new \RuntimeException(Text::_('PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS'));
|
||||
}
|
||||
|
||||
if ($verifyResponse->code !== 200 || $verifyResponse->body === '') {
|
||||
throw new \RuntimeException(Text::_('PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE'));
|
||||
}
|
||||
|
||||
$responseData = json_decode($verifyResponse->body);
|
||||
|
||||
if ($responseData->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
throw new \RuntimeException(Text::_('PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA'));
|
||||
}
|
||||
}
|
||||
75
plugins/captcha/hcaptcha/hcaptcha.xml
Normal file
75
plugins/captcha/hcaptcha/hcaptcha.xml
Normal file
@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension version="4.0" type="plugin" group="captcha" method="upgrade">
|
||||
<name>plg_captcha_hcaptcha</name>
|
||||
<version>1.4.3</version>
|
||||
<creationDate>January 2024</creationDate>
|
||||
<author>data2site</author>
|
||||
<authorEmail>support@data2site.com</authorEmail>
|
||||
<authorUrl>https://data2site.com</authorUrl>
|
||||
<copyright>Copyright (C) 2021-2024 by data2site.com. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later</license>
|
||||
<description>PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION</description>
|
||||
<files>
|
||||
<filename plugin="hcaptcha">hcaptcha.php</filename>
|
||||
<folder>language</folder>
|
||||
</files>
|
||||
<config>
|
||||
<fields name="params">
|
||||
<fieldset name="basic">
|
||||
|
||||
<field
|
||||
name="publicKey"
|
||||
type="text"
|
||||
label="PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY"
|
||||
description="PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC"
|
||||
default=""
|
||||
required="true"
|
||||
filter="string"
|
||||
size="100"
|
||||
class="input-xxlarge"
|
||||
/>
|
||||
|
||||
<field
|
||||
name="privateKey"
|
||||
type="text"
|
||||
label="PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY"
|
||||
description="PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC"
|
||||
default=""
|
||||
required="true"
|
||||
filter="string"
|
||||
size="100"
|
||||
class="input-xxlarge"
|
||||
/>
|
||||
|
||||
<field
|
||||
name="theme"
|
||||
type="list"
|
||||
label="PLG_CAPTCHA_HCAPTCHA_THEME"
|
||||
default="light"
|
||||
validate="options"
|
||||
>
|
||||
<option value="light">PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT</option>
|
||||
<option value="dark">PLG_CAPTCHA_HCAPTCHA_THEME_DARK</option>
|
||||
</field>
|
||||
|
||||
<field
|
||||
name="size"
|
||||
type="list"
|
||||
label="PLG_CAPTCHA_HCAPTCHA_SIZE"
|
||||
default="normal"
|
||||
validate="options"
|
||||
>
|
||||
<option value="normal">PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL</option>
|
||||
<option value="compact">PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT</option>
|
||||
</field>
|
||||
|
||||
</fieldset>
|
||||
</fields>
|
||||
</config>
|
||||
|
||||
<updateservers>
|
||||
<server type="extension" priority="1" name="plg_captcha_hcaptcha">https://data2site.com/updates/hcaptcha
|
||||
</server>
|
||||
</updateservers>
|
||||
|
||||
</extension>
|
||||
@ -0,0 +1,39 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Tobias Zulauf (www.jah-tz.de)
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Ein einfaches CAPTCHA-Plugin zum Schutz vor SPAM mit hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autor: Peter Martin, <a href='https://data2site.com/' target='_blank' rel='noopener noreferrer'>https://data2site.com/</a></li>
|
||||
<li>Dieses Plugin verwendet den CAPTCHA-Dienst von: <a href='https://www.hcaptcha.com/' target='_blank' rel='noopener noreferrer'>https://www.hcaptcha.com/</a></li>
|
||||
<li>Fehlerberichte & Ergänzungen: <a href='https://github.com/pe7er/hcaptcha' target='_blank' rel='noopener noreferrer'>https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Öffentlicher Schlüssel (Websiteschlüssel)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Der Öffentlicher Schlüssel (Websiteschlüssel) wird zur eindeutigen Identifizierung Ihrer Website verwendet."
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Privater Schlüssel (Geheimer Schlüssel)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Der private Schlüssel (geheimer Schlüssel) wird verwendet, um Ihr hCaptcha-Konto zu verifizieren"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Theme"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Hell"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Dunkel"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Größe"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Kompakt"
|
||||
|
||||
; Privacy
|
||||
PLG_RECAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Das hCaptcha-Plugin ist als Spamschutz in das hCaptcha-System von hCaptcha.com integriert. Im Rahmen dieses Dienstes wird die IP-Adresse des Nutzers, der die Captcha-Anfrage beantwortet, an hcaptcha.com übermittelt."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Verbindung zu den hcaptcha.com-Servern nicht möglich"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Öffentlicher Schlüssel (Websiteschlüssel) fehlt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Privater Schlüssel (Geheimer Schlüssey) fehlt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Fehler: Es konnte keine IP Adresse erkannt werden"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Bitte füllen Sie das CAPTCHA aus"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="Das CAPTCHA war falsch"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Ungültige Antwort von hcaptcha.com"
|
||||
@ -0,0 +1,13 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Tobias Zulauf (www.jah-tz.de)
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Ein einfaches CAPTCHA-Plugin zum Schutz vor SPAM mit hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autor: Peter Martin, <a href='https://data2site.com/' target='_blank' rel='noopener noreferrer'>https://data2site.com/</a></li>
|
||||
<li>Dieses Plugin verwendet den CAPTCHA-Dienst von: <a href='https://www.hcaptcha.com/' target='_blank' rel='noopener noreferrer'>https://www.hcaptcha.com/</a></li>
|
||||
<li>Fehlerberichte & Ergänzungen: <a href='https://github.com/pe7er/hcaptcha' target='_blank' rel='noopener noreferrer'>https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
@ -0,0 +1,34 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Tobias Zulauf (www.jah-tz.de)
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Ein einfaches CAPTCHA-Plugin zum Schutz vor SPAM mit hCaptcha.com</p><ul><li>Autor: Peter Martin, <a href='https://data2site.com/' target='_blank' rel='noopener noreferrer'>https://data2site.com/</a></li><li>Dieses Plugin verwendet den CAPTCHA-Dienst von: <a href='https://www.hcaptcha.com/' target='_blank' rel='noopener noreferrer'>https://www.hcaptcha.com/</a></li><li>Fehlerberichte & Ergänzungen: <a href='https://github.com/pe7er/hcaptcha' target='_blank' rel='noopener noreferrer'>https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Öffentlicher Schlüssel (Websiteschlüssel)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Der Öffentlicher Schlüssel (Websiteschlüssel) wird zur eindeutigen Identifizierung Ihrer Website verwendet."
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Privater Schlüssel (Geheimer Schlüssel)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Der private Schlüssel (geheimer Schlüssel) wird verwendet, um Ihr hCaptcha-Konto zu verifizieren"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Theme"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Hell"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Dunkel"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Größe"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Kompakt"
|
||||
|
||||
; Privacy
|
||||
PLG_RECAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Das hCaptcha-Plugin ist als Spamschutz in das hCaptcha-System von hCaptcha.com integriert. Im Rahmen dieses Dienstes wird die IP-Adresse des Nutzers, der die Captcha-Anfrage beantwortet, an hcaptcha.com übermittelt."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Verbindung zu den hcaptcha.com-Servern nicht möglich"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Öffentlicher Schlüssel (Websiteschlüssel) fehlt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Privater Schlüssel (Geheimer Schlüssey) fehlt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Fehler: Es konnte keine IP Adresse erkannt werden"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Bitte füllen Sie das CAPTCHA aus"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="Das CAPTCHA war falsch"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Ungültige Antwort von hcaptcha.com"
|
||||
@ -0,0 +1,8 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Tobias Zulauf (www.jah-tz.de)
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Ein einfaches CAPTCHA-Plugin zum Schutz vor SPAM mit hCaptcha.com</p><ul><li>Autor: Peter Martin, <a href='https://data2site.com/' target='_blank' rel='noopener noreferrer'>https://data2site.com/</a></li><li>Dieses Plugin verwendet den CAPTCHA-Dienst von: <a href='https://www.hcaptcha.com/' target='_blank' rel='noopener noreferrer'>https://www.hcaptcha.com/</a></li><li>Fehlerberichte & Ergänzungen: <a href='https://github.com/pe7er/hcaptcha' target='_blank' rel='noopener noreferrer'>https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,38 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>A simple CAPTCHA Plugin to protect against SPAM using hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Author: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>This plugin uses the CAPTCHA service of: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Bug reports & additions: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Site Keys are used to uniquely identify your site"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Secret key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="A secret Key is used to verify your hCaptcha account"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Theme"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Light"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Dark"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Size"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compact"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="The hCaptcha plugin integrates with hcaptcha's CAPTCHA system as a spam protection service. As part of this service, the IP address of the user answering the captcha challenge is transmitted to hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Unable to connect to the hcaptcha.com servers"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Public Key (Site Key) is missing"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Private Key (Secret Key) is missing"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Error: No IP address"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Please complete the CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="The CAPTCHA was incorrect"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Invalid response from hcaptcha.com"
|
||||
@ -0,0 +1,12 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>A simple CAPTCHA Plugin to protect against SPAM using hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Author: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>This plugin uses the CAPTCHA service of: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Bug reports & additions: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
@ -0,0 +1,33 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>A simple CAPTCHA Plugin to protect against SPAM using hCaptcha.com</p><ul><li>Author: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>This plugin uses the CAPTCHA service of: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Bug reports & additions: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Site Keys are used to uniquely identify your site"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Secret key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="A secret Key is used to verify your hCaptcha account"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Theme"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Light"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Dark"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Size"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compact"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="The hCaptcha plugin integrates with hcaptcha's CAPTCHA system as a spam protection service. As part of this service, the IP address of the user answering the captcha challenge is transmitted to hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Unable to connect to the hcaptcha.com servers"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Public Key (Site Key) is missing"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Private Key (Secret Key) is missing"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Error: No IP address"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Please complete the CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="The CAPTCHA was incorrect"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Invalid response from hcaptcha.com"
|
||||
@ -0,0 +1,7 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>A simple CAPTCHA Plugin to protect against SPAM using hCaptcha.com</p><ul><li>Author: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>This plugin uses the CAPTCHA service of: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Bug reports & additions: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,38 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un simple plugin CAPTCHA para prevenir el acceso de robots de SPAM ('spammers') usando hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autor: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Este plugin utiliza el servicio CAPTCHA de: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Informes de errores y adiciones: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Clave pública (Site Key)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Las claves del sitio se utilizan para identificar de manera única su sitio"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Clave privada (Secret key)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Una clave secreta se utiliza para verificar su cuenta hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Tema"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Claro"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Oscuro"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Tamaño"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compacto"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="El plugin hCaptcha se integra con el sistema CAPTCHA de hcaptcha como un servicio de protección contra el spam. Como parte de este servicio, la dirección IP del usuario que responde al reto del captcha es transmitida a hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="No se puede conectar a los servidores de hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Falta la llave pública (Site Key)"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="La llave privada (Secret Key) ha desaparecido"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Error: No hay dirección IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Por favor, complete el CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="El CAPTCHA era incorrecto"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Respuesta no válida de hcaptcha.com"
|
||||
@ -0,0 +1,12 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un simple plugin CAPTCHA para prevenir el acceso de robots de SPAM ('spammers') usando hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autor: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Este plugin utiliza el servicio CAPTCHA de: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Informes de errores y adiciones: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
@ -0,0 +1,33 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un simple plugin CAPTCHA para prevenir el acceso de robots de SPAM ('spammers') usando hCaptcha.com</p><ul><li>Autor: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Este plugin utiliza el servicio CAPTCHA de: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Informes de errores y adiciones: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Clave pública (Site Key)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Las claves del sitio se utilizan para identificar de manera única su sitio"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Clave privada (Secret key)"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Una clave secreta se utiliza para verificar su cuenta hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Tema"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Claro"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Oscuro"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Tamaño"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compacto"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="El plugin hCaptcha se integra con el sistema CAPTCHA de hcaptcha como un servicio de protección contra el spam. Como parte de este servicio, la dirección IP del usuario que responde al reto del captcha es transmitida a hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="No se puede conectar a los servidores de hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Falta la llave pública (Site Key)"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="La llave privada (Secret Key) ha desaparecido"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Error: No hay dirección IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Por favor, complete el CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="El CAPTCHA era incorrecto"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Respuesta no válida de hcaptcha.com"
|
||||
@ -0,0 +1,7 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un simple plugin CAPTCHA para prevenir el acceso de robots de SPAM ('spammers') usando hCaptcha.com</p><ul><li>Autor: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Este plugin utiliza el servicio CAPTCHA de: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Informes de errores y adiciones: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,39 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Yannick Berges
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un plugin simple de type CAPTCHA pour protéger votre site contre le SPAM utilise hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Auteur: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Ce plugin utilise le service de CAPTCHA: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Rapport de bug & Ajout: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Clé site"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Les clés de site sont utilisés uniquement pour idnetifié votre site"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Clé secrète"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Cette clé secrète sera utilisée pour vérifier votre compte hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Thème"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Clair"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Sombre"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Taille"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compact"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Le plugin hCaptcha s'intègre au système CAPTCHA de hcaptcha en tant que service de protection anti-spam. Dans le cadre de ce service, l'adresse IP de l'utilisateur répondant au challenge captcha est transmise à hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Impossible de se connecter aux serveurs hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="La clé publique (clé du site) est manquante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="La clé privée (clé secrète) est manquante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Erreur: pas d'adresse IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Veuillez compléter le CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="Le CAPTCHA est incorrect"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Réponse invalide de hcaptcha.com"
|
||||
@ -0,0 +1,13 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Yannick Berges
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un plugin simple de type CAPTCHA pour protéger votre site contre le SPAM utilise hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Auteur: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Ce plugin utilise le service de CAPTCHA : <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Rapport de bug & Ajout: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
@ -0,0 +1,34 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Yannick Berges
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un plugin simple de type CAPTCHA pour protéger votre site contre le SPAM utilise hCaptcha.com</p><ul><li>Auteur: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Ce plugin utilise le service de CAPTCHA: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Rapport de bug & Ajout: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Clé site"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Les clés de site sont utilisés uniquement pour idnetifié votre site"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Clé secrète"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Cette clé secrète sera utilisée pour vérifier votre compte hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Thème"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Clair"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Sombre"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Taille"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compact"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Le plugin hCaptcha s'intègre au système CAPTCHA de hcaptcha en tant que service de protection anti-spam. Dans le cadre de ce service, l'adresse IP de l'utilisateur répondant au challenge captcha est transmise à hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Impossible de se connecter aux serveurs hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="La clé publique (clé du site) est manquante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="La clé privée (clé secrète) est manquante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Erreur: pas d'adresse IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Veuillez compléter le CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="Le CAPTCHA est incorrect"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Réponse invalide de hcaptcha.com"
|
||||
@ -0,0 +1,8 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Yannick Berges
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un plugin simple de type CAPTCHA pour protéger votre site contre le SPAM utilise hCaptcha.com</p><ul><li>Auteur: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Ce plugin utilise le service de CAPTCHA : <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Rapport de bug & Ajout: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,38 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un semplice Plugin CAPTCHA per proteggersi dallo SPAM con hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autore: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Questo plugin usa il servizio CAPTCHA di: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Per rapporti di bug & integrazioni: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Le site key sono usate per identificare il tuo sito"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Secret key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Le secret key sono usate per verificare il tuo account hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Tema"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Chiaro"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Scuro"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Dimensione"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normale"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compatto"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Il plugin hCaptcha integra, assieme al sistema CAPTCHA hCaptcha, una protezione attiva dallo spam. Come parte del servizio, l'indirizzo IP dell'utente che risponde alla verifica captcha è trasmesso a hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Impossibile collegarsi ai server hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="La chiave pubblica (Site Key) è mancante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="La chiave privata (Secret Key) è mancante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Errore: Nessun indirizzo IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Per favore completa il CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="Il CAPTCHA era errato"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Risposta non valida da hcaptcha.com"
|
||||
@ -0,0 +1,12 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un semplice Plugin CAPTCHA per proteggersi dallo SPAM con hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autore: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Questo plugin usa il servizio CAPTCHA di: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Per rapporti di bug & integrazioni: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
@ -0,0 +1,33 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un semplice Plugin CAPTCHA per proteggersi dallo SPAM con hCaptcha.com</p><ul><li>Autore: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Questo plugin usa il servizio CAPTCHA di: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Per rapporti di bug & integrazioni: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Le site key sono usate per identificare il tuo sito"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Secret key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Le secret key sono usate per verificare il tuo account hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Tema"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Chiaro"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Scuro"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Dimensione"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normale"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compatto"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Il plugin hCaptcha integra, assieme al sistema CAPTCHA hCaptcha, una protezione attiva dallo spam. Come parte del servizio, l'indirizzo IP dell'utente che risponde alla verifica captcha è trasmesso a hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Impossibile collegarsi ai server hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="La chiave pubblica (Site Key) è mancante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="La chiave privata (Secret Key) è mancante"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Errore: Nessun indirizzo IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Per favore completa il CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="Il CAPTCHA era errato"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Risposta non valida da hcaptcha.com"
|
||||
@ -0,0 +1,7 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Un semplice Plugin CAPTCHA per proteggersi dallo SPAM con hCaptcha.com</p><ul><li>Autore: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Questo plugin usa il servizio CAPTCHA di: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Per rapporti di bug & integrazioni: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,38 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Een eenvoudige CAPTCHA Plugin ter bescherming tegen SPAM met behulp van hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Ontwikkelaar: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Deze plugin maakt gebruik van de CAPTCHA service van: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Meldt fouten & aanvullingen: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Een Site Key wordt gebruikt om uw site te identificeren"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Secret Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Een Secret Key wordt gebruikt om uw hCaptcha account te verifiëren"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Theme"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Licht"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Donker"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Grootte"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normaal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compact"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="De hCaptcha-plug-in integreert met het CAPTCHA-systeem van hcaptcha als een spambeschermingsservice. Als onderdeel van deze service wordt het IP-adres van de gebruiker die de captcha-vraag beantwoordt, verzonden naar hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Kan geen verbinding maken met de hcaptcha.com-servers"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="De publieke sleutel (Site Key) ontbreekt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="De prive sleutel (Secret Key) ontbreekt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Fout: Geen IP-adres"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Vul de CAPTCHA in"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="De CAPTCHA was onjuist"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Ongeldige response van hcaptcha.com"
|
||||
@ -0,0 +1,12 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Een eenvoudige CAPTCHA Plugin ter bescherming tegen SPAM met behulp van hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Ontwikkelaar: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Deze plugin maakt gebruik van de CAPTCHA service van: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Meldt fouten & aanvullingen: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
@ -0,0 +1,33 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Een eenvoudige CAPTCHA Plugin ter bescherming tegen SPAM met behulp van hCaptcha.com</p><ul><li>Ontwikkelaar: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Deze plugin maakt gebruik van de CAPTCHA service van: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Meldt fouten & aanvullingen: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Een Site Key wordt gebruikt om uw site te identificeren"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Secret Key"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Een Secret Key wordt gebruikt om uw hCaptcha account te verifiëren"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Theme"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Licht"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Donker"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Grootte"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normaal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Compact"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="De hCaptcha-plug-in integreert met het CAPTCHA-systeem van hcaptcha als een spambeschermingsservice. Als onderdeel van deze service wordt het IP-adres van de gebruiker die de captcha-vraag beantwoordt, verzonden naar hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Kan geen verbinding maken met de hcaptcha.com-servers"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="De publieke sleutel (Site Key) ontbreekt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="De prive sleutel (Secret Key) ontbreekt"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Fout: Geen IP-adres"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Vul de CAPTCHA in"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="De CAPTCHA was onjuist"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Ongeldige response van hcaptcha.com"
|
||||
@ -0,0 +1,7 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Een eenvoudige CAPTCHA Plugin ter bescherming tegen SPAM met behulp van hCaptcha.com</p><ul><li>Ontwikkelaar: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Deze plugin maakt gebruik van de CAPTCHA service van: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Meldt fouten & aanvullingen: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,39 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Mateusz Hajder
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Prosta wtyczka CAPTCHA do ochrony przed spamem przy użyciu hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autor: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Ta wtyczka korzysta z usługi CAPTCHA: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Raporty o błędach & nowościach: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Klucz publiczny"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Klucz publiczny służy do identyfikacji witryny"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Klucz prywatny"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Klucz prywatny służy do weryfikacji twojego konta hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Wygląd"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Jasny"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Ciemny"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Rozmiar"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Zwykły"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Kompaktowy"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Wtyczka hCaptcha integruje się z systemem CAPTCHA hcaptcha jako usługa ochrony przed spamem. W ramach tej usługi adres IP użytkownika biorącego udział w wyzwaniu captcha jest przesyłany do hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Nie można połączyć się z serwerami hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Brak Klucza Publicznego"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Brak Klucza Prywatnego"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Błąd: brak adresu IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Proszę wypełnić CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="CAPTCHA była niepoprawna"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Niepoprawna odpowiedź z hcaptcha.com"
|
||||
@ -0,0 +1,13 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Mateusz Hajder
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Prosta wtyczka CAPTCHA do ochrony przed spamem przy użyciu hCaptcha.com</p>
|
||||
<ul>
|
||||
<li>Autor: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Ta wtyczka korzysta z usługi CAPTCHA: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Raporty o błędach & uzupełnienia: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
@ -0,0 +1,34 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Mateusz Hajder
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Prosta wtyczka CAPTCHA do ochrony przed spamem przy użyciu hCaptcha.com</p><ul><li>Autor: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Ta wtyczka korzysta z usługi CAPTCHA: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Raporty o błędach & nowościach: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Klucz publiczny"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Klucz publiczny służy do identyfikacji witryny"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Klucz prywatny"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="Klucz prywatny służy do weryfikacji twojego konta hCaptcha"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Wygląd"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Jasny"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Ciemny"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Rozmiar"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Zwykły"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Kompaktowy"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="Wtyczka hCaptcha integruje się z systemem CAPTCHA hcaptcha jako usługa ochrony przed spamem. W ramach tej usługi adres IP użytkownika biorącego udział w wyzwaniu captcha jest przesyłany do hcaptcha.com."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Nie można połączyć się z serwerami hcaptcha.com"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Brak Klucza Publicznego"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Brak Klucza Prywatnego"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Błąd: brak adresu IP"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Proszę wypełnić CAPTCHA"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="CAPTCHA była niepoprawna"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Niepoprawna odpowiedź z hcaptcha.com"
|
||||
@ -0,0 +1,8 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; Copyright (C) Translation 2020 Mateusz Hajder
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>Prosta wtyczka CAPTCHA do ochrony przed spamem przy użyciu hCaptcha.com</p><ul><li>Autor: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Ta wtyczka korzysta z usługi CAPTCHA: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Raporty o błędach & uzupełnienia: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,34 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>HCaptcha.com kullanarak SPAM'a karşı koruma sağlayan basit bir CAPTCHA eklentisidir. Türkçe Çeviri: <a href="https://durualan.com" target="_blank"><b>Mehmet TAŞ</b></a></p><ul><li>Geliştiren: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Bu eklenti şu CAPTCHA hizmetini kullanıyor: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Hata Raporları ve Eklemeler: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Anahtarı"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Site anahtarları, sitenizi benzersiz şekilde tanımlamak için kullanılır."
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Gizli Anahtar"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="hCaptcha hesabınızı doğrulamak için gizli bir anahtar kullanılır."
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Tema"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Açık"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Koyu"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Boyut"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_DESC="Kullanmak istediğiniz şablonun boyut türünü seçin."
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Sıkışmış"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="hCaptcha eklentisi, spam koruma hizmeti olarak hcaptcha'nın CAPTCHA sistemiyle tümleşiktir. Bu hizmetin bir parçası olarak, captcha sınamasını yanıtlayan kullanıcının IP adresi hcaptcha.com'a iletilir."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Hcaptcha.com sunucularına bağlanılamıyor"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Genel Anahtar (Site Anahtarı) eksik"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Özel Anahtar (Gizli Anahtar) eksik"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Hata: IP adresi yok"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Lütfen CAPTCHA'yı tamamlayın"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="CAPTCHA geçersizdi"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Hcaptcha.com sitesinden geçersiz yanıt"
|
||||
@ -0,0 +1,7 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>HCaptcha.com kullanarak SPAM'a karşı koruma sağlayan basit bir CAPTCHA eklentisidir. Türkçe Çeviri: <a href="https://durualan.com" target="_blank"><b>Mehmet TAŞ</b></a></p><ul><li>Geliştiren: Peter Martin, <a href=\"https://data2site.com/\" target=\"_blank\">https://data2site.com/</a></li><li>Bu eklenti şu CAPTCHA hizmetini kullanıyor: <a href=\"https://www.hcaptcha.com/\" target=\"_blank\">https://www.hcaptcha.com/</a></li><li>Hata Raporları ve Eklemeler: <a href=\"https://github.com/pe7er/hcaptcha\" target=\"_blank\">https://github.com/pe7er/hcaptcha</a></li></ul>"
|
||||
@ -0,0 +1,39 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin, https://db8.nl. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>HCaptcha.com kullanarak SPAM'a karşı koruma sağlayan basit bir CAPTCHA eklentisidir. Türkçe Çeviri: <a href="https://durualan.com" target="_blank"><b>Mehmet TAŞ</b></a></p>
|
||||
<ul>
|
||||
<li>Geliştiren: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Bu eklenti şu CAPTCHA hizmetini kullanıyor: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Hata Raporları ve Eklemeler: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
|
||||
; Params
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY="Site Anahtarı"
|
||||
PLG_CAPTCHA_HCAPTCHA_PUBLIC_KEY_DESC="Site anahtarları, sitenizi benzersiz şekilde tanımlamak için kullanılır."
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY="Gizli Anahtar"
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVATE_KEY_DESC="hCaptcha hesabınızı doğrulamak için gizli bir anahtar kullanılır."
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME="Tema"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_LIGHT="Açık"
|
||||
PLG_CAPTCHA_HCAPTCHA_THEME_DARK="Koyu"
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE="Boyut"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_DESC="Kullanmak istediğiniz şablonun boyut türünü seçin."
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_NORMAL="Normal"
|
||||
PLG_CAPTCHA_HCAPTCHA_SIZE_COMPACT="Sıkışmış"
|
||||
|
||||
; Privacy
|
||||
PLG_CAPTCHA_HCAPTCHA_PRIVACY_CAPABILITY_IP_ADDRESS="hCaptcha eklentisi, spam koruma hizmeti olarak hcaptcha'nın CAPTCHA sistemiyle tümleşiktir. Bu hizmetin bir parçası olarak, captcha sınamasını yanıtlayan kullanıcının IP adresi hcaptcha.com'a iletilir."
|
||||
|
||||
; Error messages
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_CANT_CONNECT_TO_HCAPTCHA_SERVERS="Hcaptcha.com sunucularına bağlanılamıyor"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PUBLIC_KEY="Genel Anahtar (Site Anahtarı) eksik"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_PRIVATE_KEY="Özel Anahtar (Gizli Anahtar) eksik"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_NO_IP="Hata: IP adresi yok"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_EMPTY_SOLUTION="Lütfen CAPTCHA'yı tamamlayın"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INCORRECT_CAPTCHA="CAPTCHA geçersizdi"
|
||||
PLG_CAPTCHA_HCAPTCHA_ERROR_INVALID_RESPONSE="Hcaptcha.com sitesinden geçersiz yanıt"
|
||||
@ -0,0 +1,12 @@
|
||||
; hCaptcha - CAPTCHA Plugin
|
||||
; Copyright (C) Copyright 2020 - 2022 Peter Martin. All rights reserved.
|
||||
; License GNU General Public License version 2 or later; see LICENSE.txt
|
||||
; Note : All ini files need to be saved as UTF-8
|
||||
|
||||
PLG_CAPTCHA_HCAPTCHA="CAPTCHA - hCaptcha"
|
||||
PLG_CAPTCHA_HCAPTCHA_XML_DESCRIPTION="<p>HCaptcha.com kullanarak SPAM'a karşı koruma sağlayan basit bir CAPTCHA eklentisidir. Türkçe Çeviri: <a href="https://durualan.com" target="_blank"><b>Mehmet TAŞ</b></a></p>
|
||||
<ul>
|
||||
<li>Geliştiren: Peter Martin, <a href="_QQ_"https://data2site.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://data2site.com/</a></li>
|
||||
<li>Bu eklenti şu CAPTCHA hizmetini kullanıyor: <a href="_QQ_"https://www.hcaptcha.com/"_QQ_" target="_QQ_"_blank"_QQ_">https://www.hcaptcha.com/</a></li>
|
||||
<li>Hata Raporları ve Eklemeler: <a href="_QQ_"https://github.com/pe7er/hcaptcha"_QQ_" target="_QQ_"_blank"_QQ_">https://github.com/pe7er/hcaptcha</a></li>
|
||||
</ul>"
|
||||
1
plugins/captcha/index.html
Normal file
1
plugins/captcha/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
99
plugins/captcha/recaptcha_invisible/recaptcha_invisible.xml
Normal file
99
plugins/captcha/recaptcha_invisible/recaptcha_invisible.xml
Normal file
@ -0,0 +1,99 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<extension type="plugin" group="captcha" method="upgrade">
|
||||
<name>plg_captcha_recaptcha_invisible</name>
|
||||
<version>3.8</version>
|
||||
<creationDate>2017-11</creationDate>
|
||||
<author>Joomla! Project</author>
|
||||
<authorEmail>admin@joomla.org</authorEmail>
|
||||
<authorUrl>www.joomla.org</authorUrl>
|
||||
<copyright>(C) 2017 Open Source Matters, Inc.</copyright>
|
||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||
<description>PLG_CAPTCHA_RECAPTCHA_INVISIBLE_XML_DESCRIPTION</description>
|
||||
<namespace path="src">Joomla\Plugin\Captcha\InvisibleReCaptcha</namespace>
|
||||
<files>
|
||||
<folder plugin="recaptcha_invisible">services</folder>
|
||||
<folder>src</folder>
|
||||
</files>
|
||||
<languages>
|
||||
<language tag="en-GB">language/en-GB/plg_captcha_recaptcha_invisible.ini</language>
|
||||
<language tag="en-GB">language/en-GB/plg_captcha_recaptcha_invisible.sys.ini</language>
|
||||
</languages>
|
||||
<config>
|
||||
<fields name="params">
|
||||
<fieldset name="basic">
|
||||
|
||||
<field
|
||||
name="public_key"
|
||||
type="text"
|
||||
label="PLG_RECAPTCHA_INVISIBLE_PUBLIC_KEY_LABEL"
|
||||
description="PLG_RECAPTCHA_INVISIBLE_PUBLIC_KEY_DESC"
|
||||
default=""
|
||||
required="true"
|
||||
filter="string"
|
||||
class="input-xxlarge"
|
||||
/>
|
||||
|
||||
<field
|
||||
name="private_key"
|
||||
type="text"
|
||||
label="PLG_RECAPTCHA_INVISIBLE_PRIVATE_KEY_LABEL"
|
||||
description="PLG_RECAPTCHA_INVISIBLE_PRIVATE_KEY_DESC"
|
||||
default=""
|
||||
required="true"
|
||||
filter="string"
|
||||
class="input-xxlarge"
|
||||
/>
|
||||
|
||||
<field
|
||||
name="badge"
|
||||
type="list"
|
||||
label="PLG_RECAPTCHA_INVISIBLE_BADGE_LABEL"
|
||||
description="PLG_RECAPTCHA_INVISIBLE_BADGE_DESC"
|
||||
default="bottomright"
|
||||
validate="options"
|
||||
>
|
||||
<option value="bottomright">PLG_RECAPTCHA_INVISIBLE_BADGE_BOTTOMRIGHT</option>
|
||||
<option value="bottomleft">PLG_RECAPTCHA_INVISIBLE_BADGE_BOTTOMLEFT</option>
|
||||
<option value="inline">PLG_RECAPTCHA_INVISIBLE_BADGE_INLINE</option>
|
||||
</field>
|
||||
|
||||
<field
|
||||
name="tabindex"
|
||||
type="number"
|
||||
label="PLG_RECAPTCHA_INVISIBLE_TABINDEX_LABEL"
|
||||
description="PLG_RECAPTCHA_INVISIBLE_TABINDEX_DESC"
|
||||
default="0"
|
||||
min="0"
|
||||
filter="integer"
|
||||
/>
|
||||
|
||||
<field
|
||||
name="callback"
|
||||
type="text"
|
||||
label="PLG_RECAPTCHA_INVISIBLE_CALLBACK_LABEL"
|
||||
description="PLG_RECAPTCHA_INVISIBLE_CALLBACK_DESC"
|
||||
default=""
|
||||
filter="string"
|
||||
/>
|
||||
|
||||
<field
|
||||
name="expired_callback"
|
||||
type="text"
|
||||
label="PLG_RECAPTCHA_INVISIBLE_EXPIRED_CALLBACK_LABEL"
|
||||
description="PLG_RECAPTCHA_INVISIBLE_EXPIRED_CALLBACK_DESC"
|
||||
default=""
|
||||
filter="string"
|
||||
/>
|
||||
|
||||
<field
|
||||
name="error_callback"
|
||||
type="text"
|
||||
label="PLG_RECAPTCHA_INVISIBLE_ERROR_CALLBACK_LABEL"
|
||||
description="PLG_RECAPTCHA_INVISIBLE_ERROR_CALLBACK_DESC"
|
||||
default=""
|
||||
filter="string"
|
||||
/>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</config>
|
||||
</extension>
|
||||
48
plugins/captcha/recaptcha_invisible/services/provider.php
Normal file
48
plugins/captcha/recaptcha_invisible/services/provider.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Plugin
|
||||
* @subpackage Captcha.invisible_recaptcha
|
||||
*
|
||||
* @copyright (C) 2022 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Captcha\Google\HttpBridgePostRequestMethod;
|
||||
use Joomla\CMS\Extension\PluginInterface;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\DI\Container;
|
||||
use Joomla\DI\ServiceProviderInterface;
|
||||
use Joomla\Event\DispatcherInterface;
|
||||
use Joomla\Plugin\Captcha\InvisibleReCaptcha\Extension\InvisibleReCaptcha;
|
||||
|
||||
return new class () implements ServiceProviderInterface {
|
||||
/**
|
||||
* Registers the service provider with a DI container.
|
||||
*
|
||||
* @param Container $container The DI container.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 4.3.0
|
||||
*/
|
||||
public function register(Container $container)
|
||||
{
|
||||
$container->set(
|
||||
PluginInterface::class,
|
||||
function (Container $container) {
|
||||
$plugin = new InvisibleReCaptcha(
|
||||
$container->get(DispatcherInterface::class),
|
||||
(array) PluginHelper::getPlugin('captcha', 'recaptcha_invisible'),
|
||||
new HttpBridgePostRequestMethod()
|
||||
);
|
||||
$plugin->setApplication(Factory::getApplication());
|
||||
|
||||
return $plugin;
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
@ -0,0 +1,227 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Plugin
|
||||
* @subpackage Captcha.invisible_recaptcha
|
||||
*
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace Joomla\Plugin\Captcha\InvisibleReCaptcha\Extension;
|
||||
|
||||
use Joomla\CMS\Application\CMSWebApplicationInterface;
|
||||
use Joomla\CMS\Form\Field\CaptchaField;
|
||||
use Joomla\CMS\Plugin\CMSPlugin;
|
||||
use Joomla\Event\DispatcherInterface;
|
||||
use Joomla\Utilities\IpHelper;
|
||||
use ReCaptcha\ReCaptcha;
|
||||
use ReCaptcha\RequestMethod;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
\defined('_JEXEC') or die;
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
|
||||
/**
|
||||
* Invisible reCAPTCHA Plugin.
|
||||
*
|
||||
* @since 3.9.0
|
||||
*/
|
||||
final class InvisibleReCaptcha extends CMSPlugin
|
||||
{
|
||||
/**
|
||||
* Load the language file on instantiation.
|
||||
*
|
||||
* @var boolean
|
||||
* @since 3.9.0
|
||||
*/
|
||||
protected $autoloadLanguage = true;
|
||||
|
||||
/**
|
||||
* The http request method
|
||||
*
|
||||
* @var RequestMethod
|
||||
* @since 4.3.0
|
||||
*/
|
||||
private $requestMethod;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param DispatcherInterface $dispatcher The dispatcher
|
||||
* @param array $config An optional associative array of configuration settings
|
||||
* @param RequestMethod $requestMethod The http request method
|
||||
*
|
||||
* @since 4.3.0
|
||||
*/
|
||||
public function __construct(DispatcherInterface $dispatcher, array $config, RequestMethod $requestMethod)
|
||||
{
|
||||
parent::__construct($dispatcher, $config);
|
||||
|
||||
$this->requestMethod = $requestMethod;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reports the privacy related capabilities for this plugin to site administrators.
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @since 3.9.0
|
||||
*/
|
||||
public function onPrivacyCollectAdminCapabilities()
|
||||
{
|
||||
$this->loadLanguage();
|
||||
|
||||
return [
|
||||
$this->getApplication()->getLanguage()->_('PLG_CAPTCHA_RECAPTCHA_INVISIBLE') => [
|
||||
$this->getApplication()->getLanguage()->_('PLG_RECAPTCHA_INVISIBLE_PRIVACY_CAPABILITY_IP_ADDRESS'),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the captcha
|
||||
*
|
||||
* @param string $id The id of the field.
|
||||
*
|
||||
* @return boolean True on success, false otherwise
|
||||
*
|
||||
* @since 3.9.0
|
||||
* @throws \RuntimeException
|
||||
*/
|
||||
public function onInit($id = 'dynamic_recaptcha_invisible_1')
|
||||
{
|
||||
$app = $this->getApplication();
|
||||
|
||||
if (!$app instanceof CMSWebApplicationInterface) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$pubkey = $this->params->get('public_key', '');
|
||||
|
||||
if ($pubkey === '') {
|
||||
throw new \RuntimeException($app->getLanguage()->_('PLG_RECAPTCHA_INVISIBLE_ERROR_NO_PUBLIC_KEY'));
|
||||
}
|
||||
|
||||
$apiSrc = 'https://www.google.com/recaptcha/api.js?onload=JoomlainitReCaptchaInvisible&render=explicit&hl='
|
||||
. $app->getLanguage()->getTag();
|
||||
|
||||
// Load assets, the callback should be first
|
||||
$app->getDocument()->getWebAssetManager()
|
||||
->registerAndUseScript('plg_captcha_recaptchainvisible', 'plg_captcha_recaptcha_invisible/recaptcha.min.js', [], ['defer' => true])
|
||||
->registerAndUseScript('plg_captcha_recaptchainvisible.api', $apiSrc, [], ['defer' => true], ['plg_captcha_recaptchainvisible'])
|
||||
->registerAndUseStyle('plg_captcha_recaptchainvisible', 'plg_captcha_recaptcha_invisible/recaptcha_invisible.css');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the challenge HTML
|
||||
*
|
||||
* @param string $name The name of the field. Not Used.
|
||||
* @param string $id The id of the field.
|
||||
* @param string $class The class of the field.
|
||||
*
|
||||
* @return string The HTML to be embedded in the form.
|
||||
*
|
||||
* @since 3.9.0
|
||||
*/
|
||||
public function onDisplay($name = null, $id = 'dynamic_recaptcha_invisible_1', $class = '')
|
||||
{
|
||||
$dom = new \DOMDocument('1.0', 'UTF-8');
|
||||
$ele = $dom->createElement('div');
|
||||
$ele->setAttribute('id', $id);
|
||||
$ele->setAttribute('class', ((trim($class) == '') ? 'g-recaptcha' : ($class . ' g-recaptcha')));
|
||||
$ele->setAttribute('data-sitekey', $this->params->get('public_key', ''));
|
||||
$ele->setAttribute('data-badge', $this->params->get('badge', 'bottomright'));
|
||||
$ele->setAttribute('data-size', 'invisible');
|
||||
$ele->setAttribute('data-tabindex', $this->params->get('tabindex', '0'));
|
||||
$ele->setAttribute('data-callback', $this->params->get('callback', ''));
|
||||
$ele->setAttribute('data-expired-callback', $this->params->get('expired_callback', ''));
|
||||
$ele->setAttribute('data-error-callback', $this->params->get('error_callback', ''));
|
||||
$dom->appendChild($ele);
|
||||
|
||||
return $dom->saveHTML($ele);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls an HTTP POST function to verify if the user's guess was correct
|
||||
*
|
||||
* @param string $code Answer provided by user. Not needed for the Recaptcha implementation
|
||||
*
|
||||
* @return boolean True if the answer is correct, false otherwise
|
||||
*
|
||||
* @since 3.9.0
|
||||
* @throws \RuntimeException
|
||||
*/
|
||||
public function onCheckAnswer($code = null)
|
||||
{
|
||||
$input = $this->getApplication()->getInput();
|
||||
$privatekey = $this->params->get('private_key');
|
||||
$remoteip = IpHelper::getIp();
|
||||
|
||||
$response = $input->get('g-recaptcha-response', '', 'string');
|
||||
|
||||
// Check for Private Key
|
||||
if (empty($privatekey)) {
|
||||
throw new \RuntimeException($this->getApplication()->getLanguage()->_('PLG_RECAPTCHA_INVISIBLE_ERROR_NO_PRIVATE_KEY'));
|
||||
}
|
||||
|
||||
// Check for IP
|
||||
if (empty($remoteip)) {
|
||||
throw new \RuntimeException($this->getApplication()->getLanguage()->_('PLG_RECAPTCHA_INVISIBLE_ERROR_NO_IP'));
|
||||
}
|
||||
|
||||
// Discard spam submissions
|
||||
if (trim($response) == '') {
|
||||
throw new \RuntimeException($this->getApplication()->getLanguage()->_('PLG_RECAPTCHA_INVISIBLE_ERROR_EMPTY_SOLUTION'));
|
||||
}
|
||||
|
||||
return $this->getResponse($privatekey, $remoteip, $response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to react on the setup of a captcha field. Gives the possibility
|
||||
* to change the field and/or the XML element for the field.
|
||||
*
|
||||
* @param CaptchaField $field Captcha field instance
|
||||
* @param \SimpleXMLElement $element XML form definition
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 3.9.0
|
||||
*/
|
||||
public function onSetupField(CaptchaField $field, \SimpleXMLElement $element)
|
||||
{
|
||||
// Hide the label for the invisible recaptcha type
|
||||
$element['hiddenLabel'] = 'true';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the reCaptcha response.
|
||||
*
|
||||
* @param string $privatekey The private key for authentication.
|
||||
* @param string $remoteip The remote IP of the visitor.
|
||||
* @param string $response The response received from Google.
|
||||
*
|
||||
* @return boolean True if response is good | False if response is bad.
|
||||
*
|
||||
* @since 3.9.0
|
||||
* @throws \RuntimeException
|
||||
*/
|
||||
private function getResponse($privatekey, $remoteip, $response)
|
||||
{
|
||||
$reCaptcha = new ReCaptcha($privatekey, $this->requestMethod);
|
||||
$response = $reCaptcha->verify($response, $remoteip);
|
||||
|
||||
if (!$response->isSuccess()) {
|
||||
foreach ($response->getErrorCodes() as $error) {
|
||||
throw new \RuntimeException($error);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user