PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.2-a.1
Jetpack – WP Security, Backup, Speed, & Growth v16.2-a.1
16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / jetpack_vendor / automattic / jetpack-import / src / endpoints / trait-import.php
jetpack / jetpack_vendor / automattic / jetpack-import / src / endpoints Last commit date
class-attachment.php 8 months ago class-block.php 8 months ago class-category.php 8 months ago class-comment.php 8 months ago class-custom-css.php 8 months ago class-end.php 8 months ago class-global-style.php 8 months ago class-menu-item.php 8 months ago class-menu.php 8 months ago class-navigation.php 8 months ago class-page.php 8 months ago class-post.php 2 months ago class-start.php 8 months ago class-tag.php 8 months ago class-template-part.php 8 months ago class-template.php 8 months ago trait-import-id.php 8 months ago trait-import.php 8 months ago
trait-import.php
119 lines
1 <?php
2 /**
3 * Jetpack Import unique import ID.
4 *
5 * @package automattic/jetpack-import
6 */
7
8 namespace Automattic\Jetpack\Import\Endpoints;
9
10 use WP_Error;
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit( 0 );
14 }
15
16 /**
17 * Import trait. Base class for all import endpoints.
18 *
19 * @property array|false $allow_batch Batching details.
20 */
21 trait Import {
22 /**
23 * REST API namespace.
24 *
25 * @var string
26 */
27 private static $rest_namespace = 'jetpack/v4/import';
28
29 /**
30 * REST base path.
31 *
32 * @var ?string
33 */
34 protected $rest_base;
35
36 /**
37 * Registers the routes for the objects of the controller.
38 *
39 * @see WP_REST_Controller::register_rest_route()
40 */
41 public function register_routes() {
42 register_rest_route(
43 self::$rest_namespace,
44 '/' . $this->rest_base,
45 $this->get_route_options()
46 );
47 }
48
49 /**
50 * Ensure that the user has permissions to import.
51 *
52 * @return bool|WP_Error
53 */
54 public function import_permissions_callback() {
55 // The permission check is done in the REST API authentication. It's the same
56 // as the one used in wp-admin/import.php.
57 if ( \current_user_can( 'import' ) ) {
58 return true;
59 }
60
61 $error_msg = \esc_html__(
62 'You are not allowed to perform this action.',
63 'jetpack-import'
64 );
65
66 return new WP_Error( 'rest_forbidden', $error_msg, array( 'status' => \rest_authorization_required_code() ) );
67 }
68
69 /**
70 * Get the register route options.
71 *
72 * @see register_rest_route()
73 *
74 * @return array The options.
75 */
76 protected function get_route_options() {
77 return array(
78 array(
79 'methods' => \WP_REST_Server::CREATABLE,
80 'callback' => array( $this, 'create_item' ),
81 'permission_callback' => array( $this, 'import_permissions_callback' ),
82 'args' => $this->get_endpoint_args_for_item_schema( \WP_REST_Server::CREATABLE ),
83 ),
84 'allow_batch' => $this->allow_batch,
85 'schema' => array( $this, 'get_public_item_schema' ),
86 );
87 }
88
89 /**
90 * Ensure that the HTTP status is correct.
91 *
92 * @param WP_Error $response Response error object.
93 * @param int $error_code Error code.
94 * @param int $status HTTP status.
95 */
96 protected function ensure_http_status( $response, $error_code, $status ) {
97 if ( is_wp_error( $response ) && in_array( $error_code, $response->get_error_codes(), true ) ) {
98 $data = $response->get_error_data( $error_code );
99
100 if ( isset( $data['status'] ) ) {
101 $data['status'] = $status;
102
103 $response->add_data( $data );
104 }
105 }
106
107 return $response;
108 }
109
110 /**
111 * Set the importing constant.
112 */
113 public function set_importing() {
114 if ( ! defined( 'WP_IMPORTING' ) ) {
115 define( 'WP_IMPORTING', true );
116 }
117 }
118 }
119