PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 3.0.7
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v3.0.7
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
← All changes | includes/Core/Importer/Import.php +26 -49 3.6.73.0.7 View file →
@@ -2,27 +2,24 @@
2 2
3 3 namespace Templately\Core\Importer;
4 4
5 5 use Exception;
6 -use Templately\Core\Importer\Exception\NonRetirableErrorException;
7 -use Templately\Core\Importer\Runners\AIContent;
8 -use Templately\Core\Importer\Runners\Attachments;
9 6 use Templately\Core\Importer\Runners\BaseRunner;
10 -use Templately\Core\Importer\Runners\CustomCSS;
11 7 use Templately\Core\Importer\Runners\Customizer;
12 -use Templately\Core\Importer\Runners\Dependencies;
13 8 use Templately\Core\Importer\Runners\ElementorContent;
14 9 use Templately\Core\Importer\Runners\ExtraContent;
15 10 use Templately\Core\Importer\Runners\Finalizer;
16 11 use Templately\Core\Importer\Runners\GutenbergContent;
17 -use Templately\Core\Importer\Runners\Loop;
18 12 use Templately\Core\Importer\Runners\Templates;
19 13 use Templately\Core\Importer\Runners\WPContent;
20 14
21 15 class Import {
22 16 use LogHelper;
23 - use Loop;
24 17
18 + /**
19 + * @var FullSiteImport
20 + */
21 + public $full_site_import;
25 22
26 23 /**
27 24 * @var array
28 25 */
@@ -28,10 +25,8 @@
28 25 */
29 26 private $manifest;
30 27
31 28 private $runners;
32 - private $request_params;
33 - private $session_id;
34 29
35 30 private $imported_data = [];
36 31
37 32 /**
@@ -36,13 +31,13 @@
36 31
37 32 /**
38 33 * @throws Exception
39 34 */
40 - public function __construct( $args ) {
41 - $this->request_params = $args;
42 - $this->manifest = $args['manifest'];
43 - $this->session_id = $args['session_id'];
35 + public function __construct( $full_site_import ) {
36 + $this->full_site_import = $full_site_import;
44 37
38 + $this->manifest = $full_site_import->manifest;
39 +
45 40 $this->register_runners();
46 41 }
47 42
48 43 /**
@@ -50,45 +45,34 @@
50 45 */
51 46 private function register_runners() {
52 47 $this->runners = [
53 48 // TODO: Site Settings Import Runner
54 - new Dependencies( $this->request_params ),
55 - new Attachments( $this->request_params ),
56 - new Customizer( $this->request_params ),
57 - new CustomCSS( $this->request_params ),
58 - new ExtraContent( $this->request_params ),
59 - new Templates( $this->request_params ),
60 - new GutenbergContent( $this->request_params ),
61 - new ElementorContent( $this->request_params ),
62 - new WPContent( $this->request_params ),
63 - // new AIContent( $this->request_params ),
64 - new Finalizer( $this->request_params )
49 + new ExtraContent( $this->full_site_import ),
50 + new Templates( $this->full_site_import ),
51 + new GutenbergContent( $this->full_site_import ),
52 + new ElementorContent( $this->full_site_import ),
53 + new WPContent( $this->full_site_import ),
54 + new Customizer( $this->full_site_import ),
55 + new Finalizer( $this->full_site_import )
65 56 ];
66 -
67 - $this->runners = apply_filters( 'templately_import_runners', $this->runners, $this->request_params );
68 57 }
69 58
70 59 public function run( $callable = null ): array {
71 - $data = $this->request_params;
60 + $data = $this->full_site_import->get_request_params();
72 61
73 - // Get the cached imported_data
74 - // $this->imported_data = $data['imported_data'] ?? [];
75 -
76 62 /**
77 63 * @var BaseRunner $runner
78 64 */
79 - $imported_data = $this->loop( $this->runners, function($id, $runner, $imported_data ) use($data) {
80 - $import = [];
81 -
65 + foreach ( $this->runners as $runner ) {
82 66 try{
83 - if ( $runner->should_run( $data, $imported_data ) ) {
84 - if (!$this->is_key_processed($runner->get_name(), 'runner_start')) {
85 - $runner->log( 0 );
86 - $this->mark_key_processed($runner->get_name(), 'runner_start');
67 + if ( $runner->should_run( $data, $this->imported_data ) ) {
68 + if( $runner->get_name() != 'finalize' ) {
69 + $runner->log();
87 70 }
88 - $import = $runner->import( $data, $imported_data );
89 - $imported_data = array_merge( $imported_data, $import );
90 71
72 + $import = $runner->import( $data, $this->imported_data );
73 + $this->imported_data = array_merge_recursive( $this->imported_data, $import );
74 +
91 75 if( $runner->get_name() != 'finalize' ) {
92 76 $runner->log( 100 );
93 77 } else {
94 78 $runner->log( 100, $runner->log_message() );
@@ -95,21 +79,14 @@
95 79 }
96 80 }
97 81 }catch (Exception $e){
98 82 error_log($e->getMessage());
99 -
100 - // Re-throw NonRetirableErrorException to stop the import process
101 - if ($e instanceof NonRetirableErrorException) {
102 - throw $e;
103 - }
104 83 }
84 + }
105 85
106 - return $imported_data;
107 - }, null, true);
108 -
109 - return $imported_data;
86 + return $this->imported_data;
110 87 }
111 88
112 89 public function get_runners() {
113 90 return $this->runners;
114 91 }
115 -}
92 +}