options = &$polylang->options;
parent::__construct(
$polylang,
array(
'module' => 'browser',
'title' => __( 'Detect browser language', 'polylang' ),
'description' => __( 'When the front page is visited, set the language according to the browser preference', 'polylang' ),
'active_option' => $this->is_available() ? 'browser' : false,
)
);
if ( ! class_exists( 'PLL_Xdata_Domain', true ) ) {
add_action( 'admin_print_footer_scripts', array( $this, 'print_js' ) );
}
}
/**
* Tells if the option is available
*
* @since 2.0
*
* @return bool
*/
protected function is_available() {
return ( 3 > $this->options['force_lang'] ) || class_exists( 'PLL_Xdata_Domain', true );
}
/**
* Tells if the module is active
*
* @since 1.8
*
* @return bool
*/
public function is_active() {
return $this->is_available() ? parent::is_active() : false;
}
/**
* Displays the javascript to handle dynamically the change in url modifications
* as the preferred browser language is not used when the language is set from different domains
*
* @since 1.8
*/
public function print_js() {
wp_enqueue_script( 'jquery' );
if ( parent::is_active() && 3 > $this->options['force_lang'] ) {
$func = 'removeClass( "inactive" ).addClass( "active" )';
$link = sprintf( '%s', $this->action_links['deactivate'] );
}
else {
$func = 'removeClass( "active" ).addClass( "inactive" )';
$link = sprintf( '%s', $this->action_links['activate'] );
}
$deactivated = sprintf( '%s', $this->action_links['deactivated'] );
?>