1159 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			1159 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * File: general.php
 | 
						|
 *
 | 
						|
 * @package W3TC
 | 
						|
 */
 | 
						|
 | 
						|
namespace W3TC;
 | 
						|
 | 
						|
if ( ! defined( 'W3TC' ) ) {
 | 
						|
	die();
 | 
						|
}
 | 
						|
 | 
						|
require W3TC_INC_DIR . '/options/common/header.php';
 | 
						|
?>
 | 
						|
 | 
						|
<p>
 | 
						|
	<?php
 | 
						|
	echo wp_kses(
 | 
						|
		sprintf(
 | 
						|
			// translators: 1 HTML span tag indicating plugin enabled/disabled.
 | 
						|
			__(
 | 
						|
				'The plugin is currently %1$s If an option is disabled it means that either your current installation is not compatible or software installation is required.',
 | 
						|
				'w3-total-cache'
 | 
						|
			),
 | 
						|
			'<span class="w3tc-' . ( $enabled ? 'enabled">' . esc_html__( 'enabled', 'w3-total-cache' ) : 'disabled">' . esc_html__( 'disabled', 'w3-total-cache' ) ) . '</span>.'
 | 
						|
		),
 | 
						|
		array(
 | 
						|
			'span' => array(
 | 
						|
				'class' => array(),
 | 
						|
			),
 | 
						|
		)
 | 
						|
	);
 | 
						|
	?>
 | 
						|
</p>
 | 
						|
<form id="w3tc_form" action="admin.php?page=<?php echo esc_attr( $this->_page ); ?>" method="post">
 | 
						|
	<div class="metabox-holder">
 | 
						|
		<?php Util_Ui::postbox_header( esc_html__( 'General', 'w3-total-cache' ), '' ); ?>
 | 
						|
		<table class="form-table">
 | 
						|
			<tr>
 | 
						|
				<th><?php esc_html_e( 'Preview mode:', 'w3-total-cache' ); ?></th>
 | 
						|
				<td>
 | 
						|
					<?php
 | 
						|
					echo wp_kses(
 | 
						|
						Util_Ui::nonce_field( 'w3tc' ),
 | 
						|
						array(
 | 
						|
							'input' => array(
 | 
						|
								'type'  => array(),
 | 
						|
								'name'  => array(),
 | 
						|
								'value' => array(),
 | 
						|
							),
 | 
						|
						)
 | 
						|
					);
 | 
						|
					?>
 | 
						|
					<?php if ( $this->_config->is_preview() ) : ?>
 | 
						|
						<input type="submit" name="w3tc_config_preview_disable" class="button-primary" value="<?php esc_attr_e( 'Disable', 'w3-total-cache' ); ?>" />
 | 
						|
						<?php
 | 
						|
						echo wp_kses(
 | 
						|
							Util_Ui::button_link(
 | 
						|
								esc_html__( 'Deploy', 'w3-total-cache' ),
 | 
						|
								esc_url( wp_nonce_url( sprintf( 'admin.php?page=%1$s&w3tc_config_preview_deploy', $this->_page ), 'w3tc' ) )
 | 
						|
							),
 | 
						|
							array(
 | 
						|
								'input' => array(
 | 
						|
									'type'    => array(),
 | 
						|
									'name'    => array(),
 | 
						|
									'class'   => array(),
 | 
						|
									'value'   => array(),
 | 
						|
									'onclick' => array(),
 | 
						|
								),
 | 
						|
							)
 | 
						|
						);
 | 
						|
						?>
 | 
						|
						<p class="description">
 | 
						|
							<?php
 | 
						|
							echo wp_kses(
 | 
						|
								sprintf(
 | 
						|
									// translators: 1 HTML input submit to preview changes.
 | 
						|
									__(
 | 
						|
										'To preview any changed settings (without deploying): %1$s',
 | 
						|
										'w3-total-cache'
 | 
						|
									),
 | 
						|
									Util_Ui::preview_link()
 | 
						|
								),
 | 
						|
								array(
 | 
						|
									'input' => array(
 | 
						|
										'type'    => array(),
 | 
						|
										'name'    => array(),
 | 
						|
										'class'   => array(),
 | 
						|
										'value'   => array(),
 | 
						|
										'onclick' => array(),
 | 
						|
									),
 | 
						|
								)
 | 
						|
							);
 | 
						|
							?>
 | 
						|
						</p>
 | 
						|
					<?php else : ?>
 | 
						|
						<input type="submit" name="w3tc_config_preview_enable" class="button-primary" value="<?php esc_attr_e( 'Enable', 'w3-total-cache' ); ?>" />
 | 
						|
					<?php endif; ?>
 | 
						|
					<p class="description"><?php esc_html_e( 'Use preview mode to test configuration scenarios prior to releasing them (deploy) on the actual site. Preview mode remains active even after deploying settings until the feature is disabled.', 'w3-total-cache' ); ?></p>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php Util_Ui::button_config_save( 'general_general' ); ?>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::postbox_header( esc_html__( 'Page Cache', 'w3-total-cache' ), '', 'page_cache' );
 | 
						|
		Util_Ui::config_overloading_button( array( 'key' => 'pgcache.configuration_overloaded' ) );
 | 
						|
		?>
 | 
						|
 | 
						|
		<p><?php esc_html_e( 'Enable page caching to decrease the response time of the site.', 'w3-total-cache' ); ?></p>
 | 
						|
 | 
						|
		<table class="form-table">
 | 
						|
			<?php
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'pgcache.enabled',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => esc_html__( 'Enable', 'w3-total-cache' ),
 | 
						|
					'description'    => esc_html__( 'Caching pages will reduce the response time of your site and increase the scale of your web server.', 'w3-total-cache' ),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'                 => 'pgcache.engine',
 | 
						|
					'control'             => 'selectbox',
 | 
						|
					'selectbox_values'    => array(
 | 
						|
						'file'            => array(
 | 
						|
							'label'    => esc_html__( 'Disk: Basic', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 0,
 | 
						|
						),
 | 
						|
						'file_generic'    => array(
 | 
						|
							'label'    => esc_html__( 'Disk: Enhanced', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 0,
 | 
						|
						),
 | 
						|
						'apc'             => array(
 | 
						|
							'disabled' => ! Util_Installed::apc(),
 | 
						|
							'label'    => esc_html__( 'Opcode: Alternative PHP Cache (APC / APCu)', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 1,
 | 
						|
						),
 | 
						|
						'eaccelerator'    => array(
 | 
						|
							'disabled' => ! Util_Installed::eaccelerator(),
 | 
						|
							'label'    => esc_html__( 'Opcode: eAccelerator', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 1,
 | 
						|
						),
 | 
						|
						'xcache'          => array(
 | 
						|
							'disabled' => ! Util_Installed::xcache(),
 | 
						|
							'label'    => esc_html__( 'Opcode: XCache', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 1,
 | 
						|
						),
 | 
						|
						'wincache'        => array(
 | 
						|
							'disabled' => ! Util_Installed::wincache(),
 | 
						|
							'label'    => esc_html__( 'Opcode: WinCache', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 1,
 | 
						|
						),
 | 
						|
						'memcached'       => array(
 | 
						|
							'disabled' => ! Util_Installed::memcached(),
 | 
						|
							'label'    => esc_html__( 'Memcached', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 2,
 | 
						|
						),
 | 
						|
						'nginx_memcached' => array(
 | 
						|
							'disabled' => ! Util_Installed::memcached_memcached() || ! $is_pro,
 | 
						|
							'label'    => esc_html__( 'Nginx + Memcached', 'w3-total-cache' ) . ( $is_pro ? '' : esc_html__( ' (available after upgrade)', 'w3-total-cache' ) ),
 | 
						|
							'optgroup' => 2,
 | 
						|
						),
 | 
						|
						'redis'           => array(
 | 
						|
							'disabled' => ! Util_Installed::redis(),
 | 
						|
							'label'    => esc_html__( 'Redis', 'w3-total-cache' ),
 | 
						|
							'optgroup' => 2,
 | 
						|
						),
 | 
						|
					),
 | 
						|
					'selectbox_optgroups' => array(
 | 
						|
						esc_html__( 'Shared Server (disk enhanced is best):', 'w3-total-cache' ),
 | 
						|
						esc_html__( 'Dedicated / Virtual Server:', 'w3-total-cache' ),
 | 
						|
						esc_html__( 'Multiple Servers:', 'w3-total-cache' ),
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::button_config_save(
 | 
						|
			'general_pagecache',
 | 
						|
			'<input type="submit" name="w3tc_flush_pgcache" value="' .
 | 
						|
				esc_attr__( 'Empty cache', 'w3-total-cache' ) . '"' .
 | 
						|
				( $pgcache_enabled ? '' : ' disabled="disabled" ' ) .
 | 
						|
				' class="button" />'
 | 
						|
		);
 | 
						|
		?>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::postbox_header( esc_html__( 'Minify', 'w3-total-cache' ), '', 'minify' );
 | 
						|
		Util_Ui::config_overloading_button( array( 'key' => 'minify.configuration_overloaded' ) );
 | 
						|
		?>
 | 
						|
		<p>
 | 
						|
			<?php
 | 
						|
			w3tc_e(
 | 
						|
				'minify.general.header',
 | 
						|
				sprintf(
 | 
						|
					// translators: 1 HTML acronym for Cascading Style Sheet (CSS), 2 HTML acronym for JavaScript (JS),
 | 
						|
					// translators: 3 HTML acronym for Hypertext Markup Language (HTML).
 | 
						|
					__( 'Reduce load time by decreasing the size and number of %1$s and %2$s files. Automatically remove unnecessary data from %1$s, %2$s, feed, page and post %3$s.', 'w3-total-cache' ),
 | 
						|
					'<acronym title="' . __( 'Cascading Style Sheet', 'w3-total-cache' ) . '">' . __( 'CSS', 'w3-total-cache' ) . '</acronym>',
 | 
						|
					'<acronym title="' . __( 'JavaScript', 'w3-total-cache' ) . '">' . __( 'JS', 'w3-total-cache' ) . '</acronym>',
 | 
						|
					'<acronym title="' . __( 'Hypertext Markup Language', 'w3-total-cache' ) . '">' . __( 'HTML', 'w3-total-cache' ) . '</acronym>'
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</p>
 | 
						|
 | 
						|
		<table class="form-table">
 | 
						|
			<?php
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'minify.enabled',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => esc_html__( 'Enable', 'w3-total-cache' ),
 | 
						|
					'description'    => wp_kses(
 | 
						|
						sprintf(
 | 
						|
							// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag,
 | 
						|
							// translators: 3 opening HTML acronym tag, 4 closing HTML acronym tag,
 | 
						|
							// translators: 5 opening HTML acronym tag, 6 closing HTML acronym tag.
 | 
						|
							__(
 | 
						|
								'Minification can decrease file size of %1$sHTML%2$s, %3$sCSS%4$s, %5$sJS%6$s and feeds respectively by ~10%% on average.',
 | 
						|
								'w3-total-cache'
 | 
						|
							),
 | 
						|
							'<acronym title="' . esc_attr__( 'Hypertext Markup Language', 'w3-total-cache' ) . '">',
 | 
						|
							'</acronym>',
 | 
						|
							'<acronym title="' . esc_attr__( 'Cascading Style Sheet', 'w3-total-cache' ) . '">',
 | 
						|
							'</acronym>',
 | 
						|
							'<acronym title="' . esc_attr__( 'JavaScript', 'w3-total-cache' ) . '">',
 | 
						|
							'</acronym>'
 | 
						|
						),
 | 
						|
						array(
 | 
						|
							'acronym' => array(
 | 
						|
								'title' => array(),
 | 
						|
							),
 | 
						|
						)
 | 
						|
					),
 | 
						|
					'control_after'  => ' <a class="w3tc-control-after" target="_blank" href="' . esc_url( 'https://www.boldgrid.com/support/w3-total-cache/w3-total-cache-minify-faq/?utm_source=w3tc&utm_medium=learn_more_links&utm_campaign=minify_faq' ) . '" title="' .
 | 
						|
						esc_attr__( 'Minify frequently asked questions', 'w3-total-cache' ) . '">' . esc_html__( 'Learn more', 'w3-total-cache' ) .
 | 
						|
						'<span class="dashicons dashicons-external"></span></a>',
 | 
						|
				)
 | 
						|
			);
 | 
						|
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'               => 'minify.auto',
 | 
						|
					'value'             => ( $this->_config->get_boolean( 'minify.auto' ) ? 1 : 0 ),
 | 
						|
					'control'           => 'radiogroup',
 | 
						|
					'radiogroup_values' => array(
 | 
						|
						'1' => esc_html__( 'Auto', 'w3-total-cache' ),
 | 
						|
						'0' => esc_html__( 'Manual', 'w3-total-cache' ),
 | 
						|
					),
 | 
						|
					'description'       => esc_html__(
 | 
						|
						'Select manual mode to use fields on the minify settings tab to specify files to be minified, otherwise files will be minified automatically.',
 | 
						|
						'w3-total-cache'
 | 
						|
					),
 | 
						|
					'control_after'     => ' <a class="w3tc-control-after" target="_blank" href="' . esc_url( 'https://www.boldgrid.com/support/w3-total-cache/how-to-use-manual-minify-for-css-and-js/?utm_source=w3tc&utm_medium=learn_more_links&utm_campaign=manual_minify#difference-between-auto-and-manual-minify' ) . '" title="'
 | 
						|
						. esc_attr__( 'How to use manual minify', 'w3-total-cache' ) . '">' . esc_html__( 'Learn more', 'w3-total-cache' ) .
 | 
						|
						'<span class="dashicons dashicons-external"></span></a>',
 | 
						|
				)
 | 
						|
			);
 | 
						|
 | 
						|
			Util_Ui::config_item_engine(
 | 
						|
				array(
 | 
						|
					'key'           => 'minify.engine',
 | 
						|
					'control_after' => ' <a class="w3tc-control-after" target="_blank" href="' . esc_url( 'https://www.boldgrid.com/support/w3-total-cache/choosing-a-minification-method-for-w3-total-cache/?utm_source=w3tc&utm_medium=learn_more_links&utm_campaign=minify_engine' ) . '" title="' .
 | 
						|
						esc_attr__( 'Choosing a minification method', 'w3-total-cache' ) . '">' . esc_html__( 'Learn more', 'w3-total-cache' ) .
 | 
						|
						'<span class="dashicons dashicons-external"></span></a>',
 | 
						|
				)
 | 
						|
			);
 | 
						|
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'              => 'minify.html.engine',
 | 
						|
					'control'          => 'selectbox',
 | 
						|
					'selectbox_values' => array(
 | 
						|
						'html'     => esc_html__( 'Minify (default)', 'w3-total-cache' ),
 | 
						|
						'htmltidy' => array(
 | 
						|
							'disabled' => ! Util_Installed::tidy(),
 | 
						|
							'label'    => esc_html__( 'HTML Tidy', 'w3-total-cache' ),
 | 
						|
						),
 | 
						|
					),
 | 
						|
					'control_after'    => ' <a class="w3tc-control-after" target="_blank" href="' . esc_url( 'https://www.boldgrid.com/support/w3-total-cache/minify/html-minify-or-tidy/?utm_source=w3tc&utm_medium=learn_more_links&utm_campaign=minify_html#minify-default' ) . '" title="' .
 | 
						|
						esc_attr__( 'How to use minify HTML', 'w3-total-cache' ) . '">' . esc_html__( 'Learn more', 'w3-total-cache' ) .
 | 
						|
						'<span class="dashicons dashicons-external"></span></a>',
 | 
						|
				)
 | 
						|
			);
 | 
						|
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'              => 'minify.js.engine',
 | 
						|
					'control'          => 'selectbox',
 | 
						|
					'selectbox_values' => array(
 | 
						|
						'js'         => esc_html__( 'JSMin (default)', 'w3-total-cache' ),
 | 
						|
						'googleccjs' => esc_html__( 'Google Closure Compiler (Web Service)', 'w3-total-cache' ),
 | 
						|
						'ccjs'       => esc_html__( 'Google Closure Compiler (Local Java)', 'w3-total-cache' ),
 | 
						|
						'jsminplus'  => esc_html__( 'Narcissus', 'w3-total-cache' ),
 | 
						|
						'yuijs'      => esc_html__( 'YUI Compressor', 'w3-total-cache' ),
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'              => 'minify.css.engine',
 | 
						|
					'control'          => 'selectbox',
 | 
						|
					'selectbox_values' => array(
 | 
						|
						'css'     => esc_html__( 'Minify (default)', 'w3-total-cache' ),
 | 
						|
						'csstidy' => array(
 | 
						|
							'label'    => esc_html__( 'CSS Tidy', 'w3-total-cache' ),
 | 
						|
							'disabled' => ( version_compare( PHP_VERSION, '5.4.0', '<' ) ? true : false ),
 | 
						|
						),
 | 
						|
						'cssmin'  => esc_html__( 'YUI Compressor (PHP)', 'w3-total-cache' ),
 | 
						|
						'yuicss'  => esc_html__( 'YUI Compressor', 'w3-total-cache' ),
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::button_config_save(
 | 
						|
			'general_minify',
 | 
						|
			'<input type="submit" name="w3tc_flush_minify" value="' .
 | 
						|
				esc_attr__( 'Empty cache', 'w3-total-cache' ) . '" ' .
 | 
						|
				( $minify_enabled ? '' : ' disabled="disabled" ' ) .
 | 
						|
				' class="button" />'
 | 
						|
		);
 | 
						|
		?>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
 | 
						|
		<?php do_action( 'w3tc_settings_general_boxarea_system_opcache' ); ?>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::postbox_header( esc_html__( 'Database Cache', 'w3-total-cache' ), '', 'database_cache' );
 | 
						|
		Util_Ui::config_overloading_button( array( 'key' => 'dbcache.configuration_overloaded' ) );
 | 
						|
		?>
 | 
						|
 | 
						|
		<p><?php esc_html_e( 'Enable database caching to reduce post, page and feed creation time.', 'w3-total-cache' ); ?></p>
 | 
						|
 | 
						|
		<table class="form-table">
 | 
						|
			<?php
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'dbcache.enabled',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => esc_html__( 'Enable', 'w3-total-cache' ),
 | 
						|
					'description'    => esc_html__( 'Caching database objects decreases the response time of your site. Best used if object caching is not possible.', 'w3-total-cache' ),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			Util_Ui::config_item_engine( array( 'key' => 'dbcache.engine' ) );
 | 
						|
			?>
 | 
						|
 | 
						|
			<?php if ( Util_Environment::is_w3tc_pro() && is_network_admin() ) : ?>
 | 
						|
				<?php require W3TC_INC_OPTIONS_DIR . '/enterprise/dbcluster_general_section.php'; ?>
 | 
						|
			<?php endif; ?>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::button_config_save(
 | 
						|
			'general_dbcache',
 | 
						|
			'<input type="submit" name="w3tc_flush_dbcache" value="' .
 | 
						|
				esc_html__( 'Empty cache', 'w3-total-cache' ) . '" ' .
 | 
						|
				( $dbcache_enabled ? '' : ' disabled="disabled" ' ) .
 | 
						|
				' class="button" />'
 | 
						|
		);
 | 
						|
		?>
 | 
						|
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::postbox_header( esc_html__( 'Object Cache', 'w3-total-cache' ), '', 'object_cache' );
 | 
						|
		Util_Ui::config_overloading_button( array( 'key' => 'objectcache.configuration_overloaded' ) );
 | 
						|
		?>
 | 
						|
 | 
						|
		<p><?php esc_html_e( 'Enable object caching to further reduce execution time for common operations.', 'w3-total-cache' ); ?></p>
 | 
						|
 | 
						|
		<table class="form-table">
 | 
						|
			<?php
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'objectcache.enabled',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => esc_html__( 'Enable', 'w3-total-cache' ),
 | 
						|
					'description'    => wp_kses(
 | 
						|
						sprintf(
 | 
						|
							// translators: 1 opening HTML a tag to WordPress codex for WP Object Cache, 2 Opening HTML acronym tag,
 | 
						|
							// translators: 3 closing HTML acronym tag, 4 closing HTML a tag.
 | 
						|
							__(
 | 
						|
								'Object caching greatly increases performance for highly dynamic sites that use the %1$sObject Cache %2$sAPI%3$s%4$s.',
 | 
						|
								'w3-total-cache'
 | 
						|
							),
 | 
						|
							'<a href="' . esc_url( 'http://codex.wordpress.org/Class_Reference/WP_Object_Cache' ) . '" target="_blank">',
 | 
						|
							'<acronym title="' . esc_attr__( 'Application Programming Interface', 'w3-total-cache' ) . '">',
 | 
						|
							'</acronym>',
 | 
						|
							'</a>'
 | 
						|
						),
 | 
						|
						array(
 | 
						|
							'acronym' => array(
 | 
						|
								'title' => array(),
 | 
						|
							),
 | 
						|
							'a'       => array(
 | 
						|
								'href'   => array(),
 | 
						|
								'target' => array(),
 | 
						|
							),
 | 
						|
						)
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			Util_Ui::config_item_engine( array( 'key' => 'objectcache.engine' ) );
 | 
						|
			?>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::button_config_save(
 | 
						|
			'general_objectcache',
 | 
						|
			'<input type="submit" name="w3tc_flush_objectcache" value="' .
 | 
						|
				esc_attr__( 'Empty cache', 'w3-total-cache' ) . '" ' .
 | 
						|
				( $objectcache_enabled ? '' : ' disabled="disabled" ' ) .
 | 
						|
				' class="button" />'
 | 
						|
		);
 | 
						|
		?>
 | 
						|
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::postbox_header( esc_html__( 'Browser Cache', 'w3-total-cache' ), '', 'browser_cache' );
 | 
						|
		Util_Ui::config_overloading_button( array( 'key' => 'browsercache.configuration_overloaded' ) );
 | 
						|
		?>
 | 
						|
 | 
						|
		<p><?php esc_html_e( 'Reduce server load and decrease response time by using the cache available in site visitor\'s web browser.', 'w3-total-cache' ); ?></p>
 | 
						|
 | 
						|
		<table class="form-table">
 | 
						|
			<?php
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'browsercache.enabled',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => esc_html__( 'Enable', 'w3-total-cache' ),
 | 
						|
					'description'    => wp_kses(
 | 
						|
						sprintf(
 | 
						|
							// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
							__(
 | 
						|
								'Enable %1$sHTTP%2$s compression and add headers to reduce server load and decrease file load time.',
 | 
						|
								'w3-total-cache'
 | 
						|
							),
 | 
						|
							'<acronym title="' . esc_attr__( 'Hypertext Transfer Protocol', 'w3-total-cache' ) . '">',
 | 
						|
							'</acronym>'
 | 
						|
						),
 | 
						|
						array(
 | 
						|
							'acronym' => array(
 | 
						|
								'title' => array(),
 | 
						|
							),
 | 
						|
						)
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php Util_Ui::button_config_save( 'general_browsercache' ); ?>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php do_action( 'w3tc_settings_general_boxarea_cdn' ); ?>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::postbox_header( esc_html__( 'Reverse Proxy', 'w3-total-cache' ), '', 'reverse_proxy' );
 | 
						|
		Util_Ui::config_overloading_button( array( 'key' => 'varnish.configuration_overloaded' ) );
 | 
						|
		?>
 | 
						|
 | 
						|
		<p>
 | 
						|
			<?php
 | 
						|
			echo wp_kses(
 | 
						|
				sprintf(
 | 
						|
					// translators: 1 opening HTML a tag to W3TC Page Cache admin page, 2 closing HTML a tag,
 | 
						|
					// translators: 3 opening HTML a tag to W3TC Browsercache admin page, 4 closing HTML a tag.
 | 
						|
					__(
 | 
						|
						'A reverse proxy adds scale to an server by handling requests before WordPress does. Purge settings are set on the %1$sPage Cache settings%2$s page and %3$sBrowser Cache settings%4$s are set on the browser cache settings page.',
 | 
						|
						'w3-total-cache'
 | 
						|
					),
 | 
						|
					'<a href="' . esc_url( self_admin_url( 'admin.php?page=w3tc_pgcache' ) ) . '">',
 | 
						|
					'</a>',
 | 
						|
					'<a href="' . esc_url( self_admin_url( 'admin.php?page=w3tc_browsercache' ) ) . '">',
 | 
						|
					'</a>'
 | 
						|
				),
 | 
						|
				array(
 | 
						|
					'a' => array(
 | 
						|
						'href' => array(),
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</p>
 | 
						|
		<table class="form-table">
 | 
						|
			<tr>
 | 
						|
				<th colspan="2">
 | 
						|
					<?php $this->checkbox( 'varnish.enabled' ); ?> <?php Util_Ui::e_config_label( 'varnish.enabled' ); ?></label><br />
 | 
						|
				</th>
 | 
						|
			</tr>
 | 
						|
			<tr>
 | 
						|
				<th><label for="pgcache_varnish_servers"><?php Util_Ui::e_config_label( 'varnish.servers' ); ?></label></th>
 | 
						|
				<td>
 | 
						|
					<textarea id="pgcache_varnish_servers" name="varnish__servers"
 | 
						|
						cols="40" rows="5" <?php Util_Ui::sealing_disabled( 'varnish.' ); ?>><?php echo esc_textarea( implode( "\r\n", $this->_config->get_array( 'varnish.servers' ) ) ); ?></textarea>
 | 
						|
					<p class="description">
 | 
						|
						<?php
 | 
						|
						echo wp_kses(
 | 
						|
							sprintf(
 | 
						|
								// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag,
 | 
						|
								// translators: 3 opening HTML acronym tag, 4 closing HTML acronym tag.
 | 
						|
								__(
 | 
						|
									'Specify the IP addresses of your varnish instances above. The %1$sVCL%2$s\'s %3$sACL%4$s must allow this request.',
 | 
						|
									'w3-total-cache'
 | 
						|
								),
 | 
						|
								'<acronym title="' . esc_attr__( 'Varnish Configuration Language', 'w3-total-cache' ) . '">',
 | 
						|
								'</acronym>',
 | 
						|
								'<acronym title="' . esc_attr__( 'Access Control List', 'w3-total-cache' ) . '">',
 | 
						|
								'</acronym>'
 | 
						|
							),
 | 
						|
							array(
 | 
						|
								'acronym' => array(
 | 
						|
									'title' => array(),
 | 
						|
								),
 | 
						|
							)
 | 
						|
						);
 | 
						|
						?>
 | 
						|
					</p>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php
 | 
						|
		Util_Ui::button_config_save(
 | 
						|
			'general_varnish',
 | 
						|
			'<input type="submit" name="w3tc_flush_varnish" value="' .
 | 
						|
				esc_attr__( 'Purge cache', 'w3-total-cache' ) . '"' .
 | 
						|
				( $varnish_enabled ? '' : ' disabled="disabled" ' ) .
 | 
						|
				' class="button" />'
 | 
						|
		);
 | 
						|
		?>
 | 
						|
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php if ( $is_pro ) : ?>
 | 
						|
			<?php Util_Ui::postbox_header( esc_html__( 'Message Bus', 'w3-total-cache' ), '', 'amazon_sns' ); ?>
 | 
						|
			<p>
 | 
						|
				<?php esc_html_e( 'Allows policy management to be shared between a dynamic pool of servers. For example, each server in a pool to use opcode caching (which is not a shared resource) and purging is then syncronized between any number of servers in real-time; each server therefore behaves identically even though resources are not shared.', 'w3-total-cache' ); ?>
 | 
						|
			</p>
 | 
						|
			<table class="form-table">
 | 
						|
				<tr>
 | 
						|
					<th colspan="2">
 | 
						|
						<input type="hidden" name="cluster__messagebus__enabled" value="0" />
 | 
						|
						<label><input class="enabled" type="checkbox" name="cluster__messagebus__enabled" value="1"<?php checked( $this->_config->get_boolean( 'cluster.messagebus.enabled' ), true ); ?> /> <?php Util_Ui::e_config_label( 'cluster.messagebus.enabled' ); ?></label><br />
 | 
						|
					</th>
 | 
						|
				</tr>
 | 
						|
				<tr>
 | 
						|
					<th><label for="cluster_messagebus_sns_region"><?php Util_Ui::e_config_label( 'cluster.messagebus.sns.region' ); ?></label></th>
 | 
						|
					<td>
 | 
						|
						<input id="cluster_messagebus_sns_region"
 | 
						|
							class="w3tc-ignore-change" type="text"
 | 
						|
							name="cluster__messagebus__sns__region"
 | 
						|
							value="<?php echo esc_attr( $this->_config->get_string( 'cluster.messagebus.sns.region' ) ); ?>" size="60" />
 | 
						|
						<p class="description">
 | 
						|
							<?php
 | 
						|
							echo wp_kses(
 | 
						|
								sprintf(
 | 
						|
									// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
									__(
 | 
						|
										'Specify the Amazon %1$sSNS%2$s service endpoint hostname. If empty, then default "sns.us-east-1.amazonaws.com" will be used.',
 | 
						|
										'w3-total-cache'
 | 
						|
									),
 | 
						|
									'<acronym title="' . esc_attr__( 'Simple Notification Service', 'w3-total-cache' ) . '">',
 | 
						|
									'</acronym>'
 | 
						|
								),
 | 
						|
								array(
 | 
						|
									'acronym' => array(
 | 
						|
										'title' => array(),
 | 
						|
									),
 | 
						|
								)
 | 
						|
							);
 | 
						|
							?>
 | 
						|
						</p>
 | 
						|
					</td>
 | 
						|
				</tr>
 | 
						|
				<tr>
 | 
						|
					<th><label for="cluster_messagebus_sns_api_key"><?php Util_Ui::e_config_label( 'cluster.messagebus.sns.api_key' ); ?></label></th>
 | 
						|
					<td>
 | 
						|
						<input id="cluster_messagebus_sns_api_key"
 | 
						|
							class="w3tc-ignore-change" type="text"
 | 
						|
							name="cluster__messagebus__sns__api_key"
 | 
						|
							value="<?php echo esc_attr( $this->_config->get_string( 'cluster.messagebus.sns.api_key' ) ); ?>" size="60" />
 | 
						|
						<p class="description">
 | 
						|
							<?php
 | 
						|
							echo wp_kses(
 | 
						|
								sprintf(
 | 
						|
									// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
									__(
 | 
						|
										'Specify the %1$sAPI%2$s Key.',
 | 
						|
										'w3-total-cache'
 | 
						|
									),
 | 
						|
									'<acronym title="' . esc_attr__( 'Application Programming Interface', 'w3-total-cache' ) . '">',
 | 
						|
									'</acronym>'
 | 
						|
								),
 | 
						|
								array(
 | 
						|
									'acronym' => array(
 | 
						|
										'title' => array(),
 | 
						|
									),
 | 
						|
								)
 | 
						|
							);
 | 
						|
							?>
 | 
						|
						</p>
 | 
						|
					</td>
 | 
						|
				</tr>
 | 
						|
				<tr>
 | 
						|
					<th><label for="cluster_messagebus_sns_api_secret"><?php Util_Ui::e_config_label( 'cluster.messagebus.sns.api_secret' ); ?></label></th>
 | 
						|
					<td>
 | 
						|
						<input id="cluster_messagebus_sns_api_secret"
 | 
						|
							class="w3tc-ignore-change" type="text"
 | 
						|
							name="cluster__messagebus__sns__api_secret"
 | 
						|
							value="<?php echo esc_attr( $this->_config->get_string( 'cluster.messagebus.sns.api_secret' ) ); ?>" size="60" />
 | 
						|
						<p class="description">
 | 
						|
							<?php
 | 
						|
							echo wp_kses(
 | 
						|
								sprintf(
 | 
						|
									// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
									__(
 | 
						|
										'Specify the %1$sAPI%2$s secret.',
 | 
						|
										'w3-total-cache'
 | 
						|
									),
 | 
						|
									'<acronym title="' . esc_attr__( 'Application Programming Interface', 'w3-total-cache' ) . '">',
 | 
						|
									'</acronym>'
 | 
						|
								),
 | 
						|
								array(
 | 
						|
									'acronym' => array(
 | 
						|
										'title' => array(),
 | 
						|
									),
 | 
						|
								)
 | 
						|
							);
 | 
						|
							?>
 | 
						|
						</p>
 | 
						|
					</td>
 | 
						|
				</tr>
 | 
						|
				<tr>
 | 
						|
					<th><label for="cluster_messagebus_sns_topic_arn"><?php Util_Ui::e_config_label( 'cluster.messagebus.sns.topic_arn' ); ?></label></th>
 | 
						|
					<td>
 | 
						|
						<input id="cluster_messagebus_sns_topic_arn"
 | 
						|
							class="w3tc-ignore-change" type="text"
 | 
						|
							name="cluster__messagebus__sns__topic_arn"
 | 
						|
							value="<?php echo esc_attr( $this->_config->get_string( 'cluster.messagebus.sns.topic_arn' ) ); ?>" size="60" />
 | 
						|
						<p class="description">
 | 
						|
							<?php
 | 
						|
							echo wp_kses(
 | 
						|
								sprintf(
 | 
						|
									// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
									__(
 | 
						|
										'Specify the %1$sSNS%2$s topic.',
 | 
						|
										'w3-total-cache'
 | 
						|
									),
 | 
						|
									'<acronym title="' . esc_attr__( 'Simple Notification Service', 'w3-total-cache' ) . '">',
 | 
						|
									'</acronym>'
 | 
						|
								),
 | 
						|
								array(
 | 
						|
									'acronym' => array(
 | 
						|
										'title' => array(),
 | 
						|
									),
 | 
						|
								)
 | 
						|
							);
 | 
						|
							?>
 | 
						|
						</p>
 | 
						|
					</td>
 | 
						|
				</tr>
 | 
						|
			</table>
 | 
						|
 | 
						|
			<?php Util_Ui::button_config_save( 'general_dbcluster' ); ?>
 | 
						|
			<?php Util_Ui::postbox_footer(); ?>
 | 
						|
		<?php endif; ?>
 | 
						|
 | 
						|
		<?php Util_Ui::postbox_header( __( 'Google PageSpeed', 'w3-total-cache' ), '', 'google_page_speed' ); ?>
 | 
						|
		<?php
 | 
						|
		$access_token_json = ( ! empty( $this->_config->get_string( 'widget.pagespeed.access_token' ) ) ? $this->_config->get_string( 'widget.pagespeed.access_token' ) : '' );
 | 
						|
		$w3_pagespeed      = new PageSpeed_Api( $access_token_json );
 | 
						|
 | 
						|
		$site_id            = Util_Http::generate_site_id();
 | 
						|
		$return_url         = Util_Ui::admin_url( 'admin.php?page=w3tc_general' );
 | 
						|
		$w3tc_pagespeed_key = ! empty( $this->_config->get_string( 'widget.pagespeed.w3tc_pagespeed_key' ) ) ? $this->_config->get_string( 'widget.pagespeed.w3tc_pagespeed_key' ) : '';
 | 
						|
		$auth_url           = $w3_pagespeed->client->createAuthUrl();
 | 
						|
 | 
						|
		$new_gacode             = Util_Request::get( 'w3tc_new_gacode' );
 | 
						|
		$new_w3tc_pagespeed_key = Util_Request::get( 'w3tc_new_w3tc_pagespeed_key' );
 | 
						|
		$authorize_error        = Util_Request::get( 'w3tc_authorize_error' );
 | 
						|
		$deauthorize            = Util_Request::get( 'w3tc_deauthorize' );
 | 
						|
 | 
						|
		if ( ! empty( $new_gacode ) && ! empty( $new_w3tc_pagespeed_key ) ) {
 | 
						|
			$response = json_decode( $w3_pagespeed->process_authorization_response( $new_gacode, $new_w3tc_pagespeed_key ), true );
 | 
						|
 | 
						|
			if ( isset( $response['error']['code'] ) && 200 !== $response['error']['code'] ) {
 | 
						|
				$response_error = sprintf(
 | 
						|
					// translators: 1 Request response code, 2 Error message.
 | 
						|
					__(
 | 
						|
						'Response Code: %1$s<br/>Response Message: %2$s',
 | 
						|
						'w3-total-cache'
 | 
						|
					),
 | 
						|
					! empty( $response['error']['code'] ) ? $response['error']['code'] : 'N/A',
 | 
						|
					! empty( $response['error']['message'] ) ? $response['error']['message'] : 'N/A'
 | 
						|
				);
 | 
						|
 | 
						|
				update_option(
 | 
						|
					'w3tcps_authorize_fail',
 | 
						|
					__( 'Google PageSpeed Insights API authorization failed.', 'w3-total-cache' )
 | 
						|
				);
 | 
						|
				update_option(
 | 
						|
					'w3tcps_authorize_fail_message',
 | 
						|
					$response_error
 | 
						|
				);
 | 
						|
			} elseif ( ! empty( $response['refresh_token'] ) ) {
 | 
						|
				update_option(
 | 
						|
					'w3tcps_authorize_success',
 | 
						|
					__( 'Google PageSpeed Insights API authorization successfull.', 'w3-total-cache' )
 | 
						|
				);
 | 
						|
			} else {
 | 
						|
				update_option(
 | 
						|
					'w3tcps_authorize_fail',
 | 
						|
					__( 'Google PageSpeed Insights API authorization failed.', 'w3-total-cache' )
 | 
						|
				);
 | 
						|
				update_option(
 | 
						|
					'w3tcps_authorize_fail_message',
 | 
						|
					__( 'Missing refresh token.', 'w3-totoal-cache' )
 | 
						|
				);
 | 
						|
			}
 | 
						|
 | 
						|
			wp_safe_redirect( $return_url );
 | 
						|
			exit;
 | 
						|
		} elseif ( $deauthorize ) {
 | 
						|
			$w3_pagespeed->reset();
 | 
						|
			update_option(
 | 
						|
				'w3tcps_authorize_success',
 | 
						|
				__( 'Google PageSpeed Insights API authorization successfully reset.', 'w3-total-cache' )
 | 
						|
			);
 | 
						|
			wp_safe_redirect( $return_url );
 | 
						|
			exit;
 | 
						|
		} elseif ( ! empty( $authorize_error ) ) {
 | 
						|
			$authorize_error = json_decode( $authorize_error );
 | 
						|
 | 
						|
			if ( 'authorize-in-missing-site-id' === $authorize_error->error->id ) {
 | 
						|
				$message = __( 'Unique site ID missing for authorize request!', 'w3-total-cache' );
 | 
						|
			} elseif ( 'authorize-in-missing-auth-url' === $authorize_error->error->id ) {
 | 
						|
				$message = __( 'Authorize URL missing for authorize request!', 'w3-total-cache' );
 | 
						|
			} elseif ( 'authorize-in-missing-return-url' === $authorize_error->error->id ) {
 | 
						|
				$message = __( 'Return URL missing for authorize request!', 'w3-total-cache' );
 | 
						|
			} elseif ( 'authorize-in-failed' === $authorize_error->error->id ) {
 | 
						|
				$message = __( 'Failed to process authorize request!', 'w3-total-cache' );
 | 
						|
			}
 | 
						|
 | 
						|
			if ( 'authorize-out-code-missing' === $authorize_error->error->id ) {
 | 
						|
				$message = __( 'No authorize code returned to W3-API from Google!', 'w3-total-cache' );
 | 
						|
			} elseif ( 'authorize-out-w3tc-pagespeed-key-missing' === $authorize_error->error->id ) {
 | 
						|
				$message = __( 'No W3Key return to W3-API from Google!', 'w3-total-cache' );
 | 
						|
			} elseif ( 'authorize-out-not-found' === $authorize_error->error->id ) {
 | 
						|
				$message = __( 'No W3-API matching record found during Google authorization return processing!', 'w3-total-cache' );
 | 
						|
			}
 | 
						|
 | 
						|
			update_option(
 | 
						|
				'w3tcps_authorize_fail',
 | 
						|
				__( 'Google PageSpeed Insights API authorization failed.', 'w3-total-cache' )
 | 
						|
			);
 | 
						|
			update_option(
 | 
						|
				'w3tcps_authorize_fail_message',
 | 
						|
				$message
 | 
						|
			);
 | 
						|
 | 
						|
			wp_safe_redirect( $return_url );
 | 
						|
			exit;
 | 
						|
		}
 | 
						|
		?>
 | 
						|
		<table class="form-table">
 | 
						|
			<?php
 | 
						|
			$access_token_json = ( ! empty( $w3_pagespeed->client->getAccessToken() ) ? $w3_pagespeed->client->getAccessToken() : '' );
 | 
						|
			if ( ! $w3_pagespeed->client->isAccessTokenExpired() && ! empty( $access_token_json ) ) {
 | 
						|
				?>
 | 
						|
				<tr>
 | 
						|
					<th>
 | 
						|
						<label for="widget_pagespeed_access_token"><?php Util_Ui::e_config_label( 'widget.pagespeed.access_token', 'general' ); ?> <?php esc_html_e( 'Valid', 'w3-total-cache' ); ?></label>
 | 
						|
					</th>
 | 
						|
				</tr>
 | 
						|
				<tr>
 | 
						|
					<th>
 | 
						|
						<a id="w3tc-google-deauthorize-button" class="w3tc-button-save button-primary" href="<?php echo esc_url( $return_url . '&w3tc_deauthorize=1' ); ?>"><?php esc_html_e( 'Deauthorize' ); ?></a>
 | 
						|
					</th>
 | 
						|
				</tr>
 | 
						|
				<?php
 | 
						|
			} else {
 | 
						|
				?>
 | 
						|
				<tr>
 | 
						|
					<th>
 | 
						|
						<label for="widget_pagespeed_token"><?php Util_Ui::e_config_label( 'widget.pagespeed.access_token', 'general' ); ?></label>
 | 
						|
					</th>
 | 
						|
					<td>
 | 
						|
						<a id="w3tc-google-authorize-button" class="w3tc-button-save button-primary" href="<?php echo esc_url( $w3_pagespeed->get_w3tc_api_url( 'google/authorize-in' ) . '/' . rawurlencode( $site_id ) . '/' . rawurlencode( $auth_url ) . '/' . rawurlencode( $return_url ) ); ?>"><?php esc_html_e( 'Authorize' ); ?></a>
 | 
						|
						<p><?php esc_html_e( 'Allow W3 Total Cache to connect to the PageSpeed Insights API on your behalf.', 'w3-total-cache' ); ?></p>
 | 
						|
					</td>
 | 
						|
				</tr>
 | 
						|
				<?php
 | 
						|
			}
 | 
						|
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'widget.pagespeed.enabled',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => __( 'Enable Google PageSpeed dashboard widget', 'w3-total-cache' ),
 | 
						|
					'description'    => __( 'Display Google PageSpeed results on the WordPress dashboard.', 'w3-total-cache' ),
 | 
						|
					'label_class'    => 'w3tc_single_column',
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php Util_Ui::button_config_save( 'general_google_page_speed' ); ?>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php
 | 
						|
		foreach ( $custom_areas as $area ) {
 | 
						|
			do_action( 'w3tc_settings_general_boxarea_' . $area['id'] );
 | 
						|
		}
 | 
						|
		?>
 | 
						|
 | 
						|
		<?php if ( $licensing_visible ) : ?>
 | 
						|
			<?php Util_Ui::postbox_header( __( 'Licensing', 'w3-total-cache' ), '', 'licensing' ); ?>
 | 
						|
			<table class="form-table">
 | 
						|
					<tr>
 | 
						|
						<th>
 | 
						|
							<label for="plugin_license_key"><?php Util_Ui::e_config_label( 'plugin.license_key' ); ?></label>
 | 
						|
						</th>
 | 
						|
						<td>
 | 
						|
							<input id="plugin_license_key" name="plugin__license_key" type="text" value="<?php echo esc_attr( $this->_config->get_string( 'plugin.license_key' ) ); ?>" size="45"/>
 | 
						|
							<input id="plugin_license_key_verify" type="button" class="button" value="<?php esc_attr_e( 'Verify license key', 'w3-total-cache' ); ?>"/>
 | 
						|
							<span class="w3tc_license_verification"></span>
 | 
						|
							<p class="description">
 | 
						|
								<?php
 | 
						|
								echo wp_kses(
 | 
						|
									sprintf(
 | 
						|
										// translators: 1 HTML a tag to trigger W3TC licence upgrade.
 | 
						|
										__(
 | 
						|
											'Please enter the license key provided after %1$s.',
 | 
						|
											'w3-total-cache'
 | 
						|
										),
 | 
						|
										'<a class="button-buy-plugin" data-src="generic_license" href="#">' . esc_html__( 'upgrading', 'w3-total-cache' ) . '</a>'
 | 
						|
									),
 | 
						|
									array(
 | 
						|
										'a' => array(
 | 
						|
											'class'    => array(),
 | 
						|
											'data-src' => array(),
 | 
						|
											'href'     => array(),
 | 
						|
										),
 | 
						|
									)
 | 
						|
								);
 | 
						|
								?>
 | 
						|
							</p>
 | 
						|
						</td>
 | 
						|
					</tr>
 | 
						|
 | 
						|
			</table>
 | 
						|
			<?php Util_Ui::button_config_save( 'general_licensing' ); ?>
 | 
						|
			<?php Util_Ui::postbox_footer(); ?>
 | 
						|
		<?php endif; ?>
 | 
						|
 | 
						|
		<?php Util_Ui::postbox_header( esc_html__( 'Miscellaneous', 'w3-total-cache' ), '', 'miscellaneous' ); ?>
 | 
						|
		<table class="form-table">
 | 
						|
			<?php if ( is_network_admin() ) : ?>
 | 
						|
			<tr>
 | 
						|
				<th colspan="2">
 | 
						|
					<?php $this->checkbox( 'common.force_master' ); ?> <?php Util_Ui::e_config_label( 'common.force_master' ); ?></label>
 | 
						|
					<p class="description"><?php esc_html_e( 'Only one configuration file for whole network will be created and used. Recommended if all sites have the same configuration.', 'w3-total-cache' ); ?></p>
 | 
						|
				</th>
 | 
						|
			</tr>
 | 
						|
			<?php endif; ?>
 | 
						|
			<?php if ( Util_Environment::is_nginx() ) : ?>
 | 
						|
			<tr>
 | 
						|
				<th><?php Util_Ui::e_config_label( 'config.path' ); ?></th>
 | 
						|
				<td>
 | 
						|
					<input type="text" name="config__path" value="<?php echo esc_attr( $this->_config->get_string( 'config.path' ) ); ?>" size="80" <?php Util_Ui::sealing_disabled( 'common.' ); ?>/>
 | 
						|
					<p class="description"><?php esc_html_e( 'If empty the default path will be used..', 'w3-total-cache' ); ?></p>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
			<?php endif; ?>
 | 
						|
			<tr>
 | 
						|
				<th colspan="2">
 | 
						|
					<input type="hidden" name="config__check" value="0" <?php Util_Ui::sealing_disabled( 'common.' ); ?> />
 | 
						|
					<label><input type="checkbox" name="config__check" value="1" <?php checked( $this->_config->get_boolean( 'config.check' ), true ); ?> <?php Util_Ui::sealing_disabled( 'common.' ); ?> /> <?php Util_Ui::e_config_label( 'config.check' ); ?></label>
 | 
						|
					<p class="description">
 | 
						|
						<?php
 | 
						|
						echo wp_kses(
 | 
						|
							sprintf(
 | 
						|
								// translators: 1 opening HTML a tag to W3TC install admin page.
 | 
						|
								__(
 | 
						|
									'Notify of server configuration errors, if this option is disabled, the server configuration for active settings can be found on the %1$sinstall%2$s tab.',
 | 
						|
									'w3-total-cache'
 | 
						|
								),
 | 
						|
								'<a href="' . esc_url( Util_Ui::admin_url( 'admin.php?page=w3tc_install' ) ) . '">',
 | 
						|
								'</a>'
 | 
						|
							),
 | 
						|
							array(
 | 
						|
								'a' => array(
 | 
						|
									'href' => array(),
 | 
						|
								),
 | 
						|
							)
 | 
						|
						);
 | 
						|
						?>
 | 
						|
					</p>
 | 
						|
				</th>
 | 
						|
			</tr>
 | 
						|
			<tr>
 | 
						|
				<th colspan="2">
 | 
						|
					<input type="hidden" name="file_locking" value="0"<?php Util_Ui::sealing_disabled( 'common.' ); ?>  />
 | 
						|
					<label><input type="checkbox" name="file_locking" value="1" <?php checked( $file_locking, true ); ?> <?php Util_Ui::sealing_disabled( 'common.' ); ?>  /> <?php esc_html_e( 'Enable file locking', 'w3-total-cache' ); ?></label>
 | 
						|
					<p class="description">
 | 
						|
						<?php
 | 
						|
						echo wp_kses(
 | 
						|
							sprintf(
 | 
						|
								// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
								__(
 | 
						|
									'Not recommended for %1$sNFS%2$s systems.',
 | 
						|
									'w3-total-cache'
 | 
						|
								),
 | 
						|
								'<acronym title="' . esc_attr__( 'Network File System', 'w3-total-cache' ) . '">',
 | 
						|
								'</acronym>'
 | 
						|
							),
 | 
						|
							array(
 | 
						|
								'acronym' => array(
 | 
						|
									'title' => array(),
 | 
						|
								),
 | 
						|
							)
 | 
						|
						);
 | 
						|
						?>
 | 
						|
					</p>
 | 
						|
				</th>
 | 
						|
			</tr>
 | 
						|
			<tr>
 | 
						|
				<th colspan="2">
 | 
						|
					<input type="hidden" name="file_nfs" value="0" <?php Util_Ui::sealing_disabled( 'common.' ); ?> />
 | 
						|
					<label>
 | 
						|
						<input type="checkbox" name="file_nfs" value="1" <?php checked( $file_nfs, true ); ?><?php Util_Ui::sealing_disabled( 'common.' ); ?> />
 | 
						|
						<?php
 | 
						|
						echo wp_kses(
 | 
						|
							sprintf(
 | 
						|
								// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
								__(
 | 
						|
									'Optimize disk enhanced page and minify disk caching for %1$sNFS%2$s',
 | 
						|
									'w3-total-cache'
 | 
						|
								),
 | 
						|
								'<acronym title="' . esc_attr__( 'Network File System', 'w3-total-cache' ) . '">',
 | 
						|
								'</acronym>'
 | 
						|
							),
 | 
						|
							array(
 | 
						|
								'acronym' => array(
 | 
						|
									'title' => array(),
 | 
						|
								),
 | 
						|
							)
 | 
						|
						);
 | 
						|
						?>
 | 
						|
					</label>
 | 
						|
					<p class="description"><?php esc_html_e( 'Try this option if your hosting environment uses a network based file system for a possible performance improvement.', 'w3-total-cache' ); ?></p>
 | 
						|
				</th>
 | 
						|
			</tr>
 | 
						|
			<?php
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'docroot_fix.enable',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => esc_html__( 'Fix document root path', 'w3-total-cache' ),
 | 
						|
					'label_class'    => 'w3tc_single_column',
 | 
						|
					'description'    => sprintf(
 | 
						|
						// translators: 1: WordPress ABSPATH value, 2: Server document root value.
 | 
						|
						esc_html__( 'Fix incorrect server document root path.  Uses the WordPress ABSPATH ("%1$s") in place of the current server document root ("%2$s").', 'w3-total-cache' ),
 | 
						|
						esc_attr( untrailingslashit( ABSPATH ) ),
 | 
						|
						esc_attr( ! empty( $_SERVER['DOCUMENT_ROOT'] ) ? esc_url_raw( wp_unslash( $_SERVER['DOCUMENT_ROOT'] ) ) : '' )
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
 | 
						|
			Util_Ui::config_item(
 | 
						|
				array(
 | 
						|
					'key'            => 'common.track_usage',
 | 
						|
					'control'        => 'checkbox',
 | 
						|
					'checkbox_label' => esc_html__( 'Anonymously track usage to improve product quality', 'w3-total-cache' ),
 | 
						|
					'label_class'    => 'w3tc_single_column',
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php Util_Ui::button_config_save( 'general_misc' ); ?>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
 | 
						|
		<?php Util_Ui::postbox_header( esc_html__( 'Debug', 'w3-total-cache' ), '', 'debug' ); ?>
 | 
						|
		<p>
 | 
						|
			<?php
 | 
						|
			echo wp_kses(
 | 
						|
				sprintf(
 | 
						|
					// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
					__(
 | 
						|
						'Detailed information about each cache will be appended in (publicly available) %1$sHTML%2$s comments in the page\'s source code. Performance in this mode will not be optimal, use sparingly and disable when not in use.',
 | 
						|
						'w3-total-cache'
 | 
						|
					),
 | 
						|
					'<acronym title="' . esc_attr__( 'Hypertext Markup Language', 'w3-total-cache' ) . '">',
 | 
						|
					'</acronym>'
 | 
						|
				),
 | 
						|
				array(
 | 
						|
					'acronym' => array(
 | 
						|
						'title' => array(),
 | 
						|
					),
 | 
						|
				)
 | 
						|
			);
 | 
						|
			?>
 | 
						|
		</p>
 | 
						|
 | 
						|
		<table class="form-table">
 | 
						|
			<tr>
 | 
						|
				<th><?php esc_html_e( 'Debug mode:', 'w3-total-cache' ); ?></th>
 | 
						|
				<td>
 | 
						|
					<?php $this->checkbox_debug( 'pgcache.debug' ); ?> <?php Util_Ui::e_config_label( 'pgcache.debug' ); ?></label><br />
 | 
						|
					<?php $this->checkbox_debug( 'minify.debug' ); ?> <?php Util_Ui::e_config_label( 'minify.debug' ); ?></label><br />
 | 
						|
					<?php $this->checkbox_debug( 'dbcache.debug' ); ?> <?php Util_Ui::e_config_label( 'dbcache.debug' ); ?></label><br />
 | 
						|
					<?php $this->checkbox_debug( 'objectcache.debug' ); ?> <?php Util_Ui::e_config_label( 'objectcache.debug' ); ?></label><br />
 | 
						|
					<?php if ( Util_Environment::is_w3tc_pro( $this->_config ) ) : ?>
 | 
						|
						<?php $this->checkbox_debug( array( 'fragmentcache', 'debug' ) ); ?> <?php esc_html_e( 'Fragment Cache', 'w3-total-cache' ); ?></label><br />
 | 
						|
					<?php endif; ?>
 | 
						|
					<?php $this->checkbox_debug( 'cdn.debug' ); ?> <?php Util_Ui::e_config_label( 'cdn.debug' ); ?></label><br />
 | 
						|
					<?php $this->checkbox_debug( 'cdnfsd.debug' ); ?> <?php Util_Ui::e_config_label( 'cdnfsd.debug' ); ?></label><br />
 | 
						|
					<?php $this->checkbox_debug( 'varnish.debug' ); ?> <?php Util_Ui::e_config_label( 'varnish.debug' ); ?></label>
 | 
						|
					<?php if ( Util_Environment::is_w3tc_pro() ) : ?>
 | 
						|
						<br />
 | 
						|
						<?php $this->checkbox_debug( 'cluster.messagebus.debug' ); ?> <?php Util_Ui::e_config_label( 'cluster.messagebus.debug' ); ?></label>
 | 
						|
					<?php endif ?>
 | 
						|
					<p class="description">
 | 
						|
						<?php
 | 
						|
						echo wp_kses(
 | 
						|
							sprintf(
 | 
						|
								// translators: 1 opening HTML acronym tag, 2 closing HTML acronym tag.
 | 
						|
								__(
 | 
						|
									'If selected, detailed caching information will appear at the end of each page in a %1$sHTML%2$s comment. View a page\'s source code to review.',
 | 
						|
									'w3-total-cache'
 | 
						|
								),
 | 
						|
								'<acronym title="' . esc_attr__( 'Hypertext Markup Language', 'w3-total-cache' ) . '">',
 | 
						|
								'</acronym>'
 | 
						|
							),
 | 
						|
							array(
 | 
						|
								'acronym' => array(
 | 
						|
									'title' => array(),
 | 
						|
								),
 | 
						|
							)
 | 
						|
						);
 | 
						|
						?>
 | 
						|
					</p>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
		</table>
 | 
						|
		<table class="<?php echo esc_attr( Util_Ui::table_class() ); ?>">
 | 
						|
			<tr>
 | 
						|
				<th><?php esc_html_e( 'Purge Logs:', 'w3-total-cache' ); ?></th>
 | 
						|
				<td>
 | 
						|
					<?php \W3TC\Util_Ui::pro_wrap_maybe_start(); ?>
 | 
						|
 | 
						|
					<?php
 | 
						|
					$this->checkbox_debug_pro(
 | 
						|
						'pgcache.debug_purge',
 | 
						|
						__( 'Page Cache Purge Log', 'w3-total-cache' ),
 | 
						|
						' (<a href="?page=w3tc_general&view=purge_log&module=pagecache">' . __( 'view log', 'w3-total-cache' ) . '</a>)'
 | 
						|
					);
 | 
						|
					?>
 | 
						|
					<br />
 | 
						|
 | 
						|
					<?php
 | 
						|
					$this->checkbox_debug_pro(
 | 
						|
						'dbcache.debug_purge',
 | 
						|
						__( 'Database Cache Purge Log', 'w3-total-cache' ),
 | 
						|
						' (<a href="?page=w3tc_general&view=purge_log&module=dbcache">' . __( 'view log', 'w3-total-cache' ) . '</a>)'
 | 
						|
					);
 | 
						|
					?>
 | 
						|
					<br />
 | 
						|
 | 
						|
					<?php
 | 
						|
					$this->checkbox_debug_pro(
 | 
						|
						'objectcache.debug_purge',
 | 
						|
						__( 'Object Cache Purge Log', 'w3-total-cache' ),
 | 
						|
						' (<a href="?page=w3tc_general&view=purge_log&module=objectcache">' . __( 'view log', 'w3-total-cache' ) . '</a>)'
 | 
						|
					);
 | 
						|
					?>
 | 
						|
					<br />
 | 
						|
 | 
						|
					<?php
 | 
						|
					\W3TC\Util_Ui::pro_wrap_description(
 | 
						|
						esc_html__( 'Purge Logs provide information on when your cache has been purged and what triggered it.', 'w3-total-cache' ),
 | 
						|
						array(
 | 
						|
							esc_html__( 'Sometimes, you\'ll encounter a complex issue involving your cache being purged for an unknown reason. The Purge Logs functionality can help you easily resolve those issues.', 'w3-total-cache' ),
 | 
						|
						),
 | 
						|
						'general-purge-log'
 | 
						|
					);
 | 
						|
					?>
 | 
						|
					<?php \W3TC\Util_Ui::pro_wrap_maybe_end( 'debug_purge' ); ?>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
 | 
						|
		</table>
 | 
						|
 | 
						|
		<?php Util_Ui::button_config_save( 'general_debug' ); ?>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
	</div>
 | 
						|
</form>
 | 
						|
 | 
						|
<form action="admin.php?page=<?php echo esc_attr( $this->_page ); ?>" method="post" enctype="multipart/form-data">
 | 
						|
	<div class="metabox-holder">
 | 
						|
		<?php Util_Ui::postbox_header( esc_html__( 'Import / Export Settings', 'w3-total-cache' ), '', 'settings' ); ?>
 | 
						|
		<?php
 | 
						|
		echo wp_kses(
 | 
						|
			Util_Ui::nonce_field( 'w3tc' ),
 | 
						|
			array(
 | 
						|
				'input' => array(
 | 
						|
					'type'  => array(),
 | 
						|
					'name'  => array(),
 | 
						|
					'value' => array(),
 | 
						|
				),
 | 
						|
			)
 | 
						|
		);
 | 
						|
		?>
 | 
						|
		<table class="form-table">
 | 
						|
			<tr>
 | 
						|
				<th><?php esc_html_e( 'Import configuration:', 'w3-total-cache' ); ?></th>
 | 
						|
				<td>
 | 
						|
					<input type="file" name="config_file" />
 | 
						|
					<input type="submit" name="w3tc_config_import" class="w3tc-button-save button" value="<?php esc_attr_e( 'Upload', 'w3-total-cache' ); ?>" />
 | 
						|
					<p class="description"><?php esc_html_e( 'Upload and replace the active settings file.', 'w3-total-cache' ); ?></p>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
			<tr>
 | 
						|
				<th><?php esc_html_e( 'Export configuration:', 'w3-total-cache' ); ?></th>
 | 
						|
				<td>
 | 
						|
					<input type="submit" name="w3tc_config_export" class="button" value="<?php esc_attr_e( 'Download', 'w3-total-cache' ); ?>" />
 | 
						|
					<p class="description"><?php esc_html_e( 'Download the active settings file.', 'w3-total-cache' ); ?></p>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
			<tr>
 | 
						|
				<th><?php esc_html_e( 'Reset configuration:', 'w3-total-cache' ); ?></th>
 | 
						|
				<td>
 | 
						|
					<input type="submit" name="w3tc_config_reset" class="button" value="<?php esc_attr_e( 'Restore Default Settings', 'w3-total-cache' ); ?>" />
 | 
						|
					<p class="description"><?php esc_html_e( 'Revert all settings to the defaults. Any settings staged in preview mode will not be modified.', 'w3-total-cache' ); ?></p>
 | 
						|
				</td>
 | 
						|
			</tr>
 | 
						|
		</table>
 | 
						|
		<?php Util_Ui::postbox_footer(); ?>
 | 
						|
	</div>
 | 
						|
</form>
 | 
						|
<?php require W3TC_INC_DIR . '/options/common/footer.php'; ?>
 |