get_boolean( 'common.hide_note_wp_content_permissions' ) ) {
$wp_content_mode = Util_File::get_file_permissions( WP_CONTENT_DIR );
if ( $wp_content_mode > 0755 ) {
$notes['generic_wp_content_writeable'] = sprintf(
__( '%s is write-able. When finished installing the plugin, change the permissions back to the default: chmod 755 %s. Permissions are currently %s. %s',
'w3-total-cache' ),
WP_CONTENT_DIR,
WP_CONTENT_DIR,
base_convert( Util_File::get_file_permissions( WP_CONTENT_DIR ), 10, 8 ),
Util_Ui::button_hide_note2( array(
'w3tc_default_config_state_master' => 'y',
'key' => 'common.hide_note_wp_content_permissions',
'value' => 'true' ) ) );
}
}
/**
* Check Zlib extension
*/
if ( !$state_master->get_boolean( 'common.hide_note_no_zlib' ) &&
!function_exists( 'gzencode' ) ) {
$notes['no_zlib'] = sprintf(
__( 'Unfortunately the PHP installation is incomplete, the zlib module is missing. This is a core PHP module. Notify the server administrator. %s',
'w3-total-cache' ),
Util_Ui::button_hide_note2( array(
'w3tc_default_config_state_master' => 'y',
'key' => 'common.hide_note_no_zlib',
'value' => 'true' ) ) );
}
/**
* Check if Zlib output compression is enabled
*/
if ( !$state_master->get_boolean( 'common.hide_note_zlib_output_compression' ) &&
Util_Environment::is_zlib_enabled() ) {
$notes['zlib_output_compression'] = sprintf(
__( 'Either the PHP configuration, web server configuration or a script in the WordPress installation has zlib.output_compression enabled.
Please locate and disable this setting to ensure proper HTTP compression behavior. %s',
'w3-total-cache' ),
Util_Ui::button_hide_note2( array(
'w3tc_default_config_state_master' => 'y',
'key' => 'common.hide_note_zlib_output_compression',
'value' => 'true' ) ) );
}
if ( $state_master->get_boolean( 'common.show_note.nginx_restart_required' ) ) {
$cf = Dispatcher::component( 'CacheFlush' );
$notes['nginx_restart_required'] = sprintf(
__( 'nginx.conf rules have been updated. Please restart nginx server to provide a consistent user experience. %s',
'w3-total-cache' ),
Util_Ui::button_hide_note2( array(
'w3tc_default_config_state_master' => 'y',
'key' => 'common.show_note.nginx_restart_required',
'value' => 'false' ) ) );
}
/**
* Preview mode
*/
if ( $c->is_preview() ) {
$notes['preview_mode'] = sprintf(
__( 'Preview mode is active: Changed settings will not take effect until preview mode is %s or %s.', 'w3-total-cache' ),
Util_Ui::button_link( __( 'deploy', 'w3-total-cache' ),
Util_Ui::url( array(
'w3tc_config_preview_deploy' => 'y' ) ) ),
Util_Ui::button_link( __( 'disable', 'w3-total-cache' ),
Util_Ui::url( array(
'w3tc_config_preview_disable' => 'y' ) ) ) ) .
'
'. sprintf( __( 'To preview any changed settings (without deploying): %s', 'w3-total-cache' ), Util_Ui::preview_link() ). '
'; } /** * Show notification after plugin activate/deactivate */ if ( $state_note->get( 'common.show_note.plugins_updated' ) && !is_network_admin() /* flushing under network admin do nothing */ ) { $texts = array(); if ( $c->get_boolean( 'pgcache.enabled' ) ) { $texts[] = Util_Ui::button_link( __( 'empty the page cache', 'w3-total-cache' ), Util_Ui::url( array( 'w3tc_flush_posts' => 'y' ) ) ); } if ( $c->get_boolean( 'minify.enabled' ) ) { $texts[] = sprintf( __( 'check the %s to maintain the desired user experience', 'w3-total-cache' ), Util_Ui::button_link( __( 'minify settings', 'w3-total-cache' ), Util_Ui::url( array( 'w3tc_default_config_state_note' => 'y', 'key' => 'common.show_note.plugins_updated', 'value' => 'false' ) ) ) ); } if ( count( $texts ) ) { $notes['some_plugins_activated'] = sprintf( __( 'One or more plugins have been activated or deactivated, please %s. %s', 'w3-total-cache' ), implode( __( ' and ', 'w3-total-cache' ), $texts ), Util_Ui::button_hide_note2( array( 'w3tc_default_config_state_note' => 'y', 'key' => 'common.show_note.plugins_updated', 'value' => 'false' ) ) ); } } /** * Show notification when flush_statics needed */ if ( $c->get_boolean( 'browsercache.enabled' ) && $state_note->get( 'common.show_note.flush_statics_needed' ) && !is_network_admin() /* flushing under network admin do nothing */ && !$c->is_preview() ) { $notes['flush_statics_needed'] = sprintf( __( 'The setting change(s) made either invalidate the cached data or modify the behavior of the site. %s now to provide a consistent user experience. %s', 'w3-total-cache' ), Util_Ui::button_link( 'Empty the static files cache', Util_Ui::url( array( 'w3tc_flush_statics' => 'y' ) ) ), Util_Ui::button_hide_note2( array( 'w3tc_default_config_state_note' => 'y', 'key' => 'common.show_note.flush_statics_needed', 'value' => 'false' ) ) ); } /** * Show notification when flush_posts needed */ if ( $state_note->get( 'common.show_note.flush_posts_needed' ) && !is_network_admin() /* flushing under network admin do nothing */ && !$c->is_preview() && !isset( $notes['flush_statics_needed'] ) ) { $cf = Dispatcher::component( 'CacheFlush' ); if ( $cf->flushable_posts() ) { $notes['flush_posts_needed'] = sprintf( __( 'The setting change(s) made either invalidate the cached data or modify the behavior of the site. %s now to provide a consistent user experience. %s', 'w3-total-cache' ), Util_Ui::button_link( 'Empty the page cache', Util_Ui::url( array( 'w3tc_flush_posts' => 'y' ) ) ), Util_Ui::button_hide_note2( array( 'w3tc_default_config_state_note' => 'y', 'key' => 'common.show_note.flush_posts_needed', 'value' => 'false' ) ) ); } } $is_debug = $c->get_boolean( 'cluster.messagebus.debug' ) || $c->get_boolean( 'dbcache.debug' ) || $c->get_boolean( 'objectcache.debug' ) || $c->get_boolean( 'pgcache.debug' ) || $c->get_boolean( 'minify.debug' ) || $c->get_boolean( 'cdn.debug' ) || $c->get_boolean( 'cdnfsd.debug' ) || $c->get_boolean( 'varnish.debug' ); if ( $is_debug && !$state_master->get_boolean( 'common.hide_note_debug_enabled' ) ) { $notes['debug_enabled'] = sprintf( __( 'You’re running debug mode, it’s using Resources and not recommend to run continuously. %s', 'w3-total-cache' ), Util_Ui::button_hide_note2( array( 'w3tc_default_config_state_master' => 'y', 'key' => 'common.hide_note_debug_enabled', 'value' => 'true' ) ) ); } return $notes; } public function w3tc_errors( $errors ) { $state = Dispatcher::config_state(); $c = Dispatcher::config(); /** * Check permalinks */ if ( !$state->get_boolean( 'common.hide_note_no_permalink_rules' ) && ( ( $c->get_boolean( 'pgcache.enabled' ) && $c->get_string( 'pgcache.engine' ) == 'file_generic' ) || ( $c->get_boolean( 'browsercache.enabled' ) && $c->get_boolean( 'browsercache.no404wp' ) ) ) && !Util_Rule::is_permalink_rules() ) { $errors['generic_no_permalinks'] = sprintf( __( 'The required directives for fancy permalinks could not be detected, please confirm they are available: Creating and editing %s', 'w3-total-cache' ), Util_Ui::button_hide_note2( array( 'w3tc_default_config_state_master' => 'y', 'key' => 'common.hide_note_no_permalink_rules', 'value' => 'true' ) ) ); } /** * Check memcached */ if ( isset( $errors['memcache_not_responding.details'] ) ) { $memcache_error = __( 'The following memcached servers are not responding or not running:This message will automatically disappear once the issue is resolved.', 'w3-total-cache' ); $errors['memcache_not_responding'] = $memcache_error; unset( $errors['memcache_not_responding.details'] ); } return $errors; } }