PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 3.6.2
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v3.6.2
3.7.5 3.7.4 3.7.3 3.7.2 1-final 3.7.1 3.7.0 3.6.8 3.6.7 3.6.6 3.6.5 3.6.4 3.6.3 3.6.2 3.6.1 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 All 111 releases
templately / includes / Core / Migrator.php

Migrator.php in Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! 3.6.2, at includes/Core/Migrator.php

75 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Templately\Core;
4
5 use Templately\API\Profile;
6 use Templately\Utils\Base;
7 use Templately\Utils\Options;
8
9 class Migrator extends Base {
10 /**
11 * Options Database
12 *
13 * @var Options|null
14 */
15 private $options = null;
16
17 public function __construct(){
18 $this->options = Options::get_instance();
19 add_action('admin_init', [ $this, 'init' ]);
20 }
21
22 public function init(){
23 $_old_version = $this->options->get_option( '_templately_migrate' );
24
25 /**
26 * Migration for v1.3.6 to v2.0.1
27 */
28 if( \version_compare(TEMPLATELY_VERSION, '2.0.1', '=') && \version_compare($_old_version, '1.3.6', '=') ) {
29 $user_choice = $this->options->get_option('_templately_user_login_choice');
30 $user_id = false;
31 if( ! empty( $user_choice ) && isset($user_choice['choice']) ) {
32 $user_id = intval($user_choice['id']);
33 }
34
35 $cloud_activity = $this->options->get_option('_templately_cloud_last_activity');
36 $user_profile = $this->options->get_option('_templately_connect_data');
37 $_api_key = $this->options->get_option('_templately_api_key');
38
39 if ( $user_id === false ) {
40 $user_id = get_current_user_id();
41
42 $_api_key = $this->options->get('api_key', false, $user_id );
43 $user_profile = $this->options->get('connect_data', false, $user_id );
44 $cloud_activity = $this->options->get('cloud_last_activity', false, $user_id );
45 }
46
47
48 if( ! empty( $_api_key ) ) {
49 // SET API
50 $this->options->set('api_key', $_api_key, $user_id );
51 $this->options->set('cloud_activity', $cloud_activity, $user_id );
52
53 $_favourites = [];
54 if( isset( $user_profile['favourites'] ) ) {
55 $_favourites = $user_profile['favourites'];
56 unset($user_profile['favourites']);
57 }
58
59 $this->options->set('user', $user_profile, $user_id );
60 $this->options->set('favourites', $_favourites, $user_id );
61 }
62 }
63
64 /**
65 * Migration for v2.2.10 to v2.2.11
66 */
67 if( TEMPLATELY_VERSION !== $_old_version && \version_compare($_old_version, '2.2.10', '<=') ) {
68 Profile::get_instance()->sync();
69 }
70
71 $this->options->update_option( '_templately_migrate', TEMPLATELY_VERSION );
72 }
73
74 }
75