403 ] ); } check_admin_referer( 'nyxonn_builder_update_safe_mode' ); $enabled = isset( $_POST['safe_mode'] ) && '1' === sanitize_text_field( wp_unslash( $_POST['safe_mode'] ) ); update_option( self::OPTION_KEY, $enabled ? '1' : '0', false ); self::$enabled = $enabled; do_action( 'nyxonn_fx_safe_mode_changed', $enabled ); $fallback = admin_url( 'admin.php?page=nyxonn-builder-settings' ); $redirect = isset( $_POST['redirect_to'] ) ? wp_validate_redirect( esc_url_raw( wp_unslash( $_POST['redirect_to'] ) ), $fallback ) : $fallback; $redirect = add_query_arg( 'nyxonn_builder_notice', $enabled ? 'safe_mode_enabled' : 'safe_mode_disabled', $redirect ); wp_safe_redirect( $redirect ); exit; } public static function render_admin_notice() { if ( ! current_user_can( 'manage_options' ) ) { return; } $page = isset( $_GET['page'] ) ? sanitize_key( wp_unslash( $_GET['page'] ) ) : ''; if ( 'nx' !== $page && 0 !== strpos( $page, 'nx_' ) ) { return; } $notice = isset( $_GET['nyxonn_builder_notice'] ) ? sanitize_key( wp_unslash( $_GET['nyxonn_builder_notice'] ) ) : ''; if ( ! self::is_enabled() ) { if ( 'safe_mode_disabled' === $notice && 'nyxonn-builder-settings' !== $page ) { echo '

' . esc_html__( 'Nyxonn Builder Safe Mode is disabled. Normal frontend behavior has resumed.', 'nyxonn-builder' ) . '

'; } return; } $redirect = admin_url( 'admin.php?page=' . ( $page ?: 'nyxonn-builder-settings' ) ); ?>