| Server IP : 193.146.211.90 / Your IP : 10.85.6.55 Web Server : Apache System : Linux wordpress-gti-69dcdb54f7-n4wdq 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64 User : 1001 ( 1001) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/wpforms-lite/src/Integrations/AI/Admin/Ajax/ |
Upload File : |
<?php
namespace WPForms\Integrations\AI\Admin\Ajax;
use WPForms\Integrations\AI\API\Choices as ChoicesAPI;
/**
* Choices class.
*
* @since 1.9.1
*/
class Choices extends Base {
/**
* API Choices instance.
*
* @since 1.9.1
*
* @var ChoicesAPI
*/
protected $api_choices;
/**
* Initialize.
*
* @since 1.9.1
*/
public function init() {
parent::init();
$this->api_choices = new ChoicesAPI();
$this->api_choices->init();
$this->hooks();
}
/**
* Register hooks.
*
* @since 1.9.1
*/
private function hooks() {
add_action( 'wp_ajax_wpforms_get_ai_choices', [ $this, 'get_choices' ] );
}
/**
* Get choices.
*
* @since 1.9.1
*/
public function get_choices() {
if ( ! $this->validate_nonce() ) {
wp_send_json_error(
[ 'error' => esc_html__( 'Your session expired. Please reload the builder.', 'wpforms-lite' ) ]
);
}
$prompt = $this->get_post_data( 'prompt' );
if ( $this->is_empty_prompt( $prompt ) ) {
wp_send_json_success( [ 'choices' => [] ] );
}
$session_id = $this->get_post_data( 'session_id' );
$choices = $this->api_choices->choices( $prompt, $session_id );
wp_send_json_success( $choices );
}
}