| @@ -1,9 +1,9 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | -namespace PXLBSAdminify\Inc\Admin\Frames; | |
| 3 | +namespace WPAdminify\Inc\Admin\Frames; | |
| 4 | 4 | |
| 5 | -use PXLBSAdminify\Inc\Utils; | |
| 5 | +use WPAdminify\Inc\Utils; | |
| 6 | 6 | |
| 7 | 7 | // no direct access allowed |
| 8 | 8 | if (!defined('ABSPATH')) { |
| 9 | 9 | exit; |
| @@ -28,66 +28,33 @@ | ||
| 28 | 28 | add_filter("language_attributes", [$this, "page_attribute"]); |
| 29 | 29 | add_action('admin_enqueue_scripts', [$this, 'load_scripts']); |
| 30 | 30 | |
| 31 | 31 | // Reload the page after plugin activation/deactivation |
| 32 | - // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change. | |
| 33 | 32 | if ( isset( $_GET['activate'] ) || isset( $_GET['activate-multi'] ) || isset( $_GET['deactivate'] ) || isset( $_GET['deactivate-multi'] ) ) { |
| 34 | - add_action('admin_footer', [$this, 'render_reload_script']); | |
| 33 | + self::custom_plugin_change_reload(); | |
| 35 | 34 | } |
| 36 | 35 | } |
| 36 | + | |
| 37 | + static function custom_plugin_change_reload($actual_link = null) { | |
| 38 | + // if (shortcode_exists('ssa_booking')) { | |
| 39 | + // return; | |
| 40 | + // } Commented out to avoid issues with shortcode existence check as this plugin using iframe inside it. | |
| 37 | 41 | |
| 38 | - public static function render_reload_script() { | |
| 39 | - self::custom_plugin_change_reload(); | |
| 40 | - } | |
| 41 | - | |
| 42 | - /** | |
| 43 | - * Break the current page out of the Adminify UI iframe. | |
| 44 | - * | |
| 45 | - * @param string|null $actual_link Optional. URL to send the parent window to. | |
| 46 | - * When null, the parent simply reloads. | |
| 47 | - * @return void | |
| 48 | - */ | |
| 49 | - public static function custom_plugin_change_reload( $actual_link = null ) { | |
| 50 | - if ( null !== $actual_link ) { | |
| 51 | - // wp_json_encode(), not esc_js(): esc_js() turns "&" into "&", | |
| 52 | - // which a classic <script> does not decode, breaking query args. | |
| 53 | - echo '<script>parent.location.replace(' . wp_json_encode( | |
| 54 | - esc_url_raw( $actual_link ), | |
| 55 | - JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT | |
| 56 | - ) . ');</script>'; | |
| 57 | - | |
| 58 | - // The reload() below would abort the replace() navigation above. | |
| 59 | - return; | |
| 42 | + if (!is_null($actual_link)) { | |
| 43 | + echo "<script type='text/javascript'> | |
| 44 | + parent.location.replace('$actual_link'); | |
| 45 | + </script>"; | |
| 46 | + return; | |
| 47 | + }else{ | |
| 48 | + echo '<script type="text/javascript"> | |
| 49 | + parent.location.reload(); | |
| 50 | + </script>'; | |
| 60 | 51 | } |
| 61 | - | |
| 62 | - echo '<script>parent.location.reload();</script>'; | |
| 63 | 52 | } |
| 64 | 53 | |
| 65 | - /** | |
| 66 | - * Break out of the Adminify UI iframe, decided by the browser. | |
| 67 | - * | |
| 68 | - * Same job as custom_plugin_change_reload(), for requests that could not | |
| 69 | - * be classified server-side because the environment strips Fetch Metadata | |
| 70 | - * headers (see Utils::has_fetch_metadata()). The script checks the frame | |
| 71 | - * it actually runs in, so a genuine top-level load is left alone. | |
| 72 | - * | |
| 73 | - * @param string $actual_link URL to send the parent window to. | |
| 74 | - * @return void | |
| 75 | - */ | |
| 76 | - public static function maybe_break_out_of_frame( $actual_link ) { | |
| 77 | - $url = wp_json_encode( | |
| 78 | - esc_url_raw( $actual_link ), | |
| 79 | - JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT | |
| 80 | - ); | |
| 81 | - | |
| 82 | - echo '<script>(function(){var f;try{f=window.frameElement;}catch(e){return;}' | |
| 83 | - . 'if(!f||f.id!=="frame-adminify-app--iframe")return;' | |
| 84 | - . 'parent.location.replace(' . $url . ');})();</script>'; | |
| 85 | - } | |
| 86 | - | |
| 87 | 54 | public function load_scripts() |
| 88 | 55 | { |
| 89 | - wp_enqueue_style('frame-adminify--frame', PXLBSADMINIFY_ASSETS . 'admin/css/frame' . Utils::assets_ext('.css'), [], PXLBSADMINIFY_VER); | |
| 56 | + wp_enqueue_style('frame-adminify--frame', WP_ADMINIFY_ASSETS . 'admin/css/frame' . Utils::assets_ext('.css'), [], WP_ADMINIFY_VER); | |
| 90 | 57 | } |
| 91 | 58 | |
| 92 | 59 | public function page_attribute($attr) |
| 93 | 60 | { |