Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/domains/alsaif.group/private_html/components/com_convertforms/controllers/ |
<?php
/**
* @package Convert Forms
* @version 4.3.3 Pro
*
* @author Tassos Marinos <info@tassos.gr>
* @link https://www.tassos.gr
* @copyright Copyright © 2023 Tassos All Rights Reserved
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
*/
defined('_JEXEC') or die('Restricted access');
use ConvertForms\Helper;
/**
* Convert Forms form submit controller
*
* @since 2.7.5
*/
class ConvertFormsControllerField extends JControllerForm
{
/**
* Joomla Application Object
*
* @var object
*/
protected $app;
/**
* The components parameters
*
* @var object
*/
protected $params;
/**
* Class Constructor
*
* @param string $key User API Key
*/
public function __construct()
{
$this->app = JFactory::getApplication();
$this->params = Helper::getComponentParams();
// Load component language file
NRFramework\Functions::loadLanguage('com_convertforms');
parent::__construct();
}
/**
* The main submit method
*
* @return void
*/
public function ajax()
{
// Prevent AJAX response pollution by disabling PHP reporting notices.
if (!$this->params->get('debug', false))
{
error_reporting(E_ALL & ~E_NOTICE);
}
$form_id = $this->app->input->get('form_id');
$field_key = $this->app->input->get('field_key');
$field_type = $this->app->input->get('field_type');
$this->checkCSRFTokenOrDie($field_key, $form_id);
$field_class = ConvertForms\FieldsHelper::getFieldClass($field_type);
if (!method_exists($field_class, 'onAjax'))
{
return;
}
$response = $field_class->onAjax($form_id, $field_key);
echo json_encode($response);
// Stop execution
jexit();
}
/**
* Check for a CSRF Token only if the respective option is enabled.
*
* @return void
*/
private function checkCSRFTokenOrDie($task, $form_id)
{
if (!$this->params->get('csrf_check', false))
{
return;
}
if (JSession::checkToken('request'))
{
return;
}
Helper::triggerError(JText::_('JINVALID_TOKEN'), $task, $form_id, $this->app->input->request->getArray());
jexit(JText::_('JINVALID_TOKEN'));
}
}