# responsive-menu/3.1.7/app/Database/Migrations/Migrate.php

Responsive Menu – Create Mobile-Friendly Menu, version 3.1.7. 35 lines.

- Page: https://pluginprobe.com/plugins/responsive-menu/3.1.7/code/app/Database/Migrations/Migrate.php
- Raw: https://pluginprobe.com/plugins/responsive-menu/3.1.7/raw/app/Database/Migrations/Migrate.php
- Modified: 2017-09-22T20:00:02+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/responsive-menu/3.1.7/code/app/Database/Migrations/Migrate.php#L10-L20`.

```php
<?php

namespace ResponsiveMenu\Database\Migrations;
use ResponsiveMenu\Collections\OptionsCollection;

class Migrate {

    public function migrate(OptionsCollection $options) {
        if(isset($this->migrations))
            foreach($this->migrations as $copy_to => $copy_from)
                $options[$copy_to] = $options[$copy_from];

        if(isset($this->migration_scripts))
            foreach($this->migration_scripts as $script)
                $options = $this->$script($options);

        return $options;
    }

    public function getOldVersion() {
        $v = $this->getVersionArray();
        return $v[0] . '.' . $v[1] . '.' . $v[2];
    }

    public function getNewVersion() {
        $v = $this->getVersionArray();
        return $v[3] . '.' . $v[4] . '.' . $v[5];
    }

    private function getVersionArray() {
        $versions = str_replace('ResponsiveMenu\Database\Migrations\Migrate_', '', get_class($this));
        return explode('_', $versions);
    }

}
```
