<?php
/**
 * Plugin Name:       Advanced Fields For Elementor Forms
 * Plugin URI:        https://demo.hulkplugins.com/elementor/advanced-fields-for-elementor-forms
 * Description:       This is an all-in-one addon for Elementor Pro forms. It adds many extra features and advanced fields to improve your form-building experience with the Elementor form widget.
 * Author:            HulkPlugins
 * Author URI:        https://hulkplugins.com
 * License:           GPL v2 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       advanced-fields-for-elementor-forms
 * Domain Path:       /languages
 * Version:           1.1.0
 * Requires PHP:      7.4
 * Requires at least: 6.2
 *
 * @package         HulkPlugins\ElementorPro\Forms\AdvancedFields
 *
              */

namespace HulkPlugins\ElementorPro\Forms\AdvancedFields;

use HulkPlugins\ElementorPro\Forms\AdvancedFields\Controllers\SettingsController;
use HulkPlugins\ElementorPro\Forms\AdvancedFields\Models\SettingsModel;
use HulkPlugins\ElementorPro\Forms\AdvancedFields\Services\SettingsService;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

if ( function_exists( '\HulkPlugins\ElementorPro\Forms\AdvancedFields\hulk_affef_fs' ) ) {
	hulk_affef_fs()->set_basename( false, __FILE__ );
} else {
	// Freemius
	require_once plugin_dir_path( __FILE__ ) . 'freemius.php';

	// Composer autoload
	require_once plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';

	// Constants
	require_once plugin_dir_path( __FILE__ ) . 'constants.php';

	// Init
	Base::getInstance()->init_hooks();
	$settingsModel = SettingsModel::getInstance();
	$settingsService = SettingsService::getInstance( $settingsModel );
	SettingsController::getInstance( $settingsService )->init_hooks();
}
