# bit-form/2.9.1/includes/Core/Migration/Migration.php

Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator &amp; Custom Form Builder, version 2.9.1. 49 lines.

- Page: https://pluginprobe.com/plugins/bit-form/2.9.1/code/includes/Core/Migration/Migration.php
- Raw: https://pluginprobe.com/plugins/bit-form/2.9.1/raw/includes/Core/Migration/Migration.php
- Modified: 2023-07-16T07:55:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/bit-form/2.9.1/code/includes/Core/Migration/Migration.php#L10-L20`.

```php
<?php

namespace BitCode\BitForm\Core\Migration;

// create class for migration
final class Migration
{
  private $_formData;

  public function __construct($data)
  {
    $this->_formData = $data;
  }

  // create function for migration
  public function migrate()
  {
    $formData = $this->_formData;

    $formData->form_content = self::convertFormContent($formData->form_content);
    $formData->workFlows = WorkFlows::migrate($formData->workFlows);
    $formData->formSettings = self::convertFormSettings($formData->formSettings);
    return $formData;
  }

  public function convertFormContent($formContentV1)
  {
    $formContenV2 = $formContentV1;

    if (isset($formContentV1->fields)) {
      $formContenV2->fields = MigrationHelper::convertFields($formContentV1->fields);
    }
    if (isset($formContentV1->layout)) {
      $formContenV2->layout = MigrationHelper::convertLayout($formContentV1->layout);
    }

    return $formContenV2;
  }

  public function convertFormSettings($formSettingsV1)
  {
    $formSettingsV2 = $formSettingsV1;
    if (isset($formSettingsV1->confirmation->type->successMsg)) {
      $formSettingsV2->confirmation->type->successMsg = MigrationHelper::convertSuccessMessage($formSettingsV1->confirmation->type->successMsg);
    }
    return $formSettingsV2;
  }
}

```
