Current File : /home/tekstore/public_html/wp-content/plugins/dokan-lite/includes/Intelligence/Manager.php
<?php

namespace WeDevs\Dokan\Intelligence;

class Manager {

    public function active_engine(): string {
        return apply_filters(
            'dokan_ai_active_engine',
            dokan_get_option( 'dokan_ai_engine', 'dokan_ai', 'chatgpt' )
        );
    }

    /**
     * Get available AI engines
     *
     * @return array
     */
    public function get_engines(): array {
        return apply_filters(
            'dokan_ai_supported_engines', [
				'chatgpt' => __( 'OpenAI', 'dokan-lite' ),
				'gemini'  => __( 'Gemini', 'dokan-lite' ),
			]
        );
    }

    /**
     * Get activated AI engine
     *
     * @return bool
     */
    public function is_configured(): bool {
        $engine  = $this->active_engine();
        $engines = $this->get_engines();

        $available_engines = array_keys( $engines );
        // activated engine should be in available engines
        if ( ! in_array( $engine, $available_engines, true ) ) {
            return false;
        }

        // Activated api key
        $api_key = dokan_get_option( "dokan_ai_{$engine}_api_key", 'dokan_ai' );

        if ( empty( $api_key ) ) {
            return false;
        }
        return true;
    }
}