PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 3.0.3
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v3.0.3
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 / Importer / Import.php

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

92 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\Importer;
4
5 use Exception;
6 use Templately\Core\Importer\Runners\BaseRunner;
7 use Templately\Core\Importer\Runners\Customizer;
8 use Templately\Core\Importer\Runners\ElementorContent;
9 use Templately\Core\Importer\Runners\ExtraContent;
10 use Templately\Core\Importer\Runners\Finalizer;
11 use Templately\Core\Importer\Runners\GutenbergContent;
12 use Templately\Core\Importer\Runners\Templates;
13 use Templately\Core\Importer\Runners\WPContent;
14
15 class Import {
16 use LogHelper;
17
18 /**
19 * @var FullSiteImport
20 */
21 public $full_site_import;
22
23 /**
24 * @var array
25 */
26 private $manifest;
27
28 private $runners;
29
30 private $imported_data = [];
31
32 /**
33 * @throws Exception
34 */
35 public function __construct( $full_site_import ) {
36 $this->full_site_import = $full_site_import;
37
38 $this->manifest = $full_site_import->manifest;
39
40 $this->register_runners();
41 }
42
43 /**
44 * @throws Exception
45 */
46 private function register_runners() {
47 $this->runners = [
48 // TODO: Site Settings Import Runner
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 )
56 ];
57 }
58
59 public function run( $callable = null ): array {
60 $data = $this->full_site_import->get_request_params();
61
62 /**
63 * @var BaseRunner $runner
64 */
65 foreach ( $this->runners as $runner ) {
66 try{
67 if ( $runner->should_run( $data, $this->imported_data ) ) {
68 if( $runner->get_name() != 'finalize' ) {
69 $runner->log();
70 }
71
72 $import = $runner->import( $data, $this->imported_data );
73 $this->imported_data = array_merge_recursive( $this->imported_data, $import );
74
75 if( $runner->get_name() != 'finalize' ) {
76 $runner->log( 100 );
77 } else {
78 $runner->log( 100, $runner->log_message() );
79 }
80 }
81 }catch (Exception $e){
82 error_log($e->getMessage());
83 }
84 }
85
86 return $this->imported_data;
87 }
88
89 public function get_runners() {
90 return $this->runners;
91 }
92 }