PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.7
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.7
16.3-a.5 16.3-a.7 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 All 506 releases
jetpack / jetpack_vendor / automattic / jetpack-backup / src / class-initial-state.php

class-initial-state.php in Jetpack – WP Security, Backup, Speed, & Growth 16.3-a.7, at jetpack_vendor/automattic/jetpack-backup/src/class-initial-state.php

70 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 * The React initial state.
4 *
5 * @package automattic/jetpack-backup-plugin
6 */
7
8 // After changing this file, consider increasing the version number ("VXXX") in all the files using this namespace, in
9 // order to ensure that the specific version of this file always get loaded. Otherwise, Jetpack autoloader might decide
10 // to load an older/newer version of the class (if, for example, both the standalone and bundled versions of the plugin
11 // are installed, or in some other cases).
12 namespace Automattic\Jetpack\Backup\V0005;
13
14 use Automattic\Jetpack\Connection\Plugin_Storage as Connection_Plugin_Storage;
15 use Automattic\Jetpack\Status;
16 use Jetpack_Options;
17 use function add_action;
18 use function admin_url;
19 use function esc_url;
20 use function esc_url_raw;
21 use function get_bloginfo;
22 use function get_site_url;
23 use function plugins_url;
24 use function rest_url;
25 use function wp_create_nonce;
26 use function wp_json_encode;
27
28 /**
29 * The React initial state.
30 */
31 class Initial_State {
32 /**
33 * Get the initial state data.
34 *
35 * @return array
36 */
37 private function get_data() {
38 return array(
39 'API' => array(
40 'WP_API_root' => esc_url_raw( rest_url() ),
41 'WP_API_nonce' => wp_create_nonce( 'wp_rest' ),
42 'registrationNonce' => wp_create_nonce( 'jetpack-registration-nonce' ),
43 ),
44 'jetpackStatus' => array(
45 'calypsoSlug' => ( new Status() )->get_site_suffix(),
46 ),
47 'connectedPlugins' => Connection_Plugin_Storage::get_all(),
48 'siteData' => array(
49 'id' => Jetpack_Options::get_option( 'id' ),
50 'title' => get_bloginfo( 'name' ) ? get_bloginfo( 'name' ) : get_site_url(),
51 'adminUrl' => esc_url( admin_url() ),
52 ),
53 'assets' => array(
54 'buildUrl' => plugins_url( '../build/', __FILE__ ),
55 ),
56 );
57 }
58
59 /**
60 * Render the initial state into a JavaScript variable.
61 *
62 * @return string
63 */
64 public function render() {
65 add_action( 'jetpack_use_iframe_authorization_flow', '__return_true' );
66
67 return 'var JPBACKUP_INITIAL_STATE=' . wp_json_encode( $this->get_data(), JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_AMP ) . ';';
68 }
69 }
70