admin_url( 'admin-ajax.php' ), 'namespace' => WCPAI_NAMESPACE, 'client_credits' => $client->get_credits(), 'messages' => Messages::group( 'js' ), 'get_products_nonce' => $create_nonce( 'get_products' ), 'batch_request_nonce' => $create_nonce( 'submit_batreq' ), 'import_all_nonce' => $create_nonce( 'import_all_items' ), 'import_item_nonce' => $create_nonce( 'import_item' ), 'details_refresh_nonce' => $create_nonce( 'refresh_batreqdets_prod' ), 'optimize_all_nonce' => $create_nonce( 'optimize_all' ), 'hide_optimized_nonce' => $create_nonce( 'toggle_hide_optimized' ), 'enable_debug_support' => Settings::get( 'enable_debug_support' ) ? 'yes' : 'no', 'delete_batch_request_nonce' => $create_nonce( 'del_batreq' ), 'approval_tables_nonce' => $create_nonce( 'load_approval_table' ), 'dismiss_reset_notice_nonce' => $create_nonce( 'dismiss_reset_notice' ), 'refresh_single_status_nonce' => $create_nonce( 'refresh_single_batch_status' ), ); } /** * Enqueue product metabox script on the product edit screen. * * @param string $hook Current admin page hook. */ private static function enqueue_product_metabox_assets( $hook ): void { if ( ! current_user_can( 'manage_options' ) ) { return; } if ( ! in_array( $hook, array( 'post.php', 'post-new.php' ), true ) ) { return; } $post_type = get_post_type(); if ( false === $post_type && isset( $_GET['post'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $post_type = get_post_type( absint( wp_unslash( $_GET['post'] ) ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended } if ( false === $post_type && isset( $_GET['post_type'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $post_type = sanitize_key( wp_unslash( $_GET['post_type'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended } if ( 'product' !== $post_type ) { return; } $handle = self::$handle . 'product-metabox'; wp_register_script( $handle, WCPAI_PLUGIN_URL . 'assets/js/product-metabox.js', array(), WCPAI_VERSION, true ); wp_localize_script( $handle, 'ParallaxMetaboxVars', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'namespace' => WCPAI_NAMESPACE, 'messages' => Messages::group( 'js' ), ) ); wp_enqueue_script( $handle ); } /** * Enqueue all provided script handles. * * @param array $script_handles Script handles to enqueue. */ private static function enqueue_all_scripts( $script_handles = array() ): void { foreach ( $script_handles as $handle ) { wp_enqueue_script( $handle ); } } }