summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/jetpack_vendor/automattic/jetpack-backup/src/class-initial-state.php')
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-backup/src/class-initial-state.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-backup/src/class-initial-state.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-backup/src/class-initial-state.php
new file mode 100644
index 00000000..e5bf0a84
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-backup/src/class-initial-state.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * The React initial state.
+ *
+ * @package automattic/jetpack-backup-plugin
+ */
+
+namespace Automattic\Jetpack\Backup;
+
+use Automattic\Jetpack\Connection\Plugin_Storage as Connection_Plugin_Storage;
+use Automattic\Jetpack\Status;
+
+/**
+ * The React initial state.
+ */
+class Initial_State {
+ /**
+ * Get the initial state data.
+ *
+ * @return array
+ */
+ private function get_data() {
+ return array(
+ 'API' => array(
+ 'WP_API_root' => esc_url_raw( rest_url() ),
+ 'WP_API_nonce' => wp_create_nonce( 'wp_rest' ),
+ 'registrationNonce' => wp_create_nonce( 'jetpack-registration-nonce' ),
+ ),
+ 'jetpackStatus' => array(
+ 'calypsoSlug' => ( new Status() )->get_site_suffix(),
+ ),
+ 'connectedPlugins' => Connection_Plugin_Storage::get_all(),
+ 'siteData' => array(
+ 'id' => \Jetpack_Options::get_option( 'id' ),
+ 'title' => get_bloginfo( 'name' ) ? get_bloginfo( 'name' ) : get_site_url(),
+ ),
+ 'assets' => array(
+ 'buildUrl' => plugins_url( '../build/', __FILE__ ),
+ ),
+ );
+ }
+
+ /**
+ * Render the initial state into a JavaScript variable.
+ *
+ * @return string
+ */
+ public function render() {
+ add_action( 'jetpack_use_iframe_authorization_flow', '__return_true' );
+
+ return 'var JPBACKUP_INITIAL_STATE=JSON.parse(decodeURIComponent("' . rawurlencode( wp_json_encode( $this->get_data() ) ) . '"));';
+ }
+
+}