| Server IP : 54.36.91.62 / Your IP : 216.73.217.111 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/nimes/components/com_rsfeedback/ |
Upload File : |
<?php
/**
* @package RSFeedback!
* @copyright (C) 2010-2018 www.rsjoomla.com
* @license GPL, http://www.gnu.org/copyleft/gpl.html
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
use Joomla\CMS\MVC\Controller\BaseController;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Captcha\Captcha;
use Joomla\CMS\Factory;
class RSFeedbackController extends BaseController
{
public function checkCaptcha() {
$input = Factory::getApplication()->input;
$jform = $input->get('jform', array(), 'array');
$rec_challenge = $input->get('recaptcha_challenge_field','','string');
$rec_response = $input->get('recaptcha_response_field','','string');
$config = RSFeedbackHelper::getConfig();
$permissions = RSFeedbackHelper::getPermissions();
$check_permission = $input->get('permission','', 'string');
$valid_captcha = true;
$captchaEnabled = false;
if ($check_permission) {
switch ($check_permission) {
case 'captcha_feedback':
case 'captcha_flag':
case 'captcha_comment':
case 'captcha_category':
if ( isset($permissions[$check_permission]) && $permissions[$check_permission] == 1 )
$captchaEnabled = true;
break;
}
}
if ($captchaEnabled) {
switch($config->captcha) {
case 1:
// reCAPTCHA
require_once JPATH_SITE.'/components/com_rsfeedback/helpers/recaptcha/recaptchalib.php';
$privatekey = $config->rec_private;
$response = JReCAPTCHA::checkAnswer($privatekey, @$_SERVER['REMOTE_ADDR'], $rec_challenge, $rec_response);
if ($response === false || !$response->is_valid) {
$valid_captcha = false;
}
break;
case 2:
// reCAPTCHA V2.0
$privatekey = $config->rec_private;
$response = $input->get('g-recaptcha-response', '', 'string');
$ip = $input->server->get('REMOTE_ADDR', '', 'string');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify?secret='.$privatekey.'&response='.$response.'&remoteip='.$ip);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($ch);
if ($resp = json_decode($resp)) {
if (!$resp->success)
$valid_captcha = false;
}
break;
case 3:
case 4:
// Joomla! CAPTCHA Plugin
$recaptcha_plugin = $config->captcha == 3 ? 'recaptcha' : 'recaptcha_invisible';
if (PluginHelper::isEnabled('captcha', $recaptcha_plugin)) {
$captcha = Captcha::getInstance($recaptcha_plugin, array('namespace' => 'jform_captcha'));
try {
if (!$captcha->checkAnswer($rec_response)) {
$valid_captcha = false;
}
} catch (Exception $e) {
$valid_captcha = false;
}
}
break;
default:
// Built-in CAPTCHA
require_once JPATH_SITE . '/components/com_rsfeedback/helpers/captcha.php';
$captcha_image = new RSFeedbackCaptcha();
$valid = $captcha_image->check($jform['captcha']);
if (!$valid )
$valid_captcha = false;
break;
}
}
return $valid_captcha;
}
public function captcha() {
require_once JPATH_SITE . '/components/com_rsfeedback/helpers/captcha.php';
$config = RSFeedbackHelper::getConfig();
ob_end_clean();
$captcha = new RSFeedbackCaptcha();
$captcha->getImage(intval($config->captcha_chars));
exit();
}
}