PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 18.2
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v18.2
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / admin / class-admin-asset-analysis-worker-location.php

class-admin-asset-analysis-worker-location.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 18.2, at admin/class-admin-asset-analysis-worker-location.php

76 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin
6 */
7
8 /**
9 * Represents a way to determine the analysis worker asset location.
10 */
11 final class WPSEO_Admin_Asset_Analysis_Worker_Location implements WPSEO_Admin_Asset_Location {
12
13 /**
14 * Holds the asset's location.
15 *
16 * @var WPSEO_Admin_Asset_Location
17 */
18 private $asset_location;
19
20 /**
21 * Holds the asset itself.
22 *
23 * @var WPSEO_Admin_Asset
24 */
25 private $asset;
26
27 /**
28 * Constructs the location of the analysis worker asset.
29 *
30 * @param string $flat_version The flat version of the asset.
31 * @param string $name The name of the analysis worker asset.
32 */
33 public function __construct( $flat_version = '', $name = 'analysis-worker' ) {
34 if ( $flat_version === '' ) {
35 $asset_manager = new WPSEO_Admin_Asset_Manager();
36 $flat_version = $asset_manager->flatten_version( WPSEO_VERSION );
37 }
38
39 $analysis_worker = $name . '-' . $flat_version . '.js';
40
41 $this->asset_location = WPSEO_Admin_Asset_Manager::create_default_location();
42 $this->asset = new WPSEO_Admin_Asset(
43 [
44 'name' => $name,
45 'src' => $analysis_worker,
46 ]
47 );
48 }
49
50 /**
51 * Retrieves the analysis worker asset.
52 *
53 * @return WPSEO_Admin_Asset The analysis worker asset.
54 */
55 public function get_asset() {
56 return $this->asset;
57 }
58
59 /**
60 * Determines the URL of the asset on the dev server.
61 *
62 * @param WPSEO_Admin_Asset $asset The asset to determine the URL for.
63 * @param string $type The type of asset. Usually JS or CSS.
64 *
65 * @return string The URL of the asset.
66 */
67 public function get_url( WPSEO_Admin_Asset $asset, $type ) {
68 $scheme = wp_parse_url( $asset->get_src(), PHP_URL_SCHEME );
69 if ( in_array( $scheme, [ 'http', 'https' ], true ) ) {
70 return $asset->get_src();
71 }
72
73 return $this->asset_location->get_url( $asset, $type );
74 }
75 }
76