Uname: Linux premium72.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software: LiteSpeed
PHP version: 8.2.29 [ PHP INFO ] PHP os: Linux
Server Ip: 198.54.125.95
Your Ip: 216.73.216.164
User: matican (532) | Group: matican (531)
Safe Mode: OFF
Disable Function:
NONE

name : Captcha.php
<?php

/**
 * @copyright Copyright (c) 2009-2022 ThemeCatcher (https://www.themecatcher.net)
 */
class Quform_Captcha
{
    /**
     * @var Quform_Repository
     */
    protected $repository;

    /**
     * @var Quform_Form_Factory
     */
    protected $factory;

    /**
     * @param Quform_Repository $repository
     * @param Quform_Form_Factory $factory
     */
    public function __construct(Quform_Repository $repository, Quform_Form_Factory $factory)
    {
        $this->repository = $repository;
        $this->factory = $factory;
    }

    /**
     * Handle the Ajax request to regenerate the captcha image
     *
     * Sends the base64 encoded image data in JSON
     */
    public function regenerate()
    {
        $formId = (int) Quform::get($_GET, 'quform_form_id');
        $elementId = (int) Quform::get($_GET, 'quform_element_id');
        $uniqueId = Quform_Form::isValidUniqueId(Quform::get($_GET, 'quform_unique_id')) ? Quform::get($_GET, 'quform_unique_id') : null;

        if ( ! $formId || ! $elementId || ! $uniqueId) {
            wp_send_json(array('type' => 'error'));
        }

        $config = $this->repository->getConfig($formId);

        if ( ! is_array($config)) {
            wp_send_json(array('type' => 'error'));
        }

        $config['uniqueId'] = $uniqueId;

        $form = $this->factory->create($config);

        if ( ! ($form instanceof Quform_Form)) {
            wp_send_json(array('type' => 'error'));
        }

        $element = $form->getElementById($elementId);

        if ( ! $element instanceof Quform_Element_Captcha) {
            wp_send_json(array('type' => 'error'));
        }

        wp_send_json(array(
            'type' => 'success',
            'image' => $element->generateImageData()
        ));
    }
}
© 2025 XylotrechusZ