File: /var/www/wp-content/plugins/ocean-extra/includes/panel/classes/importers/class-wpforms-importer.php
<?php
/**
* Class for the WPForms importer.
*
* Thank you very much to SiteGround for the code.
*/
if ( ! class_exists( 'WPForms' ) ) {
return;
}
class OWP_WPForms_Importer {
/**
* Process import file - this parses the widget data and returns it.
*
* @param string $file path to json file.
* @global string $widget_import_results
*/
public function process_import_file( $file ) {
// Get file contents.
$data = OWP_Demos_Helpers::get_remote( $file );
// Return from this function if there was an error.
if ( is_wp_error( $data ) ) {
return $data;
}
// Decode file contents.
$data = json_decode( $data, true );
// Import the widget data
return $this->import_json( $data );
}
public function import_json( $forms ) {
if ( ! function_exists( 'wpforms' ) ) {
return;
}
foreach ( $forms as $form ) {
// Create empty form so we have an ID to work with.
$form_id = wp_insert_post(
array(
'post_status' => 'publish',
'post_type' => 'wpforms',
)
);
// Bail if post creation has failed.
if ( empty( $form_id )
|| is_wp_error( $form_id ) ) {
continue;
}
$form['id'] = $form_id;
// Update the form with all our compiled data.
wpforms()->form->update( $form['id'], $form );
}
}
}