File Editor
Directories:
.. (Back)
Files:
awaitingmoderation.php
badbehaviour.php
domain-mapping.php
dynamic-cache-test.php
jetpack.php
multisite.php
wptouch.php
Create New File
Create
Edit File: wptouch.php
<?php function wp_super_cache_wptouch_admin() { global $cache_wptouch, $wp_cache_config_file, $valid_nonce; $cache_wptouch = '' === $cache_wptouch ? '0' : $cache_wptouch; if ( isset( $_POST['cache_wptouch'] ) && $valid_nonce ) { if ( $cache_wptouch === (int) $_POST['cache_wptouch'] ) { $changed = false; } else { $changed = true; } $cache_wptouch = (int) $_POST['cache_wptouch']; wp_cache_replace_line( '^ *\$cache_wptouch', "\$cache_wptouch = '$cache_wptouch';", $wp_cache_config_file ); } $id = 'wptouch-section'; ?> <fieldset id="<?php echo $id; ?>" class="options"> <h4><?php _e( 'WPTouch', 'wp-super-cache' ); ?></h4> <form name="wp_manager" action="" method="post"> <label><input type="radio" name="cache_wptouch" value="1" <?php if ( $cache_wptouch ) { echo 'checked="checked" '; } ?>/> <?php _e( 'Enabled', 'wp-super-cache' ); ?></label> <label><input type="radio" name="cache_wptouch" value="0" <?php if ( ! $cache_wptouch ) { echo 'checked="checked" '; } ?>/> <?php _e( 'Disabled', 'wp-super-cache' ); ?></label> <?php echo '<p>' . __( 'Provides support for <a href="https://wordpress.org/plugins/wptouch/">WPTouch</a> mobile theme and plugin.', 'wp-super-cache' ) . '</p>'; if ( isset( $changed ) && $changed ) { if ( $cache_wptouch ) { $status = __( 'enabled', 'wp-super-cache' ); } else { $status = __( 'disabled', 'wp-super-cache' ); } echo '<p><strong>' . sprintf( __( 'WPTouch support is now %s', 'wp-super-cache' ), $status ) . '</strong></p>'; } echo '<div class="submit"><input class="button-primary" ' . SUBMITDISABLED . 'type="submit" value="' . __( 'Update', 'wp-super-cache' ) . '" /></div>'; wp_nonce_field( 'wp-cache' ); ?> </form> </fieldset> <?php } add_cacheaction( 'cache_admin_page', 'wp_super_cache_wptouch_admin' ); function wp_super_cache_wptouch_notice() { global $cache_enabled; if ( $cache_enabled ) { echo '<div class="error"><p><strong>' . __( 'WPTouch plugin detected! Please go to the Supercache plugins page and enable the WPTouch helper plugin.', 'wp-super-cache' ) . '</strong></p></div>'; } } function wp_super_cache_wptouch_exists() { global $cache_wptouch; if ( '1' === $cache_wptouch ) { return false; } if ( is_admin() && function_exists( 'wptouch_get_plugin_dir_name' ) ) { add_action( 'admin_notices', 'wp_super_cache_wptouch_notice' ); } } if ( isset( $_GET['page'] ) && 'wpsupercache' === $_GET['page'] ) { add_cacheaction( 'add_cacheaction', 'wp_super_cache_wptouch_exists' ); } // disable mobile checking if. function wp_super_cache_maybe_disable_wptouch( $t ) { global $cache_wptouch, $wptouch_exclude_ua; if ( '1' !== $cache_wptouch ) { return false; } if ( ( isset( $_COOKIE['wptouch_switch_toggle'] ) && 'normal' === $_COOKIE['wptouch_switch_toggle'] ) || ( isset( $_COOKIE['wptouch-pro-view'] ) && 'desktop' === $_COOKIE['wptouch-pro-view'] ) ) { return true; } $ua = explode( ',', $wptouch_exclude_ua ); foreach ( $ua as $agent ) { if ( preg_match( "#$agent#i", $_SERVER['HTTP_HOST'] ) ) { return true; // disable mobile ua check if matches the exclude list in wptouch. } } return false; } add_cacheaction( 'disable_mobile_check', 'wp_super_cache_maybe_disable_wptouch' ); function wp_super_cache_wptouch_browsers( $browsers ) { global $wptouch_exclude_ua, $wp_cache_config_file; if ( false === function_exists( 'bnc_wptouch_get_exclude_user_agents' ) || false === function_exists( 'bnc_wptouch_get_user_agents' ) ) { return $browsers; } $browsers = implode( ',', bnc_wptouch_get_exclude_user_agents() ); // hack, support exclude agents too. if ( $browsers !== $wptouch_exclude_ua ) { wp_cache_replace_line( '^ *\$wptouch_exclude_ua', "\$wptouch_exclude_ua = '$browsers';", $wp_cache_config_file ); $wptouch_exclude_ua = $browsers; } return bnc_wptouch_get_user_agents(); } function wp_super_cache_wptouch_prefixes( $prefixes ) { return array(); // wptouch doesn't support UA prefixes. } function wp_super_cache_wptouch_cookie_check( $cache_key ) { if ( false === isset( $_COOKIE['wptouch_switch_toggle'] ) ) { return $cache_key; } if ( 'normal' === $_COOKIE['wptouch_switch_toggle'] || 'mobile' === $_COOKIE['wptouch_switch_toggle'] ) { return $_COOKIE['wptouch_switch_toggle']; } if ( isset( $_COOKIE['wptouch-pro-view'] ) ) { if ( 'desktop' === $_COOKIE['wptouch-pro-view'] ) { return 'normal'; } else { return $_COOKIE['wptouch-pro-view']; } } return $cache_key; } if ( isset( $cache_wptouch ) && '1' === $cache_wptouch ) { add_cacheaction( 'wp_super_cache_mobile_browsers', 'wp_super_cache_wptouch_browsers' ); add_cacheaction( 'wp_super_cache_mobile_prefixes', 'wp_super_cache_wptouch_prefixes' ); add_cacheaction( 'wp_cache_check_mobile', 'wp_super_cache_wptouch_cookie_check' ); } function wpsc_wptouch_list( $list ) { $list['wptouch'] = array( 'key' => 'wptouch', 'url' => 'https://wordpress.org/plugins/wptouch/', 'title' => __( 'WPTouch', 'wp-super-cache' ), 'desc' => __( 'Provides support for WPTouch mobile theme and plugin.', 'wp-super-cache' ), ); return $list; } add_cacheaction( 'wpsc_filter_list', 'wpsc_wptouch_list' );
Save Changes
Rename File
Rename