Skip to content

Commit 77f3d99

Browse files
committed
Merge pull request #49 from x-team/issue-48
Fix rewrite rule broken by filtering home_url
2 parents 67085f1 + 30f64c8 commit 77f3d99

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

dependency-minification.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,26 +84,26 @@ static function setup() {
8484
static function hook_rewrites() {
8585
add_filter( 'query_vars', array( __CLASS__, 'filter_query_vars' ) );
8686
add_action( 'pre_get_posts', array( __CLASS__, 'handle_request' ) );
87-
self::add_rewrite_rule();
87+
add_filter( 'rewrite_rules_array', array( __CLASS__, 'add_rewrite_rule' ), 99999 );
8888
}
8989

9090
static function get_rewrite_regex() {
91-
return sprintf( '^%s/%s', self::$options['endpoint'], self::FILENAME_PATTERN );
91+
return sprintf( '^(?:.*/)?%s/%s', self::$options['endpoint'], self::FILENAME_PATTERN );
9292
}
9393

94-
static function add_rewrite_rule() {
94+
static function add_rewrite_rule( $rules ) {
9595
$regex = self::get_rewrite_regex();
9696
$redirect = 'index.php?';
9797
for ( $i = 0; $i < count( self::$query_vars ); $i += 1 ) {
9898
$redirect .= sprintf( '%s=$matches[%d]&', self::$query_vars[$i], $i + 1 );
9999
}
100-
add_rewrite_rule( $regex, $redirect, 'top' );
100+
$new_rules[$regex] = $redirect;
101+
102+
return array_merge( $new_rules, $rules );
101103
}
102104

103105
static function remove_rewrite_rule() {
104-
$regex = self::get_rewrite_regex();
105-
global $wp_rewrite;
106-
unset( $wp_rewrite->extra_rules_top[ $regex ] );
106+
remove_filter( 'rewrite_rules_array', array( __CLASS__, 'add_rewrite_rule' ), 99999 );
107107
}
108108

109109
protected static $is_footer = array(
@@ -116,7 +116,7 @@ static function remove_rewrite_rule() {
116116
*/
117117
static function activate() {
118118
self::setup();
119-
self::add_rewrite_rule();
119+
add_filter( 'rewrite_rules_array', array( __CLASS__, 'add_rewrite_rule' ), 99999 );
120120
flush_rewrite_rules();
121121
}
122122

@@ -398,7 +398,7 @@ static function admin_page() {
398398
$_link_params = $link_params;
399399
$_link_params['depmin_task'] = 'purge';
400400
?>
401-
<a class="submitdelete" title="<?php esc_attr_e( 'Delete the cached error to try again.', 'dependency-minification' ) ?>" href="<?php echo esc_url( add_query_arg( $_link_params, admin_url( 'admin-ajax.php' ) ) ) ?>">
401+
<a class="submitdelete" title="<?php esc_attr_e( 'Delete the cached error to try again.', 'depmin' ) ?>" href="<?php echo esc_url( add_query_arg( $_link_params, admin_url( 'admin-ajax.php' ) ) ) ?>">
402402
<?php esc_html_e( 'Try again', 'dependency-minification' ) ?>
403403
</a>
404404
</span>
@@ -505,7 +505,7 @@ static function get_cache_option_name( $src_hash ) {
505505
static function get_dependency_minified_url( array $deps, $type ) {
506506
$src_hash = self::hash_array( wp_list_pluck( $deps, 'src' ) );
507507
$ver_hash = self::hash_array( wp_list_pluck( $deps, 'ver' ) );
508-
$src = trailingslashit( home_url( self::$options['endpoint'] ) );
508+
$src = trailingslashit( get_option( 'home' ) . DIRECTORY_SEPARATOR . self::$options['endpoint'] );
509509
$src .= join( '.', array(
510510
join( ',', wp_list_pluck( $deps, 'handle' ) ),
511511
$src_hash,
@@ -813,7 +813,7 @@ static function minify( $cached ) {
813813
try {
814814
$is_css = ( 'styles' === $type );
815815
if ( 'scripts' === $type ) {
816-
require_once( dirname(__FILE__) . '/minify/JS/JSMin.php' );
816+
require_once( dirname(__FILE__) . '/minify/JS/JSMinPlus.php' );
817817
} elseif ( 'styles' === $type ) {
818818
require_once( dirname(__FILE__) . '/minify/CSS/UriRewriter.php' );
819819
require_once( dirname(__FILE__) . '/minify/CSS/Compressor.php' );
@@ -883,7 +883,7 @@ static function minify( $cached ) {
883883
// is the comment-reply.js in WordPress.
884884
if ( 'scripts' === $type ) {
885885
$minified_contents = join( "\n;;\n", $contents_for_each_dep );
886-
$minified_contents = JSMin::minify($minified_contents);
886+
$minified_contents = JSMinPlus::minify($minified_contents);
887887
if ( false === $minified_contents ) {
888888
throw new Dependency_Minification_Exception( 'JavaScript parse error' );
889889
}

0 commit comments

Comments
 (0)