File: /var/www/vhosts/enlugo.es/httpdocs/wp-content/plugins/w3-total-cache/Base_Page_Settings.php
<?php
namespace W3TC;
class Base_Page_Settings {
/**
* Config
*
* @var Config
*/
protected $_config = null;
/**
* Notes
*
* @var array
*/
protected $_notes = array();
/**
* Errors
*
* @var array
*/
protected $_errors = array();
/**
* Used in PHPMailer init function
*
* @var string
*/
protected $_phpmailer_sender = '';
/**
* Master configuration
*
* @var Config
*/
protected $_config_master;
protected $_page;
function __construct() {
$this->_config = Dispatcher::config();
$this->_config_master = Dispatcher::config_master();
$this->_page = Util_Admin::get_current_page();
}
function options() {
$this->view();
}
public function render_footer() {
include W3TC_INC_OPTIONS_DIR . '/common/footer.php';
}
/**
* Returns true if config section is sealed
*
* @param string $section
* @return boolean
*/
protected function is_sealed( $section ) {
return true;
}
/**
* Returns true if we edit master config
*
* @return boolean
*/
protected function is_master() {
return $this->_config->is_master();
}
/**
* Prints checkbox with config option value
*
* @param string $option_id
* @param bool $disabled
* @param string $class_prefix
* @param bool $label
*/
protected function checkbox( $option_id, $disabled = false,
$class_prefix = '', $label = true, $force_value = null ) {
$disabled = $disabled || $this->_config->is_sealed( $option_id );
$name = Util_Ui::config_key_to_http_name( $option_id );
if ( !$disabled )
echo '<input type="hidden" name="' . $name . '" value="0" />';
if ( $label )
echo '<label>';
echo '<input class="'.$class_prefix.'enabled" type="checkbox" id="' . $name .
'" name="' . $name . '" value="1" ';
if ( !is_null( $force_value ) )
checked( $force_value, true );
else
checked( $this->_config->get_boolean( $option_id ), true );
if ( $disabled )
echo 'disabled="disabled" ';
echo ' />';
}
/**
* Prints a radio button and if config value matches value
*
* @param string $option_id config id
* @param unknown $value
* @param bool $disabled
* @param string $class_prefix
*/
protected function radio( $option_id, $value, $disabled = false, $class_prefix = '' ) {
if ( is_bool( $value ) )
$rValue = $value?'1':'0';
else
$rValue = $value;
$disabled = $disabled || $this->_config->is_sealed( $option_id );
$name = Util_Ui::config_key_to_http_name( $option_id );
echo '<label>';
echo '<input class="'.$class_prefix.'enabled" type="radio" id="' . $name .
'" name="' . $name . '" value="', $rValue, '" ';
checked( $this->_config->get_boolean( $option_id ), $value );
if ( $disabled )
echo 'disabled="disabled" ';
echo ' />';
}
/**
* Prints checkbox for debug option
*
* @param string $option_id
*/
protected function checkbox_debug( $option_id ) {
if ( is_array( $option_id ) ) {
$section = $option_id[0];
$section_enabled = $this->_config->is_extension_active_frontend( $section );
} else {
$section = substr( $option_id, 0, strrpos( $option_id, '.' ) );
$section_enabled = $this->_config->get_boolean( $section . '.enabled' );
}
$disabled = $this->_config->is_sealed( $option_id ) || !$section_enabled;
$name = Util_Ui::config_key_to_http_name( $option_id );
if ( !$disabled )
echo '<input type="hidden" name="' . $name . '" value="0" />';
echo '<label>';
echo '<input class="enabled" type="checkbox" id="' . $name .
'" name="' . $name . '" value="1" ';
checked( $this->_config->get_boolean( $option_id ) && $section_enabled, true );
if ( $disabled )
echo 'disabled="disabled" ';
echo ' />';
}
protected function checkbox_debug_pro( $option_id, $label, $label_pro ) {
if ( is_array( $option_id ) ) {
$section = $option_id[0];
$section_enabled = $this->_config->is_extension_active_frontend( $section );
} else {
$section = substr( $option_id, 0, strrpos( $option_id, '.' ) );
$section_enabled = $this->_config->get_boolean( $section . '.enabled' );
}
$is_pro = Util_Environment::is_w3tc_pro( $this->_config );
$disabled = $this->_config->is_sealed( $option_id ) || !$section_enabled ||
!$is_pro;
$name = Util_Ui::config_key_to_http_name( $option_id );
if ( !$disabled )
echo '<input type="hidden" name="' . $name . '" value="0" />';
echo '<label>';
echo '<input class="enabled" type="checkbox" id="' . $name .
'" name="' . $name . '" value="1" ';
checked( $this->_config->get_boolean( $option_id ) && $is_pro, true );
if ( $disabled )
echo 'disabled="disabled" ';
echo ' />';
echo esc_html( $label );
if ( $is_pro ) {
echo $label_pro;
}
echo '</label>';
}
protected function value_with_disabled( $option_id, $disabled,
$value_when_disabled ) {
if ( $disabled ) {
echo 'value="' . esc_attr( $value_when_disabled ) . '" ';
echo 'disabled="disabled" ';
} else {
echo 'value="' .
esc_attr( $this->_config->get_string( $option_id ) ) . '" ';
}
}
protected function view() {
include W3TC_INC_DIR . '/options/common/header.php';
}
}