web/wp-admin/load-scripts.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
 * Disable error reporting
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
 * Set this to error_reporting( E_ALL ) or error_reporting( E_ALL | E_STRICT ) for debugging
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
error_reporting(0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
/** Set ABSPATH for execution */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
define( 'WPINC', 'wp-includes' );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
function __() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
function _c() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
function _x() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
function add_filter() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
function esc_attr() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
function apply_filters() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
function get_option() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
function is_lighttpd_before_150() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
function add_action() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
function do_action_ref_array() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
function get_bloginfo() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
function is_admin() {return true;}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
function site_url() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
function admin_url() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
 * @ignore
0d28b7c10758 First commit
ymh
parents:
diff changeset
    87
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    88
function wp_guess_url() {}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    89
0d28b7c10758 First commit
ymh
parents:
diff changeset
    90
function get_file($path) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    91
0d28b7c10758 First commit
ymh
parents:
diff changeset
    92
	if ( function_exists('realpath') )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    93
		$path = realpath($path);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    94
0d28b7c10758 First commit
ymh
parents:
diff changeset
    95
	if ( ! $path || ! @is_file($path) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    96
		return '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    97
0d28b7c10758 First commit
ymh
parents:
diff changeset
    98
	return @file_get_contents($path);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    99
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   100
0d28b7c10758 First commit
ymh
parents:
diff changeset
   101
$load = preg_replace( '/[^a-z0-9,_-]+/i', '', $_GET['load'] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   102
$load = explode(',', $load);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   103
0d28b7c10758 First commit
ymh
parents:
diff changeset
   104
if ( empty($load) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   105
	exit;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   106
0d28b7c10758 First commit
ymh
parents:
diff changeset
   107
require(ABSPATH . WPINC . '/script-loader.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   108
require(ABSPATH . WPINC . '/version.php');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   109
0d28b7c10758 First commit
ymh
parents:
diff changeset
   110
$compress = ( isset($_GET['c']) && $_GET['c'] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   111
$force_gzip = ( $compress && 'gzip' == $_GET['c'] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   112
$expires_offset = 31536000;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   113
$out = '';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   114
0d28b7c10758 First commit
ymh
parents:
diff changeset
   115
$wp_scripts = new WP_Scripts();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   116
wp_default_scripts($wp_scripts);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   117
0d28b7c10758 First commit
ymh
parents:
diff changeset
   118
foreach( $load as $handle ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   119
	if ( !array_key_exists($handle, $wp_scripts->registered) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   120
		continue;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   121
0d28b7c10758 First commit
ymh
parents:
diff changeset
   122
	$path = ABSPATH . $wp_scripts->registered[$handle]->src;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   123
	$out .= get_file($path) . "\n";
0d28b7c10758 First commit
ymh
parents:
diff changeset
   124
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   125
0d28b7c10758 First commit
ymh
parents:
diff changeset
   126
header('Content-Type: application/x-javascript; charset=UTF-8');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   127
header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   128
header("Cache-Control: public, max-age=$expires_offset");
0d28b7c10758 First commit
ymh
parents:
diff changeset
   129
0d28b7c10758 First commit
ymh
parents:
diff changeset
   130
if ( $compress && ! ini_get('zlib.output_compression') && 'ob_gzhandler' != ini_get('output_handler') && isset($_SERVER['HTTP_ACCEPT_ENCODING']) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   131
	header('Vary: Accept-Encoding'); // Handle proxies
0d28b7c10758 First commit
ymh
parents:
diff changeset
   132
	if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   133
		header('Content-Encoding: deflate');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   134
		$out = gzdeflate( $out, 3 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   135
	} elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   136
		header('Content-Encoding: gzip');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   137
		$out = gzencode( $out, 3 );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   138
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   139
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   140
0d28b7c10758 First commit
ymh
parents:
diff changeset
   141
echo $out;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   142
exit;