AnonSec Team
Server IP : 10.131.40.8  /  Your IP : 216.73.216.37
Web Server : Apache
System : Linux webd008.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User : ludmqhh ( 137773)
PHP Version : 8.4.10
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0705) :  /home/ludmqhh/www/hotel-forum/wp-content/_plugins/weglot/src/third/amp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/ludmqhh/www/hotel-forum/wp-content/_plugins/weglot/src/third/amp/class-amp-enqueue-weglot.php
<?php

namespace WeglotWP\Third\Amp;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

use Exception;
use WeglotWP\Models\Hooks_Interface_Weglot;
use WeglotWP\Helpers\Helper_Flag_Type;
use WeglotWP\Services\Button_Service_Weglot;
use WeglotWP\Services\Language_Service_Weglot;
use WeglotWP\Services\Option_Service_Weglot;
use WeglotWP\Services\Request_Url_Service_Weglot;


/**
 * Amp_Enqueue_Weglot
 *
 * @since 2.0
 */
class Amp_Enqueue_Weglot implements Hooks_Interface_Weglot {
	/**
	 * @var Option_Service_Weglot
	 */
	private $option_services;

	/**
	 * @since 2.0
	 */
	public function __construct() {
		$this->option_services = weglot_get_service( 'Option_Service_Weglot' );
	}

	/**
	 * @return void
	 * @throws Exception
	 * @since 2.0
	 * @see Hooks_Interface_Weglot
	 *
	 */
	public function hooks() {
		if ( ! defined( 'AMPFORWP_PLUGIN_DIR' ) && ! defined( 'AMP__VERSION' ) ) {
			return;
		}

		$translate_amp = $this->option_services->get_option( 'translate_amp' );

		if ( empty( $translate_amp ) ) {
			return;
		}

		add_action( 'weglot_render_dom', array( $this, 'weglot_amp_css' ) ); // @phpstan-ignore-line
	}


	/**
	 * @param string $html
	 * @return string
	 * @throws Exception
	 * @since 3.1.7
	 */
	public function weglot_amp_css( $html ) {

		/** @var Request_Url_Service_Weglot $request_url_service */
		$request_url_service = weglot_get_service( 'Request_Url_Service_Weglot' );
		$weglot_url          = $request_url_service->get_weglot_url();

		/** @var Amp_Service_Weglot $amp_service */
		$amp_service = weglot_get_service( 'Amp_Service_Weglot' );
		$amp_regex   = $amp_service->get_regex( true );

		if ( ! $this->option_services->get_option_custom_settings( 'translate_amp' ) || ! preg_match( '#' . $amp_regex . '#', $weglot_url->getUrl() ) === true ) {
			return $html;
		}

		/** @var Language_Service_Weglot $language_service */
		$language_service = weglot_get_service( 'Language_Service_Weglot' );

		$languages_configured = $language_service->get_original_and_destination_languages( $request_url_service->is_allowed_private() );
		$flags_positions      = $this->weglot_get_flags_positions();
		$type_flags           = weglot_get_option( 'type_flags' );
		$type_flags           = Helper_Flag_Type::get_flag_number_with_type( $type_flags );
		$with_flags           = weglot_get_option( 'with_flags' );
		$css                  = str_replace( '../images/', WEGLOT_URL_DIST . '/images/', file_get_contents( WEGLOT_DIR_DIST . '/css/front-amp-css.css' ) );

		$s = array(
			'!important',
			'.weglot-flags',
		);

		$r = array(
			'',
			'.weglot-flags.weglot-lang',
		);

		$css .= str_replace($s, $r, $this->option_services->get_flag_css()); //phpcs:ignore

		if ( $with_flags ) {
			foreach ( $languages_configured as $lang ) {

				$lang = $lang->getInternalCode();
				if ( ! empty( $flags_positions[ $type_flags ][ $lang ] ) ) {
					$css .= '.weglot-flags.flag-' . $type_flags . '.' . $lang . ' > a:before, .weglot-flags.flag-' . $type_flags . '.' . $lang . ' > span:before { background-position: ' . $flags_positions[ $type_flags ][ $lang ] . 'px 0; }';
				}
			}
		}

		$html = preg_replace( '#<style amp-custom(.*?)>#', '<style amp-custom$1>' . $css, $html );

		return $html;
	}

	/**
	 * @return array<array<string, int>>
	 * @throws Exception
	 * @since 3.1.7
	 */
	public function weglot_get_flags_positions() {
		return array(
			array(
				'hw' => -3570,
				'af' => -6570,
				'fl' => -3060,
				'sq' => -2580,
				'am' => -5130,
				'ar' => -510,
				'hy' => -1800,
				'az' => -6840,
				'ba' => -2040,
				'eu' => -7260,
				'be' => -5310,
				'bn' => -5400,
				'bs' => -6390,
				'bg' => -2730,
				'my' => -3299,
				'ca' => -7230,
				'zh' => -3690,
				'tw' => -2970,
				'km' => -6930,
				'ny' => -1140,
				'co' => -2520,
				'hr' => -5910,
				'cs' => -2700,
				'da' => -2670,
				'nl' => -2100,
				'en' => -1920,
				'eo' => -1920,
				'et' => -2640,
				'fj' => -1710,
				'fi' => -2550,
				'fr' => -2520,
				'gl' => -7290,
				'ka' => -5040,
				'de' => -2490,
				'el' => -2460,
				'gu' => -1170,
				'ht' => -4650,
				'ha' => -900,
				'he' => -1050,
				'hi' => -1170,
				'hu' => -2430,
				'is' => -2400,
				'ig' => -870,
				'id' => -3510,
				'ga' => -2340,
				'it' => -2310,
				'ja' => -3480,
				'jv' => -3360,
				'kn' => -1170,
				'kk' => -3150,
				'ko' => -6990,
				'ku' => -2430,
				'ky' => -3420,
				'lo' => -3450,
				'la' => -2310,
				'lv' => -2280,
				'lt' => -2250,
				'lb' => -2220,
				'mk' => -2190,
				'mg' => -1200,
				'ms' => -3360,
				'ml' => -1170,
				'mt' => -2130,
				'mi' => -3240,
				'mr' => -1170,
				'mn' => -6000,
				'ne' => -3270,
				'no' => -5850,
				'ps' => -5189,
				'fa' => -6690,
				'pl' => -2160,
				'pt' => -1740,
				'pa' => -3180,
				'ro' => -2070,
				'ru' => -2040,
				'sm' => -4620,
				'gd' => -30,
				'sr' => -4290,
				'sn' => -540,
				'sd' => -3180,
				'si' => -2820,
				'sk' => -6810,
				'sl' => -2010,
				'so' => -4560,
				'st' => -4830,
				'es' => -480,
				'su' => -4530,
				'sw' => -1290,
				'sv' => -1980,
				'tl' => -3060,
				'ty' => -6270,
				'tg' => -2940,
				'ta' => -1170,
				'tt' => -2040,
				'te' => -1170,
				'th' => -2910,
				'to' => -6540,
				'tr' => -1950,
				'uk' => -1890,
				'ur' => -3180,
				'uz' => -2880,
				'vi' => -2850,
				'cy' => -6420,
				'fy' => -2100,
				'xh' => -6570,
				'yi' => -1050,
				'yo' => -870,
				'zu' => -6570,
				'br' => -6630,
			),
			array(
				'hw' => -7840,
				'fl' => 2560,
				'af' => -6848,
				'sq' => -97,
				'am' => -2369,
				'ar' => -6465,
				'hy' => -385,
				'az' => -513,
				'ba' => -6113,
				'eu' => -8353,
				'be' => -705,
				'bn' => -609,
				'bs' => -929,
				'bg' => -1121,
				'my' => -4929,
				'ca' => -8321,
				'zh' => -1505,
				'tw' => -6369,
				'km' => -1217,
				'ny' => -4289,
				'co' => -2561,
				'hr' => -1793,
				'cs' => -1921,
				'da' => -1985,
				'nl' => -5121,
				'en' => -7777,
				'eo' => -7777,
				'et' => -2337,
				'fj' => -2497,
				'fi' => -2529,
				'fr' => -2561,
				'gl' => -8383,
				'ka' => -2721,
				'de' => -2753,
				'el' => -2881,
				'gu' => -3329,
				'ht' => -3169,
				'ha' => -5281,
				'he' => -3521,
				'hi' => -3329,
				'hu' => -3265,
				'is' => -3297,
				'ig' => -5313,
				'id' => -3361,
				'ga' => -3457,
				'it' => -3553,
				'ja' => -3617,
				'jv' => -4321,
				'kn' => -3329,
				'kk' => -3713,
				'ko' => -6913,
				'ku' => -3265,
				'ky' => -3873,
				'lo' => -3904,
				'la' => -3553,
				'lv' => -3937,
				'lt' => -4129,
				'lb' => -4161,
				'mk' => -4225,
				'mg' => -4257,
				'ms' => -4321,
				'ml' => -3329,
				'mt' => -4417,
				'mi' => -5217,
				'mr' => -3329,
				'mn' => -4769,
				'ne' => -5091,
				'no' => -5505,
				'ps' => -33,
				'fa' => -3393,
				'pl' => -5889,
				'pt' => -5921,
				'pa' => -3329,
				'ro' => -6081,
				'ru' => -6113,
				'sm' => -6369,
				'gd' => -6497,
				'sr' => -6561,
				'sn' => -8287,
				'sd' => -5601,
				'si' => -7039,
				'sk' => -6689,
				'sl' => -6721,
				'so' => -6785,
				'st' => -4001,
				'es' => -7009,
				'su' => -7073,
				'sw' => -3745,
				'sv' => -7169,
				'tl' => -5823,
				'ty' => -2593,
				'tg' => -7297,
				'ta' => -3329,
				'tt' => -6113,
				'te' => -3329,
				'th' => -7361,
				'to' => -7456,
				'tr' => -7553,
				'uk' => -7713,
				'ur' => -5600,
				'uz' => -7969,
				'vi' => -8097,
				'cy' => -8129,
				'fy' => -5121,
				'xh' => -6848,
				'yi' => -3521,
				'yo' => -5313,
				'zu' => -6848,
				'br' => -993,
			),
			array(
				'hw' => -5448,
				'fl' => -1008,
				'af' => -4968,
				'sq' => -2976,
				'am' => -3816,
				'ar' => -768,
				'hy' => 0,
				'az' => -5136,
				'ba' => -936,
				'eu' => -5376,
				'be' => -4224,
				'bn' => -4056,
				'bs' => -3984,
				'bg' => -5040,
				'my' => -1248,
				'ca' => -5352,
				'zh' => -2592,
				'tw' => -3408,
				'km' => -5160,
				'ny' => -1392,
				'co' => -2304,
				'hr' => -4416,
				'cs' => -2472,
				'da' => -2448,
				'nl' => -1296,
				'en' => -312,
				'eo' => -312,
				'et' => -2424,
				'fj' => -576,
				'fi' => -2328,
				'fr' => -2304,
				'gl' => -5400,
				'ka' => -3744,
				'de' => -2256,
				'el' => -2208,
				'gu' => -1728,
				'ht' => -3528,
				'ha' => -1176,
				'he' => -1992,
				'hi' => -1728,
				'hu' => -2088,
				'is' => -2064,
				'ig' => -1103,
				'id' => -2040,
				'ga' => -2016,
				'it' => -1968,
				'ja' => -1920,
				'jv' => -1536,
				'kn' => -1728,
				'kk' => -1704,
				'ko' => -1848,
				'ku' => -2088,
				'ky' => -1800,
				'lo' => -1776,
				'la' => -1968,
				'lv' => -1752,
				'lt' => -1656,
				'lb' => -1632,
				'mk' => -1440,
				'mg' => -1560,
				'ms' => -1536,
				'ml' => -1728,
				'mt' => -1200,
				'mi' => -1224,
				'mr' => -1728,
				'mn' => -4800,
				'ne' => -1320,
				'no' => -4776,
				'ps' => -4008,
				'fa' => -5088,
				'pl' => -984,
				'pt' => -528,
				'pa' => -1728,
				'ro' => -960,
				'ru' => -936,
				'sm' => -3408,
				'gd' => -4872,
				'sr' => -3120,
				'sn' => -72,
				'sd' => -1128,
				'si' => -480,
				'sk' => -4152,
				'sl' => -696,
				'so' => -3336,
				'st' => -3552,
				'es' => -96,
				'su' => -3312,
				'sw' => -1872,
				'sv' => -552,
				'tl' => -1008,
				'ty' => -4512,
				'tg' => -264,
				'ta' => -1728,
				'tt' => -936,
				'te' => -1728,
				'th' => -456,
				'to' => -3264,
				'tr' => -360,
				'uk' => -288,
				'ur' => -1128,
				'uz' => -240,
				'vi' => -144,
				'cy' => -4848,
				'fy' => -1296,
				'xh' => -4968,
				'yi' => -1992,
				'yo' => -1103,
				'zu' => -4968,
				'br' => -2784,
			),
			array(
				'hw' => -2711,
				'fl' => -5232,
				'af' => -5496,
				'sq' => -4776,
				'am' => -192,
				'ar' => -3336,
				'hy' => -4632,
				'az' => -4536,
				'ba' => -2664,
				'eu' => -5808,
				'be' => -144,
				'bn' => -4488,
				'bs' => -4392,
				'bg' => -4296,
				'my' => -3769,
				'ca' => -5784,
				'zh' => -3240,
				'tw' => -4008,
				'km' => -4201,
				'ny' => -384,
				'co' => -2760,
				'hr' => -3048,
				'cs' => -5280,
				'da' => -3024,
				'nl' => -3360,
				'en' => -2520,
				'eo' => -2520,
				'et' => -2856,
				'fj' => -0,
				'fi' => -2784,
				'fr' => -2760,
				'gl' => -5832,
				'ka' => -1536,
				'de' => -1488,
				'el' => -1416,
				'gu' => -2304,
				'ht' => -5160,
				'ha' => -361,
				'he' => -1608,
				'hi' => -2304,
				'hu' => -1920,
				'is' => -840,
				'ig' => -3457,
				'id' => -4992,
				'ga' => -2016,
				'it' => -336,
				'ja' => -2448,
				'jv' => -864,
				'kn' => -2304,
				'kk' => -3912,
				'ko' => -2256,
				'ku' => -1920,
				'ky' => -744,
				'lo' => -3816,
				'la' => -336,
				'lv' => -216,
				'lt' => -1776,
				'lb' => -1945,
				'mk' => -2208,
				'mg' => -5064,
				'ms' => -864,
				'ml' => -2304,
				'mt' => -4920,
				'mi' => -2113,
				'mr' => -2304,
				'mn' => -24,
				'ne' => -5642,
				'no' => -984,
				'ps' => -4753,
				'fa' => -816,
				'pl' => -4944,
				'pt' => -3504,
				'pa' => -2304,
				'ro' => -3744,
				'ru' => -2664,
				'sm' => -1248,
				'gd' => -3841,
				'sr' => -3312,
				'sn' => -5521,
				'sd' => -1993,
				'si' => -2833,
				'sk' => -552,
				'sl' => -936,
				'so' => -4032,
				'st' => -3961,
				'es' => -3576,
				'su' => -3985,
				'sw' => -912,
				'sv' => -264,
				'tl' => -5232,
				'ty' => -1512,
				'tg' => -3720,
				'ta' => -2304,
				'tt' => -2664,
				'te' => -2304,
				'th' => -4848,
				'to' => -1680,
				'tr' => -432,
				'uk' => -5736,
				'ur' => -1992,
				'uz' => -2160,
				'vi' => -3384,
				'cy' => -5040,
				'fy' => -3360,
				'xh' => -5496,
				'yi' => -1608,
				'yo' => -3457,
				'zu' => -5496,
				'br' => -4344,
			),
		);
	}

}

AnonSec - 2021