Sid Gifari File Manager
🏠 Root
/
home
/
nradmin
/
www
/
wp-content
/
plugins
/
forminator
/
admin
/
classes
/
thirdparty-importers
/
📝 Editing: class-importer-gravity.php
<?php /** * Forminator Admin Import Gravity * * @package Forminator */ if ( ! defined( 'ABSPATH' ) ) { die(); } /** * Class Forminator_Admin_Import_Gravity * * @since 1.7 */ class Forminator_Admin_Import_Gravity extends Forminator_Import_Mediator { /** * Plugin instance * * @since 1.7 * @access private * @var null */ private static $instance = null; /** * Return the plugin instance * * @since 1.7 * @return Forminator */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Insert form data * * @param int $id Form Id. * * @since 1.7 * @return array Form import message */ public function import_form( $id ) { $form = GFAPI::get_form( $id ); $form_fields = $form['fields']; $notifications = $form['notifications']; $confirmations = $form['confirmations']; $data = array(); $new_fields = array(); $settings = array(); $tags = array(); // fields import. foreach ( $form_fields as $mkey => $field ) { $type = $this->get_thirdparty_field_type( $field['type'] ); if ( '' === $type ) { continue; } if ( isset( $count[ $type ] ) && $count[ $type ] > 0 ) { $count[ $type ] = $count[ $type ] + 1; } else { $count[ $type ] = 1; } $options = $field['choices']; $field_options = array(); $wrapper = 'wrapper-' . $this->random_wrapper_int() . '-' . $this->random_wrapper_int(); if ( ! empty( $options ) ) { foreach ( $options as $key => $option ) { $field_options[] = array( 'label' => esc_html( $option['text'] ), 'value' => esc_html( $option['value'] ), 'limit' => '', ); } } $new_fields[ $mkey ] = array( 'field_label' => esc_html( $field['label'] ), 'type' => esc_html( $type ), 'element_id' => esc_html( $type . '-' . $count[ $type ] ), 'cols' => 12, 'wrapper_id' => $wrapper, 'options' => $field_options, 'required' => filter_var( $field['isRequired'], FILTER_VALIDATE_BOOLEAN ), 'custom-class' => $field['cssClass'], 'description' => $field['description'], 'placeholder' => esc_html( $field['placeholder'] ), ); if ( 'address' === $type ) { foreach ( $field['inputs'] as $key => $input ) { if ( '4.1' === $input['id'] ) { $new_fields[ $mkey ]['street_address'] = ! isset( $input['isHidden'] ); } elseif ( '4.2' === $input['id'] ) { $new_fields[ $mkey ]['address_line'] = ! isset( $input['isHidden'] ); } elseif ( '4.3' === $input['id'] ) { $new_fields[ $mkey ]['address_city'] = ! isset( $input['isHidden'] ); } elseif ( '4.4' === $input['id'] ) { $new_fields[ $mkey ]['address_state'] = ! isset( $input['isHidden'] ); } elseif ( '4.5' === $input['id'] ) { $new_fields[ $mkey ]['address_zip'] = ! isset( $input['isHidden'] ); } elseif ( '4.6' === $input['id'] ) { $new_fields[ $mkey ]['address_country'] = ! isset( $input['isHidden'] ); } } } if ( 'multiselect' === $field['type'] ) { $new_fields[ $mkey ]['value_type'] = 'multiselect'; } if ( 'page' === $field['type'] ) { $new_fields[ $mkey ]['btn_left'] = $field['previousButton']['text']; $new_fields[ $mkey ]['btn_right'] = $field['nextButton']['text']; } $tag_key = $field['label'] . ':' . $field['id']; $tags[ "{$tag_key}" ] = $new_fields[ $mkey ]['element_id']; }//endforeach fields import $settings['use-admin-email'] = false; $settings['use-user-email'] = false; // form actions. if ( ! empty( $notifications ) ) { foreach ( $notifications as $key => $action ) { if ( 'email' === $action['toType'] ) { if ( isset( $action['to'] ) && '{admin_email}' === $action['to'] && false === $settings['use-admin-email'] ) { $settings['use-admin-email'] = true; $settings['admin-email-title'] = ( isset( $action['subject'] ) ? $this->replace_invalid_tags( $action['subject'], $tags ) : '' ); $settings['admin-email-editor'] = ( isset( $action['message'] ) ? $this->replace_invalid_tags( $action['message'], $tags ) : '' ); $settings['admin-email-from-name'] = ( isset( $action['fromName'] ) ? $this->replace_invalid_tags( $action['fromName'], $tags ) : '' ); $settings['admin-email-recipients'] = get_bloginfo( 'admin_email' ); $settings['admin-email-bcc-address'] = ( isset( $action['bcc'] ) ? $this->replace_invalid_tags( $action['bcc'], $tags ) : '' ); $settings['admin-email-cc-address'] = ( isset( $action['cc'] ) ? $this->replace_invalid_tags( $action['cc'], $tags ) : '' ); $settings['admin-email-reply-to-address'] = ( isset( $action['replyTo'] ) ? $this->replace_invalid_tags( $action['replyTo'], $tags ) : '' ); } elseif ( isset( $action['to'] ) && '{admin_email}' !== $action['to'] && false === $settings['use-user-email'] ) { $settings['use-user-email'] = true; $settings['user-email-title'] = ( isset( $action['subject'] ) ? $this->replace_invalid_tags( $action['subject'], $tags ) : '' ); $settings['user-email-editor'] = ( isset( $action['message'] ) ? $this->replace_invalid_tags( $action['message'], $tags ) : '' ); $settings['user-email-from-name'] = ( isset( $action['fromName'] ) ? $this->replace_invalid_tags( $action['fromName'], $tags ) : '' ); $settings['user-email-recipients'] = ( isset( $action['to'] ) ? $this->replace_invalid_tags( $action['to'], $tags ) : '' ); $settings['user-email-bcc-address'] = ( isset( $action['bcc'] ) ? $this->replace_invalid_tags( $action['bcc'], $tags ) : '' ); $settings['user-email-cc-address'] = ( isset( $action['cc'] ) ? $this->replace_invalid_tags( $action['cc'], $tags ) : '' ); $settings['user-email-reply-to-address'] = ( isset( $action['replyTo'] ) ? $this->replace_invalid_tags( $action['replyTo'], $tags ) : '' ); } } } }//end settings loop $action = ( ! empty( $confirmations ) ? current( $confirmations ) : '' ); if ( ! empty( $action ) && isset( $action['type'] ) ) { switch ( $action['type'] ) { case 'page': case 'redirect': $settings['submission-behaviour'] = 'behaviour-redirect'; $url = ( isset( $action['pageid'] ) ? get_permalink( $action['pageid'] ) : $action['url'] ); $settings['redirect-url'] = esc_url( $url ); break; case 'message': $settings['submission-behaviour'] = 'behaviour-thankyou'; $settings['thankyou-message'] = $action['message']; break; default: break; } } // final settings. $settings['formName'] = esc_html( $form['title'] ); $settings['custom-submit-text'] = esc_html( $form['button']['text'] ); // form data. $data['status'] = 'publish'; $data['version'] = FORMINATOR_VERSION; $data['type'] = 'form'; $data['data']['fields'] = $new_fields; $data['data']['settings'] = $settings; $data = apply_filters( 'forminator_gravity_form_import_data', $data ); $import = $this->try_form_import( $data ); return $import; } }
💾 Save
❌ Cancel
Sid Gifari File Manager v1.0 | Terminal Auto-Sync Enabled | Current Path: /home/nradmin/www/wp-content/plugins/forminator/admin/classes/thirdparty-importers