109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
function wp_supercache_badbehaviour( $file ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
global $cache_badbehaviour; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
if( $cache_badbehaviour != 1 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
return $file; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
wp_supercache_badbehaviour_include(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
return $file; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
add_cacheaction( 'wp_cache_served_cache_file', 'wp_supercache_badbehaviour' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
function wp_supercache_badbehaviour_include() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
$bbfile = get_bb_file_loc(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
if( !$bbfile ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
require_once( $bbfile ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
function get_bb_file_loc() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
global $cache_badbehaviour_file; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
if( $cache_badbehaviour_file ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
return $cache_badbehaviour_file; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
if( file_exists( WP_CONTENT_DIR . '/plugins/bad-behavior/bad-behavior-generic.php' ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
$bbfile = WP_CONTENT_DIR . '/plugins/bad-behavior/bad-behavior-generic.php'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
} elseif( file_exists( WP_CONTENT_DIR . '/plugins/Bad-Behavior/bad-behavior-generic.php' ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
$bbfile = WP_CONTENT_DIR . '/plugins/Bad-Behavior/bad-behavior-generic.php'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
$bbfile = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
return $bbfile; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
function wp_supercache_badbehaviour_admin() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
global $cache_badbehaviour, $wp_cache_config_file, $valid_nonce; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
$cache_badbehaviour = $cache_badbehaviour == '' ? 'no' : $cache_badbehaviour; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
$err = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
if(isset($_POST['cache_badbehaviour']) && $valid_nonce) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
$bbfile = get_bb_file_loc(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
if( !$bbfile ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
$_POST[ 'cache_badbehaviour' ] = 'Disable'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
$err = __( 'Bad Behaviour not found. Please check your install.', 'wp-super-cache' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
$cache_badbehaviour = $_POST['cache_badbehaviour'] == __( 'Disable', 'wp-super-cache' ) ? 0 : 1; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
wp_cache_replace_line('^ *\$cache_compression', "\$cache_compression = 0;", $wp_cache_config_file); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
wp_cache_replace_line('^ *\$cache_badbehaviour', "\$cache_badbehaviour = $cache_badbehaviour;", $wp_cache_config_file); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
wp_cache_replace_line('^ *\$cache_badbehaviour_file', "\$cache_badbehaviour_file = '$bbfile';", $wp_cache_config_file); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
echo '<form name="wp_supercache_badbehaviour_admin" action="'. $_SERVER["REQUEST_URI"] . '" method="post">'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
wp_nonce_field('wp-cache'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
if( $cache_badbehaviour == 0 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
$bb_status = __( 'disabled', 'wp-super-cache' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
$bb_status = __( 'enabled', 'wp-super-cache' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
wp_super_cache_disable(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
echo '<strong>' . sprintf( __( 'Bad Behaviour support is %s', 'wp-super-cache' ), $bb_status ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
echo '.</strong>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
printf( __( '(Only half-on caching supported, disabled compression and requires <a href="http://www.bad-behavior.ioerror.us/">Bad Behavior</a> in "%s/plugins/bad-behavior/") ', 'wp-super-cache' ), WP_CONTENT_DIR ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
if( $cache_badbehaviour == 0 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
echo '<input type="submit" name="cache_badbehaviour" value="' . __( 'Enable', 'wp-super-cache' ) . '" />'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
echo '<input type="submit" name="cache_badbehaviour" value="' . __( 'Disable', 'wp-super-cache' ) . '" />'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
echo "</form>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
if( $err ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
echo "<p><strong>" . __( 'Warning!', 'wp-super-cache' ) . "</strong> $err</p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
add_cacheaction( 'cache_admin_page', 'wp_supercache_badbehaviour_admin' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
?> |