|
Server : LiteSpeed System : Linux server104.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : saleoqej ( 6848) PHP Version : 8.0.30 Disable Function : NONE Directory : /home/saleoqej/public_html/wp-content/plugins/wpforms-lite/src/Admin/Tools/ |
<?php
namespace WPForms\Admin\Tools;
use WPForms\Admin\Tools\Importers\ContactForm7;
use WPForms\Admin\Tools\Importers\NinjaForms;
use WPForms\Admin\Tools\Importers\PirateForms;
/**
* Load the different form importers.
*
* @since 1.6.6
*/
class Importers {
/**
* Available importers.
*
* @since 1.6.6
*
* @var array
*/
private $importers = [];
/**
* Load default form importers.
*
* @since 1.6.6
*/
public function load() {
if ( empty( $this->importers ) ) {
$this->importers = [
'contact-form-7' => new ContactForm7(),
'ninja-forms' => new NinjaForms(),
'pirate-forms' => new PirateForms(),
];
}
}
/**
* Load default form importers.
*
* @since 1.6.6
*
* @return array
*/
public function get_importers() {
$this->load();
$importers = [];
foreach ( $this->importers as $importer ) {
$importers = $importer->register( $importers );
}
return apply_filters( 'wpforms_importers', $importers );
}
/**
* Get a importer forms.
*
* @since 1.6.6
*
* @param string $provider Provider.
*
* @return array
*/
public function get_importer_forms( $provider ) {
if ( isset( $this->importers[ $provider ] ) ) {
return apply_filters( "wpforms_importer_forms_{$provider}", $this->importers[ $provider ]->get_forms() );
}
return [];
}
}