Linux puskom-ProLiant-DL385-Gen10 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64
/
home
/
puskom
/
mastur
/
hummingbird-performance
/
core
/
integration
/
//home/puskom/mastur/hummingbird-performance/core/integration/class-weglot.php
<?php /** * Weglot integration class. * * @since 3.3.3 * * @package Hummingbird\Core\Integration */ namespace Hummingbird\Core\Integration; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Weglot */ class Weglot { /** * Weglot singleton instance. * * @access private * * @var Weglot $instance|null */ private static $instance = null; /** * Get Weglot singleton instance. * * @return Weglot|null */ public static function get_instance() { if ( ! self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * Weglot constructor. */ private function __construct() { add_filter( 'wphb_page_cache_request_uri', array( $this, 'wphb_page_cache_request_uri' ) ); } /** * Check if Weglot plugin is active. * * @return bool */ public function is_active() { return apply_filters( 'wpph_weglot_is_active', defined( 'WEGLOT_VERSION' ) && WEGLOT_VERSION ); } /** * Add language code in request_uri for the Weglot plugin. * * Fixes translate issue with Weglot. * * @param string $request_uri Request URI. * * @return string */ public function wphb_page_cache_request_uri( $request_uri ) { // Return if Weglot plugin is not activated. if ( ! $this->is_active() ) { return $request_uri; } // Make sure the Weglot function we are using exist to avoid fatal errors. if ( ! function_exists( 'weglot_get_service' ) ) { return $request_uri; } $request_url_services = weglot_get_service( 'Request_Url_Service_Weglot' ); $language_services = weglot_get_service( 'Language_Service_Weglot' ); // Make sure the Weglot functions we are using exist to avoid fatal errors. if ( ! method_exists( $request_url_services, 'get_current_language' ) || ! method_exists( $language_services, 'get_original_language' ) ) { return $request_uri; } $original_language = $language_services->get_original_language(); $current_language = $request_url_services->get_current_language( false ); if ( $original_language && $current_language !== $original_language && method_exists( $current_language, 'getExternalCode' ) ) { return '/' . $current_language->getExternalCode() . $request_uri; } return $request_uri; } }