PluginProbe
WP Data Access – App Builder for Tables, Forms, Dashboards, Charts & Maps / 5.5.87
WP Data Access – App Builder for Tables, Forms, Dashboards, Charts & Maps v5.5.87
5.5.87 5.5.85 5.5.84 5.5.83 5.5.82 5.5.81 5.5.80 5.5.79 5.5.77 5.5.76 5.5.75 5.5.73 5.5.72 5.5.22 5.5.23 5.5.29 5.5.3 5.5.31 5.5.32 5.5.34 5.5.35 5.5.36 5.5.37 5.5.4 5.5.40 All 162 releases
← All changes | WPDataAccess/Data_Apps/WPDA_Container.php +30 -25 5.5.73 → 5.5.87 View file →
@@ -8,9 +8,9 @@
8 8 private $feedback = false;
9 9
10 10 private $fullscreen = false;
11 11
12 - private $pwa = false;
12 + protected $pwa = false;
13 13
14 14 private $hideTitleBar = false;
15 15
16 16 protected $builders = true;
@@ -46,9 +46,9 @@
46 46
47 47 protected function add_client( $entry_point, $app_id = null ) {
48 48 $mainjs = "{$entry_point}-" . WPDA::get_option( WPDA::OPTION_WPDA_CLIENT_VERSION ) . '.js';
49 49 $script_path = plugin_dir_url( __DIR__ ) . "../assets/dist/";
50 - $script_url = "{$script_path}{$mainjs}";
50 + $script_url = esc_url( "{$script_path}{$mainjs}" );
51 51 $app_site = wpda_freemius()->get_site();
52 52 unset($app_site->public_key);
53 53 unset($app_site->secret_key);
54 54 $app_licenses = wpda_freemius()->get_available_premium_licenses();
@@ -56,77 +56,82 @@
56 56 for ($i = 0; $i < count( $app_licenses ); $i++) {
57 57 unset($app_licenses[$i]->secret_key);
58 58 }
59 59 }
60 + // phpcs:disable WordPress.WP.EnqueuedResources.NonEnqueuedScript -- loading module
60 61 ?>
61 62
62 63 <script>
63 - if (! window.PP_APP_CONFIG) {
64 - window.PP_APP_CONFIG = {
65 - appDebug: <?php
64 + if (!window.PP_APP_CONFIG) {
65 + window.PP_APP_CONFIG = {
66 + appDebug: <?php
66 67 echo ( 'on' === WPDA::get_option( WPDA::OPTION_PLUGIN_DEBUG ) ? 'true' : 'false' );
67 68 ?>,
68 - appLocales: "<?php
69 + appLocales: "<?php
69 70 echo esc_url( $script_path ) . 'locales/';
70 71 ?>",
71 - appSite: <?php
72 + appSite: <?php
72 73 echo json_encode( $app_site, true );
73 74 ?>,
74 - appLicenses: <?php
75 + appLicenses: <?php
75 76 echo json_encode( array(
76 77 'license' => $app_licenses,
77 78 'local' => wpda_freemius()->can_use_premium_code__premium_only(),
78 79 ), true );
79 80 ?>,
80 - appTarget: "<?php
81 + appTarget: "<?php
81 82 echo ( is_admin() ? 'backend' : 'frontend' );
82 83 ?>",
83 - appIp: "<?php
84 - echo esc_attr( $_SERVER['REMOTE_ADDR'] );
84 + appIp: "<?php
85 + echo ( isset( $_SERVER['REMOTE_ADDR'] ) ? esc_html( sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) ) : '' );
85 86 ?>",
86 - appUser: "<?php
87 + appUser: "<?php
87 88 echo esc_attr( WPDA::get_current_user_login() );
88 89 ?>",
89 - appRoles: <?php
90 + appRoles: <?php
90 91 echo ( false === $this->builders ? json_encode( array() ) : json_encode( WPDA::get_current_user_roles() ) );
91 92 ?>,
92 - appLogin: <?php
93 + appLogin: <?php
93 94 echo ( 'anonymous' !== WPDA::get_current_user_login() ? 'true' : 'false' );
94 95 ?>,
95 - appVars: <?php
96 + appVars: <?php
97 + // phpcs:disable WordPress.Security.NonceVerification.Missing
96 98 echo json_encode( $_POST, true );
99 + // phpcs:enable WordPress.Security.NonceVerification.Missing
97 100 ?>,
98 - }
99 - }
100 - <?php
101 + }
102 + }
103 + <?php
101 104 if ( null !== $app_id ) {
102 105 // Supporting multiple apps on same page with different settings
103 106 ?>
104 - window.PP_APP_CONFIG[<?php
107 + window.PP_APP_CONFIG[<?php
105 108 echo esc_attr( $app_id );
106 109 ?>] = {
107 - appRoles: <?php
110 + appRoles: <?php
108 111 echo ( false === $this->builders ? json_encode( array() ) : json_encode( WPDA::get_current_user_roles() ) );
109 112 ?>,
110 - appFullscreen: <?php
113 + appFullscreen: <?php
111 114 echo ( $this->fullscreen ? 'true' : 'false' );
112 115 ?>,
113 - appPwa: <?php
116 + appPwa: <?php
114 117 echo ( $this->pwa ? 'true' : 'false' );
115 118 ?>,
116 - hideTitleBar: <?php
119 + hideTitleBar: <?php
117 120 echo ( $this->hideTitleBar ? 'true' : 'false' );
118 121 ?>,
119 - }
120 - <?php
122 + }
123 + <?php
121 124 }
122 125 ?>
123 126 </script>
127 +
124 128 <script type="module" src="<?php
125 129 echo esc_attr( $script_url );
126 130 ?>"></script>
127 131
128 132 <?php
133 + // phpcs:enable WordPress.WP.EnqueuedResources.NonEnqueuedScript
129 134 }
130 135
131 136 protected function send_feedback() {
132 137 return $this->feedback;