WordPress.org

Plugin Directory

Changeset 1463639


Ignore:
Timestamp:
07/30/16 01:55:20 (15 months ago)
Author:
travislopes
Message:

Migrate Ninja Forms to Gravity Forms (0.1.2) (0.1.3)

  • Fixed issue where fields could not be edited after migration.
  • Fixed issue with checkbox options not being mapped correctly.
Location:
migrate-ninja-forms-to-gravity-forms
Files:
7 added
4 edited

Legend:

Unmodified
Added
Removed
  • migrate-ninja-forms-to-gravity-forms/trunk/class-gf-migrate-nf.php

    r1396079 r1463639  
    349349            // Save to fields array if converted. 
    350350            if ( ! is_null( $field ) ) { 
    351                 $form['fields'][ $field->id ] = $field; 
     351                $form['fields'][] = $field; 
    352352            } 
    353353 
  • migrate-ninja-forms-to-gravity-forms/trunk/includes/class-gf-migrate-nf-field.php

    r1361045 r1463639  
    33class GF_Migrate_NF_Field { 
    44 
    5     public static $field    = null; 
     5    /** 
     6     * Stores the Gravity Forms field information for the applicable field 
     7     * 
     8     * @since  0.1 
     9     * @access public 
     10     * @static 
     11     * @var mixed $field The Gravity Forms field object 
     12     */ 
     13    public static $field = null; 
     14 
     15    /** 
     16     * The Ninja Forms field data that is being converted 
     17     * 
     18     * @since  0.1 
     19     * @access public 
     20     * @static 
     21     * @var array $field The Ninja Forms field data 
     22     */ 
    623    public static $nf_field = array(); 
    724 
    825    /** 
    9      * Convert a Ninja Form field to a Gravity Forms field. 
    10      * 
    11      * @access public 
    12      * @param  array $nf_field - The Ninja Forms field. 
     26     * Convert a Ninja Forms field to a Gravity Forms field. 
     27     * 
     28     * @since  0.1 
     29     * @access public 
     30     * @param  array $nf_field The Ninja Forms field. 
     31     * 
    1332     * @return array $field - The new Gravity Forms field 
    1433     */ 
    1534    public static function convert_field( $nf_field ) { 
    1635 
     36        // Stores the field to be converted within the class property for use later 
    1737        self::$nf_field = $nf_field; 
    1838 
     
    2141 
    2242            case '_checkbox': 
    23  
    2443                self::convert_single_checkbox_field(); 
    25  
    26                 break; 
    27  
     44                break; 
    2845            case '_desc': 
    29  
    3046                self::convert_html_field(); 
    31  
    32                 break; 
    33  
     47                break; 
    3448            case '_hidden': 
    35  
    3649                self::convert_hidden_field(); 
    37  
    38                 break; 
    39  
     50                break; 
    4051            case '_list': 
    4152 
     
    5566 
    5667            case '_number': 
    57  
    5868                self::convert_number_field(); 
    59  
    60                 break; 
    61  
     69                break; 
    6270            case '_profile_pass': 
    63  
    6471                self::convert_password_field(); 
    65  
    66                 break; 
    67  
     72                break; 
    6873            case '_text': 
    6974 
     
    8388 
    8489            case '_textarea': 
    85  
    8690                self::convert_textarea_field(); 
    87  
    8891                break; 
    8992 
     
    97100     * Convert Ninja Forms field to a Gravity Forms checkbox field. 
    98101     * 
     102     * @since 0.1 
    99103     * @access public 
    100104     */ 
     
    111115 
    112116        // Loop through field options. 
    113         foreach ( self::$nf_field['list']['options'] as $option ) { 
    114  
    115             // Add option. 
     117        foreach ( self::$nf_field['list']['options'] as $i => $option ) { 
     118 
     119            // Get checkbox ID. 
     120            $id = $i + 1; 
     121 
     122            // Skip multiple of 10 on checkbox ID. 
     123            if ( 0 === $id % 10 ) { 
     124                $id++; 
     125            } 
     126 
     127            // Add option choices. 
    116128            self::$field->choices[] = array( 
    117129                'text'       => $option['label'], 
     
    120132            ); 
    121133 
     134            // Add option input. 
     135            self::$field->inputs[] = array( 
     136                'id'    => self::$field->id . '.' . $id, 
     137                'label' => $option['label'], 
     138            ); 
     139 
    122140        } 
    123141 
     
    127145     * Convert Ninja Forms field to a Gravity Forms date field. 
    128146     * 
     147     * @since 0.1 
    129148     * @access public 
    130149     */ 
     
    145164     * Convert Ninja Forms field to a Gravity Forms email field. 
    146165     * 
     166     * @since 0.1 
    147167     * @access public 
    148168     */ 
     
    160180     * Convert Ninja Forms field to a Gravity Forms hidden field. 
    161181     * 
     182     * @since 0.1 
    162183     * @access public 
    163184     */ 
     
    175196     * Convert Ninja Forms field to a Gravity Forms HTML field. 
    176197     * 
     198     * @since 0.1 
    177199     * @access public 
    178200     */ 
     
    195217     * Convert Ninja Forms field to a Gravity Forms number field. 
    196218     * 
     219     * @since 0.1 
    197220     * @access public 
    198221     */ 
     
    219242     * Convert Ninja Forms field to a Gravity Forms password field. 
    220243     * 
     244     * @since 0.1 
    221245     * @access public 
    222246     */ 
     
    250274     * Convert Ninja Forms field to a Gravity Forms phone field. 
    251275     * 
     276     * @since 0.1 
    252277     * @access public 
    253278     */ 
     
    268293     * Convert Ninja Forms field to a Gravity Forms radio field. 
    269294     * 
     295     * @0.1 
    270296     * @access public 
    271297     */ 
     
    274300        // Create a new Radio field. 
    275301        self::$field = new GF_Field_Radio(); 
     302 
     303        // Add standard properties. 
     304        self::add_standard_properties(); 
     305 
     306        // Add choices property. 
     307        self::$field->choices = array(); 
     308 
     309        // Loop through field options. 
     310        foreach ( self::$nf_field['list']['options'] as $option ) { 
     311 
     312            // Add option choice. 
     313            self::$field->choices[] = array( 
     314                'text'  => $option['label'], 
     315                'value' => $option['value'], 
     316            ); 
     317 
     318            // If option is selected, set as default value. 
     319            if ( '1' === $option['selected'] ) { 
     320                self::$field->defaultValue = ! empty( $option['value'] ) ? $option['value'] : $option['text']; 
     321            } 
     322 
     323        } 
     324 
     325    } 
     326 
     327    /** 
     328     * Convert Ninja Forms field to a Gravity Forms select field. 
     329     * 
     330     * @since  0.1 
     331     * @access public 
     332     * @param  bool $multi Is field a Multi Select field? Default false 
     333     */ 
     334    public static function convert_select_field( $multi = false ) { 
     335 
     336        // Create a new Select field. 
     337        self::$field = $multi ? new GF_Field_MultiSelect() : new GF_Field_Select(); 
    276338 
    277339        // Add standard properties. 
     
    300362 
    301363    /** 
    302      * Convert Ninja Forms field to a Gravity Forms select field. 
    303      * 
    304      * @access public 
    305      * @param bool $multi (default: false) - Is field a Multi Select field? 
    306      */ 
    307     public static function convert_select_field( $multi = false ) { 
    308  
    309         // Create a new Select field. 
    310         self::$field = $multi ? new GF_Field_MultiSelect() : new GF_Field_Select(); 
    311  
    312         // Add standard properties. 
    313         self::add_standard_properties(); 
    314  
    315         // Add choices property. 
    316         self::$field->choices = array(); 
    317  
    318         // Loop through field options. 
    319         foreach ( self::$nf_field['list']['options'] as $option ) { 
    320  
    321             // Add option. 
    322             self::$field->choices[] = array( 
    323                 'text'  => $option['label'], 
    324                 'value' => $option['value'], 
    325             ); 
    326  
    327             // If option is selected, set as default value. 
    328             if ( '1' === $option['selected'] ) { 
    329                 self::$field->defaultValue = ! empty( $option['value'] ) ? $option['value'] : $option['text']; 
    330             } 
    331  
    332         } 
    333  
    334     } 
    335  
    336     /** 
    337364     * Convert Ninja Forms field to a Gravity Forms checkbox field. 
    338365     * 
     366     * @since 0.1 
    339367     * @access public 
    340368     */ 
     
    361389     * Convert Ninja Forms field to a Gravity Forms text field. 
    362390     * 
     391     * @since 0.1 
    363392     * @access public 
    364393     */ 
     
    376405     * Convert Ninja Forms field to a Gravity Forms textarea field. 
    377406     * 
     407     * @since 0.1 
    378408     * @access public 
    379409     */ 
     
    394424     * Adds standard Gravity Forms field properties. 
    395425     * 
     426     * @since 0.1 
    396427     * @access public 
    397428     */ 
  • migrate-ninja-forms-to-gravity-forms/trunk/migrate-nf.php

    r1396079 r1463639  
    11<?php 
    2  
    3 /* 
     2/** 
    43Plugin Name: Migrate Ninja Forms to Gravity Forms 
    54Plugin URI: http://travislop.es/plugins/migrate-ninja-forms-to-gravity-forms/ 
    65Description: Imports content from Ninja Forms into Gravity Forms 
    7 Version: 0.1.1 
    8 Author: travislopes 
     6Version: 0.1.3 
     7Author: Travis Lopes 
    98Author URI: http://travislop.es 
    109Text Domain: migrate-ninja-forms-to-gravity-forms 
    11 */ 
     10 */ 
    1211 
    13 define( 'GF_MIGRATE_NINJAFORMS_VERSION', '0.1.1' ); 
     12define( 'GF_MIGRATE_NINJAFORMS_VERSION', '0.1.3' ); 
    1413 
    1514add_action( 'gform_loaded', array( 'GF_Migrate_NinjaForms_Bootstrap', 'load' ), 5 ); 
     
    1918    /** 
    2019     * Register Add-On with Gravity Forms. 
    21      *  
     20     * 
    2221     * @access public 
    2322     * @static 
  • migrate-ninja-forms-to-gravity-forms/trunk/readme.txt

    r1396079 r1463639  
    6161 
    6262== Changelog == 
     63= v0.1.3 = 
     64* Fixed issue with checkbox options not being mapped correctly. 
     65= v0.1.2 = 
     66* Fixed issue where fields could not be edited after migration. 
    6367= v0.1.1 = 
    6468* Updated notification conversion to not use boolval(). 
Note: See TracChangeset for help on using the changeset viewer.