Server IP : 85.214.239.14 / Your IP : 3.145.112.33 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/wp-content/plugins/really-simple-ssl/settings/src/Settings/Captcha/ |
Upload File : |
import {useEffect} from "@wordpress/element"; import useFields from '../FieldsData'; import CaptchaData from "./CaptchaData"; /** * ReCaptcha functionality. * * @param {function} handleCaptchaResponse - The callback function to handle the ReCaptcha response. * @param {boolean} captchaVerified - Boolean value indicating whether the ReCaptcha is verified or not. * @return {JSX.Element} - The ReCaptcha component JSX. */ const ReCaptcha = ({ handleCaptchaResponse , captchaVerified}) => { const recaptchaCallback = (response) => { handleCaptchaResponse(response); }; const {reloadCaptcha, removeRecaptchaScript, setReloadCaptcha} = CaptchaData(); const {getFieldValue, updateField, saveFields} = useFields(); const sitekey = getFieldValue('recaptcha_site_key'); const secret = getFieldValue('recaptcha_secret_key'); const fully_enabled = getFieldValue('captcha_fully_enabled'); useEffect(() => { const script = document.createElement('script'); script.src = `https://www.google.com/recaptcha/api.js?render=explicit&onload=initRecaptcha`; script.async = true; script.defer = true; script.onload = () => { // We restore the recaptcha script if it was not removed. let recaptchaContainer = document.getElementById('recaptchaContainer'); if (typeof window.grecaptcha !== 'undefined') { window.initRecaptcha = window.initRecaptcha || (() => { window.grecaptcha && window.grecaptcha.render(recaptchaContainer, { sitekey: sitekey, callback: recaptchaCallback, }); }); } }; document.body.appendChild(script); }, [sitekey, handleCaptchaResponse]); useEffect(() => { // Move cleanup here. if (captchaVerified) { removeRecaptchaScript(); } }, [captchaVerified]); return ( <div className="rsssl-captcha" style={{display: 'flex', flexDirection: 'column', alignItems: 'center', marginBottom: '20px'}} > <div id='recaptchaContainer'></div> </div> ); }; export default ReCaptcha;