Current Path: > home > codekrsu > > ameliagraphics.com > wp-content > plugins > > forminator > library
Operation : Linux premium131.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 : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
abstracts | Directory | - | - | |
addon | Directory | - | - | |
calculator | Directory | - | - | |
external | Directory | - | - | |
field-autofill-providers | Directory | - | - | |
fields | Directory | - | - | |
gateways | Directory | - | - | |
helpers | Directory | - | - | |
lib | Directory | - | - | |
mixpanel | Directory | - | - | |
model | Directory | - | - | |
modules | Directory | - | - | |
protection | Directory | - | - | |
render | Directory | - | - | |
class-api.php | File | 55565 bytes | March 03 2025 16:08:12. | |
class-autofill-loader.php | File | 6973 bytes | September 02 2024 15:32:28. | |
class-captcha-verification.php | File | 3739 bytes | April 14 2025 14:55:34. | |
class-core.php | File | 24198 bytes | May 19 2025 19:14:58. | |
class-database-tables.php | File | 5302 bytes | September 02 2024 15:32:28. | |
class-export-result.php | File | 2628 bytes | September 02 2024 15:32:28. | |
class-export.php | File | 62263 bytes | March 17 2025 17:29:02. | |
class-form-fields.php | File | 5115 bytes | February 03 2025 17:11:02. | |
class-forminator-hub-connector.php | File | 9488 bytes | July 14 2025 15:42:34. | |
class-geo.php | File | 4487 bytes | September 02 2024 15:32:28. | |
class-integration-loader.php | File | 19792 bytes | February 03 2025 17:11:02. | |
class-loader.php | File | 2597 bytes | February 03 2025 17:11:02. | |
class-migration.php | File | 29191 bytes | December 24 2024 20:31:58. | |
class-modules.php | File | 2028 bytes | September 02 2024 15:32:28. | |
class-page-cache.php | File | 8242 bytes | September 02 2024 15:32:28. | |
class-protection.php | File | 1059 bytes | September 02 2024 15:32:28. | |
class-reports.php | File | 7366 bytes | February 03 2025 17:11:02. | |
class-shortcode-generator.php | File | 16820 bytes | November 25 2024 21:22:22. | |
class-template-api.php | File | 7716 bytes | March 03 2025 16:08:12. | |
class-upgrade.php | File | 1535 bytes | February 03 2025 17:11:02. |
<?php /** * Forminator Autofill Loader * * @package Forminator */ if ( ! defined( 'ABSPATH' ) ) { die(); } /** * Class Forminator_Autofill_Loader * * @since 1.0.5 */ class Forminator_Autofill_Loader { /** * Instance * * @since 1.0.5 * @var self|null */ private static $_instance = null; /** * SEMAPHORE of inited_providers, so it wont inited more than once per app load * * @since 1.0.5 * @var array */ private static $inited_providers = array(); /** * In case we want disable addons that have bad pattern or behavior or still in pipeline * * @since 1.0.5 * @example {['BANNED_PROVIDER_SLUG','BANNED_PROVIDER_SLUG_2']} * * @var array */ private $_banned_providers = array( 'wp_post', ); /** * Autofill Providers Container * * @since 1.0.5 * @example array(`slug` => INSTANCE); * @var Forminator_Autofill_Provider_Abstract[] */ private $autofill_providers = array(); /** * Autofill Providers Container * * @since 1.0.5 * @example array(`slug` => PROVIDER_NAME); * @var array */ private $autofill_providers_groups = array(); /** * Autofill Providers Flatten Container * * @since 1.0.5 * @example array( * `slug`.`attribute` => 'translated string' * ) * @var array */ private $autofill_providers_names = array(); /** * Forminator_Autofill_Loader instance * * @return Forminator_Autofill_Loader|null */ public static function get_instance() { if ( is_null( self::$_instance ) ) { self::$_instance = new self(); } return self::$_instance; } /** * Register Autofill Provider Class * * @since 1.0.5 * * @param string $class_name Class name. * * @return bool */ final public function register( $class_name ) { if ( ! class_exists( $class_name ) ) { return false; } if ( ! is_callable( array( $class_name, 'get_instance' ) ) ) { return false; } $autofill_instance = call_user_func( array( $class_name, 'get_instance' ) ); if ( ! $autofill_instance instanceof Forminator_Autofill_Provider_Abstract ) { return false; } if ( in_array( $autofill_instance->get_slug(), $this->_banned_providers, true ) ) { // debug purpose only. // error_log( 'Autofill Provider for ' . $autofill_instance->get_slug() . ' is banned' );. return false; } $this->autofill_providers[ $autofill_instance->get_slug() ] = $autofill_instance; $this->autofill_providers_groups[ $autofill_instance->get_slug() ] = $autofill_instance->get_name(); return true; } /** * Build Provider names * * @since 1.0.5 * * @example { * 'simple'.'simple_text' => 'Simple Text', * 'PROVIDER_SLUG'.'ATTRIBUTE_SLUG' => 'ATTRIBUTE NICE NAME', * } */ private function try_build_autofill_providers_names() { $this->autofill_providers_names = array(); foreach ( $this->autofill_providers as $autofill_instance ) { /** * Forminator_Autofill_Provider_Abstract * * @var Forminator_Autofill_Provider_Abstract $autofill_instance */ $attributes_map = $autofill_instance->get_attributes_map(); if ( empty( $attributes_map ) ) { continue; } foreach ( $attributes_map as $attribute => $mapper ) { $name = $autofill_instance->get_slug() . '.' . $attribute; // Dedupe. if ( isset( $this->autofill_providers_names[ $name ] ) ) { continue; } $this->autofill_providers_names[ $name ] = $mapper['name']; } } } /** * Get Providers names, build if its empty * * @since 1.0.5 * @return array */ public function get_autofill_providers_names() { if ( empty( $this->autofill_providers_names ) ) { $this->try_build_autofill_providers_names(); } return $this->autofill_providers_names; } /** * Get autofill providers as grouped array * * @since 1.0.5 * * @example * { * `SLUG` => [ * 'name' => `NAME`, * 'attributes' => [ * [`SLUG.ATTRIBUTE` => [name : TRANSLATE_ATTRIBUTE]`, * [`SLUG.ATTRIBUTE` => [name : TRANSLATE_ATTRIBUTE]`, * ] * ] * ...} * * @param array $slug_attributes Slug attributes. * * @return array */ public function get_grouped_autofill_providers( $slug_attributes ) { $this->get_autofill_providers_names(); $grouped_autofill_providers = array(); foreach ( $slug_attributes as $slug_attribute ) { $slug_attribute_parts = explode( '.', $slug_attribute ); if ( ! isset( $slug_attribute_parts[0] ) || empty( $slug_attribute_parts[0] ) ) { continue; } $slug = $slug_attribute_parts[0]; if ( ! isset( $this->autofill_providers[ $slug ] ) ) { continue; } if ( ! is_callable( array( $this->autofill_providers[ $slug ], 'get_short_name' ) ) ) { continue; } $provider_instance = $this->autofill_providers[ $slug ]; $provider_short_name = $provider_instance->get_short_name(); $new_attribute = false; if ( isset( $this->autofill_providers_names[ $slug_attribute ] ) && ! empty( $this->autofill_providers_names[ $slug_attribute ] ) ) { $new_attribute = array( 'name' => $this->autofill_providers_names[ $slug_attribute ], ); } if ( ! $new_attribute ) { continue; } if ( ! in_array( $slug, array_keys( $grouped_autofill_providers ), true ) ) { $grouped_autofill_providers[ $slug ] = array( 'name' => $this->autofill_providers_groups[ $slug ], 'attributes' => array(), ); } $grouped_autofill_providers[ $slug ] ['attributes'][ $slug_attribute ] = $new_attribute; } return $grouped_autofill_providers; } /** * Get the provider by its slug * * @since 1.0.5 * * @param string $provider_slug Slug. * * @return Forminator_Autofill_Provider_Abstract|null */ public function get_autofill_provider( $provider_slug ) { if ( isset( $this->autofill_providers[ $provider_slug ] ) ) { return $this->autofill_providers[ $provider_slug ]; } return null; } /** * Call `init` function of provider, if its not `inited` yet * * @since 1.0.5 * * @param string $provider_slug Slug. * * @return Forminator_Autofill_Provider_Abstract|null */ final public function init_provider( $provider_slug ) { $provider = $this->get_autofill_provider( $provider_slug ); if ( ! $provider ) { return null; } if ( in_array( $provider->get_slug(), $this->_banned_providers, true ) ) { // debug purpose only. // error_log( 'Autofill Provider for ' . $autofill_instance->get_slug() . ' is banned' );. return null; } if ( ! in_array( $provider->get_slug(), self::$inited_providers, true ) ) { $provider->init(); self::$inited_providers[] = $provider->get_slug(); return $provider; } return $provider; } /** * Cleanup providers that being inited * * @since 1.6.2 * @internal */ public function cleanup_initied_providers() { self::$inited_providers = array(); } }
SILENT KILLER Tool