PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.1
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.1
16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 All 504 releases
jetpack / jetpack_vendor / automattic / jetpack-import / src / class-main.php

class-main.php in Jetpack – WP Security, Backup, Speed, & Growth 16.3-a.1, at jetpack_vendor/automattic/jetpack-import/src/class-main.php

101 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Set of REST API routes used in WPCOM Unified Importer.
4 *
5 * @package automattic/jetpack-import
6 */
7
8 namespace Automattic\Jetpack\Import;
9
10 use Automattic\Jetpack\Connection\Manager as Connection_Manager;
11 use Automattic\Jetpack\Connection\Rest_Authentication;
12
13 /**
14 * This class will provide endpoint for the Unified Importer.
15 */
16 class Main {
17
18 /**
19 * Package version.
20 *
21 * @var string
22 */
23 const PACKAGE_VERSION = '0.10.0';
24
25 /**
26 * A list of all the routes.
27 *
28 * @var \WP_REST_Controller[]
29 */
30 private static $routes = array();
31
32 /**
33 * Before everything else starts getting initalized, we need to initialize Jetpack using the
34 * Config object.
35 *
36 * @return void
37 */
38 public static function configure() {
39 if ( did_action( 'jetpack_import_initialized' ) ) {
40 return;
41 }
42
43 $connection = new Connection_Manager();
44
45 // Initialize the REST API only if the user is connected.
46 if ( $connection->has_connected_owner() ) {
47 add_action( 'rest_api_init', array( __CLASS__, 'initialize_rest_api' ) );
48 }
49
50 /**
51 * Runs right after the Jetpack Import package is initialized.
52 *
53 * @since 0.1.0
54 */
55 do_action( 'jetpack_import_initialized' );
56 }
57
58 /**
59 * Register import related REST routes.
60 *
61 * @return void
62 */
63 public static function initialize_rest_api() {
64 // Set up the REST authentication hooks.
65 Rest_Authentication::init();
66
67 $routes = array(
68 'blocks' => new Endpoints\Block(),
69 'categories' => new Endpoints\Category(),
70 'comments' => new Endpoints\Comment(),
71 'custom-css' => new Endpoints\Custom_CSS(),
72 'end' => new Endpoints\End(),
73 'global-styles' => new Endpoints\Global_Style(),
74 'media' => new Endpoints\Attachment(),
75 'menu-items' => new Endpoints\Menu_Item(),
76 'menus' => new Endpoints\Menu(),
77 'navigation' => new Endpoints\Navigation(),
78 'pages' => new Endpoints\Page(),
79 'posts' => new Endpoints\Post(),
80 'start' => new Endpoints\Start(),
81 'tags' => new Endpoints\Tag(),
82 'template-parts' => new Endpoints\Template_Part(),
83 'templates' => new Endpoints\Template(),
84 );
85
86 /**
87 * Allow other plugins to modify import routes.
88 *
89 * @since 0.1.0
90 *
91 * @param array $routes Array of import routes.
92 */
93 self::$routes = apply_filters( 'jetpack_import_types', $routes );
94
95 // Register all the routes.
96 foreach ( self::$routes as $route ) {
97 $route->register_routes();
98 }
99 }
100 }
101