• File: class-admin-asset-dev-server-location.php
  • Full Path: /home/matthif/www/wp-content/plugins/wordpress-seo/admin/class-admin-asset-dev-server-location.php
  • Date Modified: 02/24/2024 11:29 PM
  • File size: 1.63 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin
 */

/**
 * Changes the asset paths to dev server paths.
 */
final class WPSEO_Admin_Asset_Dev_Server_Location implements WPSEO_Admin_Asset_Location {

    
/**
     * Holds the dev server's default URL.
     *
     * @var string
     */
    
public const DEFAULT_URL 'http://localhost:8080';

    
/**
     * Holds the url where the server is located.
     *
     * @var string
     */
    
private $url;

    
/**
     * Class constructor.
     *
     * @param string|null $url Where the dev server is located.
     */
    
public function __construct$url null ) {
        if ( 
$url === null ) {
            
$url self::DEFAULT_URL;
        }

        
$this->url $url;
    }

    
/**
     * Determines the URL of the asset on the dev server.
     *
     * @param WPSEO_Admin_Asset $asset The asset to determine the URL for.
     * @param string            $type  The type of asset. Usually JS or CSS.
     *
     * @return string The URL of the asset.
     */
    
public function get_urlWPSEO_Admin_Asset $asset$type ) {
        if ( 
$type === WPSEO_Admin_Asset::TYPE_CSS ) {
            return 
$this->get_default_url$asset$type );
        }

        
$path sprintf'js/dist/%s%s.js'$asset->get_src(), $asset->get_suffix() );

        return 
trailingslashit$this->url ) . $path;
    }

    
/**
     * Determines the URL of the asset not using the dev server.
     *
     * @param WPSEO_Admin_Asset $asset The asset to determine the URL for.
     * @param string            $type  The type of asset.
     *
     * @return string The URL of the asset file.
     */
    
public function get_default_urlWPSEO_Admin_Asset $asset$type ) {
        
$default_location = new WPSEO_Admin_Asset_SEO_LocationWPSEO_FILE );

        return 
$default_location->get_url$asset$type );
    }
}