/var/www/html_sp/wp-admin/load-styles.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php

/*
 * The error_reporting() function can be disabled in php.ini. On systems where that is the case,
 * it's best to add a dummy function to the wp-config.php file, but as this call to the function
 * is run prior to wp-config.php loading, it is wrapped in a function_exists() check.
 */
if ( function_exists'error_reporting' ) ) {
    
/*
     * Disable error reporting.
     *
     * Set this to error_reporting( -1 ) for debugging.
     */
    
error_reporting);
}

// Set ABSPATH for execution.
if ( ! defined'ABSPATH' ) ) {
    
define'ABSPATH'dirname__DIR__ ) . '/' );
}

define'WPINC''wp-includes' );
define'WP_CONTENT_DIR'ABSPATH 'wp-content' );

require 
ABSPATH 'wp-admin/includes/noop.php';
require 
ABSPATH WPINC '/theme.php';
require 
ABSPATH WPINC '/class-wp-theme-json-resolver.php';
require 
ABSPATH WPINC '/global-styles-and-settings.php';
require 
ABSPATH WPINC '/script-loader.php';
require 
ABSPATH WPINC '/version.php';

$protocol $_SERVER['SERVER_PROTOCOL'];
if ( ! 
in_array$protocol, array( 'HTTP/1.1''HTTP/2''HTTP/2.0''HTTP/3' ), true ) ) {
    
$protocol 'HTTP/1.0';
}

$load $_GET['load'];
if ( 
is_array$load ) ) {
    
ksort$load );
    
$load implode''$load );
}

$load preg_replace'/[^a-z0-9,_-]+/i'''$load );
$load array_uniqueexplode','$load ) );

if ( empty( 
$load ) ) {
    
header"$protocol 400 Bad Request" );
    exit;
}

$rtl            = ( isset( $_GET['dir'] ) && 'rtl' === $_GET['dir'] );
$expires_offset 31536000// 1 year.
$out            '';

$wp_styles = new WP_Styles();
wp_default_styles$wp_styles );

$etag $wp_styles->get_etag$load );

if ( isset( 
$_SERVER['HTTP_IF_NONE_MATCH'] ) && stripslashes$_SERVER['HTTP_IF_NONE_MATCH'] ) === $etag ) {
    
header"$protocol 304 Not Modified" );
    exit;
}

foreach ( 
$load as $handle ) {
    if ( ! 
array_key_exists$handle$wp_styles->registered ) ) {
        continue;
    }

    
$style $wp_styles->registered$handle ];

    if ( empty( 
$style->src ) ) {
        continue;
    }

    
$path ABSPATH $style->src;

    if ( 
$rtl && ! empty( $style->extra['rtl'] ) ) {
        
// All default styles have fully independent RTL files.
        
$path str_replace'.min.css''-rtl.min.css'$path );
    }

    
$content get_file$path ) . "\n";

    
// Note: str_starts_with() is not used here, as wp-includes/compat.php is not loaded in this file.
    
if ( === strpos$style->src'/' WPINC '/css/' ) ) {
        
$content str_replace'../images/''../' WPINC '/images/'$content );
        
$content str_replace'../js/tinymce/''../' WPINC '/js/tinymce/'$content );
        
$content str_replace'../fonts/''../' WPINC '/fonts/'$content );
        
$out    .= $content;
    } else {
        
$out .= str_replace'../images/''images/'$content );
    }
}

header"Etag: $etag);
header'Content-Type: text/css; charset=UTF-8' );
header'Expires: ' gmdate'D, d M Y H:i:s'time() + $expires_offset ) . ' GMT' );
header"Cache-Control: public, max-age=$expires_offset);

echo 
$out;
exit;