Plugin Directory

Changeset 3413813


Ignore:
Timestamp:
12/08/2025 04:05:17 AM (4 months ago)
Author:
linguise
Message:

Updating to version 2.2.7

Location:
linguise
Files:
36 edited
1 copied

Legend:

Unmodified
Added
Removed
  • linguise/tags/2.2.7/linguise.php

    r3402971 r3413813  
    55 * Plugin URI: https://www.linguise.com/
    66 * Description: Linguise translation plugin
    7  * Version:2.2.6
     7 * Version:2.2.7
    88 * Text Domain: linguise
    99 * Domain Path: /languages
  • linguise/tags/2.2.7/readme.txt

    r3402971 r3413813  
    33Tags: translate, AI translation, multilingual, automatic translation, WooCommerce translation
    44Requires at least: 4.0
    5 Tested up to: 6.8
    6 Stable tag: 2.2.6
     5Tested up to: 6.9
     6Stable tag: 2.2.7
    77Requires PHP: 7.0
    88License: GPLv2 or later
     
    107107
    108108== Changelog ==
     109
     110= 2.2.7 =
     111- Fix: Issues with style not enqueueing in WP 6.9
     112
    109113= 2.2.6 =
    110114- Fix: Search translation toggle reverted when enabled in admin page
  • linguise/tags/2.2.7/src/FragmentBase.php

    r3397694 r3413813  
    225225        // Run through filters, provide our current default filters
    226226        // User can change it by adding a filter and modify the array.
     227        // @codeCoverageIgnoreStart
    227228        if (function_exists('apply_filters')) {
    228229            $wp_frag_list = apply_filters('linguise_fragment_filters', $merged_defaults);
     
    230231            $wp_frag_list = $merged_defaults;
    231232        }
     233        // @codeCoverageIgnoreEnd
    232234
    233235        // cache the list
     
    310312            $as_url = parse_url($value);
    311313            if (empty($as_url)) {
    312                 return false;
     314                return false; // @codeCoverageIgnore
    313315            }
    314316
     
    422424    protected static function isCurrentTheme($theme_name, $parent_theme = \null)
    423425    {
     426        // @codeCoverageIgnoreStart
    424427        if (!function_exists('wp_get_theme')) {
    425428            return false;
    426429        }
     430        // @codeCoverageIgnoreEnd
    427431
    428432        $theme = $parent_theme ?: wp_get_theme();
     
    603607
    604608        // Merge with apply_filters
     609        // @codeCoverageIgnoreStart
    605610        if (function_exists('apply_filters')) {
    606611            $current_list = apply_filters('linguise_fragment_override', $current_list, $html_data);
    607612        }
     613        // @codeCoverageIgnoreEnd
    608614
    609615        return $current_list;
  • linguise/tags/2.2.7/src/Helper.php

    r3397694 r3413813  
    231231    public static function localeCompare($locale, $test_locale)
    232232    {
     233        if (empty($locale) || empty($test_locale)) {
     234            return false;
     235        }
     236
    233237        // Normalize underscore and dash to a dash
    234238        $locale = str_replace('_', '-', $locale);
  • linguise/tags/2.2.7/src/constants.php

    r3402971 r3413813  
    11<?php
    22if (!defined('LINGUISE_SCRIPT_TRANSLATION_VERSION')) {
    3     define('LINGUISE_SCRIPT_TRANSLATION_VERSION', 'wordpress_plugin/2.2.6');
     3    define('LINGUISE_SCRIPT_TRANSLATION_VERSION', 'wordpress_plugin/2.2.7');
    44}
    55
    66if (!defined('LINGUISE_VERSION')) {
    7     define('LINGUISE_VERSION', '2.2.6');
     7    define('LINGUISE_VERSION', '2.2.7');
    88}
  • linguise/tags/2.2.7/src/frontend/browser_language.php

    r3316661 r3413813  
    5555            $accept_languages = self::splitAcceptLanguage($accept_language);
    5656            if (empty($accept_languages)) {
    57                 return null;
     57                return null; // @codeCoverageIgnore
    5858            }
    5959
     
    9191        } else {
    9292            // Nothing
    93             return null;
     93            return null; // @codeCoverageIgnore
    9494        }
    9595    }
  • linguise/tags/2.2.7/src/frontend/redirector.php

    r3379190 r3413813  
    217217        header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
    218218        header('Location: ' . $final_url, true, 302);
    219         exit();
     219        if (defined('LINGUISE_WP_PLUGIN_TEST_MODE') && LINGUISE_WP_PLUGIN_TEST_MODE) {
     220            return;
     221        }
     222        exit(); // @codeCoverageIgnore
    220223    }
    221224
  • linguise/tags/2.2.7/src/switcher.php

    r3402971 r3413813  
    154154        // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- View request, no action
    155155        $is_wp_bricks = array_key_exists('bricks', $_GET) ? $_GET['bricks'] : false;
    156         if (!$is_wp_bricks) {
     156        if (!$is_wp_bricks && !empty($this->config['token'])) { // Only load if token is present
    157157            wp_enqueue_script('linguise_switcher', Helper::getScriptUrl('/assets/js/front.bundle.js'), array(), LINGUISE_VERSION);
    158158            wp_enqueue_style('linguise_switcher', Helper::getScriptUrl('/assets/css/front.bundle.css'), array(), LINGUISE_VERSION);
     
    304304        add_filter('wp_get_nav_menu_items', [$this, 'hookNavMenuItems'], 20, 1);
    305305        add_action('wp_footer', [$this, 'hookFooter'], 10, 1);
     306        add_action('wp_enqueue_scripts', [$this, 'loadScripts'], 10);
    306307        add_shortcode('linguise', [$this, 'hookShortcode']);
    307308    }
  • linguise/tags/2.2.7/src/synchronization.php

    r3321566 r3413813  
    114114
    115115        $api_host = Configuration::getInstance()->get('api_host') ?? 'api.linguise.com';
    116         $api_port = (int)Configuration::getInstance()->get('api_port') ?? 443;
     116        $api_port_raw = Configuration::getInstance()->get('api_port');
     117        if ($api_port_raw === null || $api_port_raw === '') {
     118            $api_port = 443;
     119        } else {
     120            $api_port = (int)$api_port_raw;
     121        }
    117122        $protocol = $api_port === 443 ? 'https' : 'http';
    118123        return $protocol . '://' . $api_host . (in_array($api_port, $api_port_base) ? '' : ':' . $api_port) . $path;
  • linguise/tags/2.2.7/src/thirdparty/base-class.php

    r3397694 r3413813  
    9797     * Initialize the integration
    9898     *
     99     * @codeCoverageIgnore
     100     *
    99101     * @return void
    100102     */
     
    108110     * Unhook the integration
    109111     *
     112     * @codeCoverageIgnore
     113     *
    110114     * @return void
    111115     */
     
    120124     *
    121125     * This is a helper function to reload the integration. By default it calls the destroy and init functions.
     126     *
     127     * @codeCoverageIgnore
    122128     *
    123129     * @return void
     
    185191     * We need to define the constant LINGUISE_SCRIPT_TRANSLATION to 1.
    186192     * Then we load the configuration from the plugin's directory.
     193     *
     194     * @codeCoverageIgnore
    187195     *
    188196     * @return void
     
    226234     * @param string $url               The string URL
    227235     *
     236     * @codeCoverageIgnore
     237     *
    228238     * @return string
    229239     */
     
    271281     * @param string $language   The language to translate to
    272282     *
     283     * @codeCoverageIgnore
     284     *
    273285     * @return object|false The array object from Linguise API call. `false` if the translation failed or failed to decode JSON.
    274286     */
     
    301313     * @param string $language       The language
    302314     * @param string $requested_path The requested path
     315     *
     316     * @codeCoverageIgnore
    303317     *
    304318     * @return object|false The array object from Linguise API call. `false` if the translation failed or failed to decode JSON.
  • linguise/tags/2.2.7/src/thirdparty/elementor-pro.php

    r3309076 r3413813  
    101101
    102102    /**
    103      * Get the language for WooCommerce context.
    104      *
    105      * First it checks current language, if not set, then it checks referer.
    106      *
    107      * @return string|null
    108      */
    109     protected function getLanguageMeta()
    110     {
    111         $language_meta = WPHelper::getLanguage();
    112         if (!$language_meta) {
    113             // Check referer
    114             $language_meta = WPHelper::getLanguageFromReferer();
    115         }
    116         return $language_meta;
    117     }
    118 
    119     /**
    120103     * Translate Elementor JSON response fragments
    121104     *
  • linguise/tags/2.2.7/src/thirdparty/elementor.php

    r3309076 r3413813  
    2525     * Decides if the integration should be loaded.
    2626     *
     27     * @codeCoverageIgnore
     28     *
    2729     * @return boolean
    2830     */
     
    3436    /**
    3537     * Registers the filter for the integration.
     38     *
     39     * @codeCoverageIgnore
    3640     *
    3741     * @return void
     
    4549    /**
    4650     * Destroys the integration
     51     *
     52     * @codeCoverageIgnore
    4753     *
    4854     * @return void
  • linguise/tags/2.2.7/src/thirdparty/facetwp.php

    r3339453 r3413813  
    8181     * Decides if the FacetWP integration should be loaded.
    8282     *
     83     * @codeCoverageIgnore
     84     *
    8385     * @return boolean
    8486     */
     
    9092    /**
    9193     * Load the integration
     94     *
     95     * @codeCoverageIgnore
    9296     *
    9397     * @return void
     
    101105    /**
    102106     * Unload the integration
     107     *
     108     * @codeCoverageIgnore
    103109     *
    104110     * @return void
  • linguise/tags/2.2.7/src/thirdparty/wc/admin-emails.php

    r3291510 r3413813  
    2121    /**
    2222     * Determines if the integration should be loaded.
     23     *
     24     * @codeCoverageIgnore
    2325     *
    2426     * @return boolean
  • linguise/tags/2.2.7/src/thirdparty/wc/emails.php

    r3323207 r3413813  
    3131     * Determines if the integration should be loaded.
    3232     *
     33     * @codeCoverageIgnore
     34     *
    3335     * @return boolean
    3436     */
     
    4244     * Load the integration
    4345     *
     46     * @codeCoverageIgnore
     47     *
    4448     * @return void
    4549     */
     
    5155    /**
    5256     * Unload the integration
     57     *
     58     * @codeCoverageIgnore
    5359     *
    5460     * @return void
     
    100106            $language_meta = $wc_email->object->get_meta('linguise_language', true);
    101107            if (empty($language_meta)) {
    102                 $language_meta = get_post_meta($wc_email->object->get_id(), 'linguise_language', true);
     108                $language_meta = get_post_meta($wc_email->object->get_id(), 'linguise_language', true); // @codeCoverageIgnore
    103109            }
    104110        }
  • linguise/tags/2.2.7/vendor/composer/installed.php

    r3402971 r3413813  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => '0da894d35554640f8b5d735c9311132bce48fb5e',
     6        'reference' => '977edba05e2b23018e0cc6a5892ac6ec2bcf72a5',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    3232            'pretty_version' => 'dev-master',
    3333            'version' => 'dev-master',
    34             'reference' => '0da894d35554640f8b5d735c9311132bce48fb5e',
     34            'reference' => '977edba05e2b23018e0cc6a5892ac6ec2bcf72a5',
    3535            'type' => 'library',
    3636            'install_path' => __DIR__ . '/../../',
  • linguise/tags/2.2.7/vendor/linguise/script-php/certificates/cacert.pem

    r3393354 r3413813  
    22## Bundle of CA Root Certificates
    33##
    4 ## Certificate data from Mozilla as of: Tue Nov  4 04:12:02 2025 GMT
     4## Certificate data from Mozilla as of: Tue Dec  2 04:12:02 2025 GMT
    55##
    66## Find updated versions here: https://curl.se/docs/caextract.html
     
    1616## Just configure this file as the SSLCACertificateFile.
    1717##
    18 ## Conversion done with mk-ca-bundle.pl version 1.29.
    19 ## SHA256: 039132bff5179ce57cec5803ba59fe37abe6d0297aeb538c5af27847f0702517
     18## Conversion done with mk-ca-bundle.pl version 1.30.
     19## SHA256: a903b3cd05231e39332515ef7ebe37e697262f39515a52015c23c62805b73cd0
    2020##
    2121
     
    31683168-----END CERTIFICATE-----
    31693169
    3170 CommScope Public Trust ECC Root-01
    3171 ==================================
    3172 -----BEGIN CERTIFICATE-----
    3173 MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMwTjELMAkGA1UE
    3174 BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz
    3175 dCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNaFw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYT
    3176 AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg
    3177 RUNDIFJvb3QtMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLx
    3178 eP0CflfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJEhRGnSjot
    3179 6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
    3180 A1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggqhkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2
    3181 Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liW
    3182 pDVfG2XqYZpwI7UNo5uSUm9poIyNStDuiw7LR47QjRE=
    3183 -----END CERTIFICATE-----
    3184 
    3185 CommScope Public Trust ECC Root-02
    3186 ==================================
    3187 -----BEGIN CERTIFICATE-----
    3188 MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMwTjELMAkGA1UE
    3189 BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz
    3190 dCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRaFw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYT
    3191 AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg
    3192 RUNDIFJvb3QtMDIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/M
    3193 MDALj2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmUv4RDsNuE
    3194 SgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
    3195 A1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggqhkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9
    3196 Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/nich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs7
    3197 3u1Z/GtMMH9ZzkXpc2AVmkzw5l4lIhVtwodZ0LKOag==
    3198 -----END CERTIFICATE-----
    3199 
    3200 CommScope Public Trust RSA Root-01
    3201 ==================================
    3202 -----BEGIN CERTIFICATE-----
    3203 MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQELBQAwTjELMAkG
    3204 A1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBU
    3205 cnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNV
    3206 BAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1
    3207 c3QgUlNBIFJvb3QtMDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45Ft
    3208 nYSkYZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslhsuitQDy6
    3209 uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0alDrJLpA6lfO741GIDuZNq
    3210 ihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3OjWiE260f6GBfZumbCk6SP/F2krfxQapWs
    3211 vCQz0b2If4b19bJzKo98rwjyGpg/qYFlP8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/c
    3212 Zip8UlF1y5mO6D1cv547KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTif
    3213 BSeolz7pUcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/kQO9
    3214 lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JOHg9O5j9ZpSPcPYeo
    3215 KFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkBEa801M/XrmLTBQe0MXXgDW1XT2mH
    3216 +VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6UCBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAP
    3217 BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm4
    3218 5P3luG0wDQYJKoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6
    3219 NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQnmhUQo8mUuJM
    3220 3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+QgvfKNmwrZggvkN80V4aCRck
    3221 jXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2vtrV0KnahP/t1MJ+UXjulYPPLXAziDslg+Mkf
    3222 Foom3ecnf+slpoq9uC02EJqxWE2aaE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/W
    3223 NyVntHKLr4W96ioDj8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+
    3224 o/E4Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0wlREQKC6/
    3225 oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHnYfkUyq+Dj7+vsQpZXdxc
    3226 1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVocicCMb3SgazNNtQEo/a2tiRc7ppqEvOuM
    3227 6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw
    3228 -----END CERTIFICATE-----
    3229 
    3230 CommScope Public Trust RSA Root-02
    3231 ==================================
    3232 -----BEGIN CERTIFICATE-----
    3233 MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQELBQAwTjELMAkG
    3234 A1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBU
    3235 cnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNV
    3236 BAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1
    3237 c3QgUlNBIFJvb3QtMDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3V
    3238 rCLENQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0kyI9p+Kx
    3239 7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1CrWDaSWqVcN3SAOLMV2MC
    3240 e5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxzhkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2W
    3241 Wy09X6GDRl224yW4fKcZgBzqZUPckXk2LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rp
    3242 M9kzXzehxfCrPfp4sOcsn/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIf
    3243 hs1w/tkuFT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5kQMr
    3244 eyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3wNemKfrb3vOTlycE
    3245 VS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6vwQcQeKwRoi9C8DfF8rhW3Q5iLc4t
    3246 Vn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAP
    3247 BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7Gx
    3248 cJXvYXowDQYJKoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB
    3249 KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3+VGXu6TwYofF
    3250 1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbymeAPnCKfWxkxlSaRosTKCL4BWa
    3251 MS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3NyqpgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xd
    3252 gSGn2rtO/+YHqP65DSdsu3BaVXoT6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2O
    3253 HG1QAk8mGEPej1WFsQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+Nm
    3254 YWvtPjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2dlklyALKr
    3255 dVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670v64fG9PiO/yzcnMcmyiQ
    3256 iRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17Org3bhzjlP1v9mxnhMUF6cKojawHhRUzN
    3257 lM47ni3niAIi9G7oyOzWPPO5std3eqx7
    3258 -----END CERTIFICATE-----
    3259 
    32603170Telekom Security TLS ECC Root 2020
    32613171==================================
  • linguise/tags/2.2.7/vendor/linguise/script-php/certificates/etag.txt

    r3393354 r3413813  
    1 "3859e-642bd08b1bfbf"
     1"36f34-644f04c3f997f"
  • linguise/trunk/linguise.php

    r3402971 r3413813  
    55 * Plugin URI: https://www.linguise.com/
    66 * Description: Linguise translation plugin
    7  * Version:2.2.6
     7 * Version:2.2.7
    88 * Text Domain: linguise
    99 * Domain Path: /languages
  • linguise/trunk/readme.txt

    r3402971 r3413813  
    33Tags: translate, AI translation, multilingual, automatic translation, WooCommerce translation
    44Requires at least: 4.0
    5 Tested up to: 6.8
    6 Stable tag: 2.2.6
     5Tested up to: 6.9
     6Stable tag: 2.2.7
    77Requires PHP: 7.0
    88License: GPLv2 or later
     
    107107
    108108== Changelog ==
     109
     110= 2.2.7 =
     111- Fix: Issues with style not enqueueing in WP 6.9
     112
    109113= 2.2.6 =
    110114- Fix: Search translation toggle reverted when enabled in admin page
  • linguise/trunk/src/FragmentBase.php

    r3397694 r3413813  
    225225        // Run through filters, provide our current default filters
    226226        // User can change it by adding a filter and modify the array.
     227        // @codeCoverageIgnoreStart
    227228        if (function_exists('apply_filters')) {
    228229            $wp_frag_list = apply_filters('linguise_fragment_filters', $merged_defaults);
     
    230231            $wp_frag_list = $merged_defaults;
    231232        }
     233        // @codeCoverageIgnoreEnd
    232234
    233235        // cache the list
     
    310312            $as_url = parse_url($value);
    311313            if (empty($as_url)) {
    312                 return false;
     314                return false; // @codeCoverageIgnore
    313315            }
    314316
     
    422424    protected static function isCurrentTheme($theme_name, $parent_theme = \null)
    423425    {
     426        // @codeCoverageIgnoreStart
    424427        if (!function_exists('wp_get_theme')) {
    425428            return false;
    426429        }
     430        // @codeCoverageIgnoreEnd
    427431
    428432        $theme = $parent_theme ?: wp_get_theme();
     
    603607
    604608        // Merge with apply_filters
     609        // @codeCoverageIgnoreStart
    605610        if (function_exists('apply_filters')) {
    606611            $current_list = apply_filters('linguise_fragment_override', $current_list, $html_data);
    607612        }
     613        // @codeCoverageIgnoreEnd
    608614
    609615        return $current_list;
  • linguise/trunk/src/Helper.php

    r3397694 r3413813  
    231231    public static function localeCompare($locale, $test_locale)
    232232    {
     233        if (empty($locale) || empty($test_locale)) {
     234            return false;
     235        }
     236
    233237        // Normalize underscore and dash to a dash
    234238        $locale = str_replace('_', '-', $locale);
  • linguise/trunk/src/constants.php

    r3402971 r3413813  
    11<?php
    22if (!defined('LINGUISE_SCRIPT_TRANSLATION_VERSION')) {
    3     define('LINGUISE_SCRIPT_TRANSLATION_VERSION', 'wordpress_plugin/2.2.6');
     3    define('LINGUISE_SCRIPT_TRANSLATION_VERSION', 'wordpress_plugin/2.2.7');
    44}
    55
    66if (!defined('LINGUISE_VERSION')) {
    7     define('LINGUISE_VERSION', '2.2.6');
     7    define('LINGUISE_VERSION', '2.2.7');
    88}
  • linguise/trunk/src/frontend/browser_language.php

    r3316661 r3413813  
    5555            $accept_languages = self::splitAcceptLanguage($accept_language);
    5656            if (empty($accept_languages)) {
    57                 return null;
     57                return null; // @codeCoverageIgnore
    5858            }
    5959
     
    9191        } else {
    9292            // Nothing
    93             return null;
     93            return null; // @codeCoverageIgnore
    9494        }
    9595    }
  • linguise/trunk/src/frontend/redirector.php

    r3379190 r3413813  
    217217        header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
    218218        header('Location: ' . $final_url, true, 302);
    219         exit();
     219        if (defined('LINGUISE_WP_PLUGIN_TEST_MODE') && LINGUISE_WP_PLUGIN_TEST_MODE) {
     220            return;
     221        }
     222        exit(); // @codeCoverageIgnore
    220223    }
    221224
  • linguise/trunk/src/switcher.php

    r3402971 r3413813  
    154154        // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- View request, no action
    155155        $is_wp_bricks = array_key_exists('bricks', $_GET) ? $_GET['bricks'] : false;
    156         if (!$is_wp_bricks) {
     156        if (!$is_wp_bricks && !empty($this->config['token'])) { // Only load if token is present
    157157            wp_enqueue_script('linguise_switcher', Helper::getScriptUrl('/assets/js/front.bundle.js'), array(), LINGUISE_VERSION);
    158158            wp_enqueue_style('linguise_switcher', Helper::getScriptUrl('/assets/css/front.bundle.css'), array(), LINGUISE_VERSION);
     
    304304        add_filter('wp_get_nav_menu_items', [$this, 'hookNavMenuItems'], 20, 1);
    305305        add_action('wp_footer', [$this, 'hookFooter'], 10, 1);
     306        add_action('wp_enqueue_scripts', [$this, 'loadScripts'], 10);
    306307        add_shortcode('linguise', [$this, 'hookShortcode']);
    307308    }
  • linguise/trunk/src/synchronization.php

    r3321566 r3413813  
    114114
    115115        $api_host = Configuration::getInstance()->get('api_host') ?? 'api.linguise.com';
    116         $api_port = (int)Configuration::getInstance()->get('api_port') ?? 443;
     116        $api_port_raw = Configuration::getInstance()->get('api_port');
     117        if ($api_port_raw === null || $api_port_raw === '') {
     118            $api_port = 443;
     119        } else {
     120            $api_port = (int)$api_port_raw;
     121        }
    117122        $protocol = $api_port === 443 ? 'https' : 'http';
    118123        return $protocol . '://' . $api_host . (in_array($api_port, $api_port_base) ? '' : ':' . $api_port) . $path;
  • linguise/trunk/src/thirdparty/base-class.php

    r3397694 r3413813  
    9797     * Initialize the integration
    9898     *
     99     * @codeCoverageIgnore
     100     *
    99101     * @return void
    100102     */
     
    108110     * Unhook the integration
    109111     *
     112     * @codeCoverageIgnore
     113     *
    110114     * @return void
    111115     */
     
    120124     *
    121125     * This is a helper function to reload the integration. By default it calls the destroy and init functions.
     126     *
     127     * @codeCoverageIgnore
    122128     *
    123129     * @return void
     
    185191     * We need to define the constant LINGUISE_SCRIPT_TRANSLATION to 1.
    186192     * Then we load the configuration from the plugin's directory.
     193     *
     194     * @codeCoverageIgnore
    187195     *
    188196     * @return void
     
    226234     * @param string $url               The string URL
    227235     *
     236     * @codeCoverageIgnore
     237     *
    228238     * @return string
    229239     */
     
    271281     * @param string $language   The language to translate to
    272282     *
     283     * @codeCoverageIgnore
     284     *
    273285     * @return object|false The array object from Linguise API call. `false` if the translation failed or failed to decode JSON.
    274286     */
     
    301313     * @param string $language       The language
    302314     * @param string $requested_path The requested path
     315     *
     316     * @codeCoverageIgnore
    303317     *
    304318     * @return object|false The array object from Linguise API call. `false` if the translation failed or failed to decode JSON.
  • linguise/trunk/src/thirdparty/elementor-pro.php

    r3309076 r3413813  
    101101
    102102    /**
    103      * Get the language for WooCommerce context.
    104      *
    105      * First it checks current language, if not set, then it checks referer.
    106      *
    107      * @return string|null
    108      */
    109     protected function getLanguageMeta()
    110     {
    111         $language_meta = WPHelper::getLanguage();
    112         if (!$language_meta) {
    113             // Check referer
    114             $language_meta = WPHelper::getLanguageFromReferer();
    115         }
    116         return $language_meta;
    117     }
    118 
    119     /**
    120103     * Translate Elementor JSON response fragments
    121104     *
  • linguise/trunk/src/thirdparty/elementor.php

    r3309076 r3413813  
    2525     * Decides if the integration should be loaded.
    2626     *
     27     * @codeCoverageIgnore
     28     *
    2729     * @return boolean
    2830     */
     
    3436    /**
    3537     * Registers the filter for the integration.
     38     *
     39     * @codeCoverageIgnore
    3640     *
    3741     * @return void
     
    4549    /**
    4650     * Destroys the integration
     51     *
     52     * @codeCoverageIgnore
    4753     *
    4854     * @return void
  • linguise/trunk/src/thirdparty/facetwp.php

    r3339453 r3413813  
    8181     * Decides if the FacetWP integration should be loaded.
    8282     *
     83     * @codeCoverageIgnore
     84     *
    8385     * @return boolean
    8486     */
     
    9092    /**
    9193     * Load the integration
     94     *
     95     * @codeCoverageIgnore
    9296     *
    9397     * @return void
     
    101105    /**
    102106     * Unload the integration
     107     *
     108     * @codeCoverageIgnore
    103109     *
    104110     * @return void
  • linguise/trunk/src/thirdparty/wc/admin-emails.php

    r3291510 r3413813  
    2121    /**
    2222     * Determines if the integration should be loaded.
     23     *
     24     * @codeCoverageIgnore
    2325     *
    2426     * @return boolean
  • linguise/trunk/src/thirdparty/wc/emails.php

    r3323207 r3413813  
    3131     * Determines if the integration should be loaded.
    3232     *
     33     * @codeCoverageIgnore
     34     *
    3335     * @return boolean
    3436     */
     
    4244     * Load the integration
    4345     *
     46     * @codeCoverageIgnore
     47     *
    4448     * @return void
    4549     */
     
    5155    /**
    5256     * Unload the integration
     57     *
     58     * @codeCoverageIgnore
    5359     *
    5460     * @return void
     
    100106            $language_meta = $wc_email->object->get_meta('linguise_language', true);
    101107            if (empty($language_meta)) {
    102                 $language_meta = get_post_meta($wc_email->object->get_id(), 'linguise_language', true);
     108                $language_meta = get_post_meta($wc_email->object->get_id(), 'linguise_language', true); // @codeCoverageIgnore
    103109            }
    104110        }
  • linguise/trunk/vendor/composer/installed.php

    r3402971 r3413813  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => '0da894d35554640f8b5d735c9311132bce48fb5e',
     6        'reference' => '977edba05e2b23018e0cc6a5892ac6ec2bcf72a5',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    3232            'pretty_version' => 'dev-master',
    3333            'version' => 'dev-master',
    34             'reference' => '0da894d35554640f8b5d735c9311132bce48fb5e',
     34            'reference' => '977edba05e2b23018e0cc6a5892ac6ec2bcf72a5',
    3535            'type' => 'library',
    3636            'install_path' => __DIR__ . '/../../',
  • linguise/trunk/vendor/linguise/script-php/certificates/cacert.pem

    r3393354 r3413813  
    22## Bundle of CA Root Certificates
    33##
    4 ## Certificate data from Mozilla as of: Tue Nov  4 04:12:02 2025 GMT
     4## Certificate data from Mozilla as of: Tue Dec  2 04:12:02 2025 GMT
    55##
    66## Find updated versions here: https://curl.se/docs/caextract.html
     
    1616## Just configure this file as the SSLCACertificateFile.
    1717##
    18 ## Conversion done with mk-ca-bundle.pl version 1.29.
    19 ## SHA256: 039132bff5179ce57cec5803ba59fe37abe6d0297aeb538c5af27847f0702517
     18## Conversion done with mk-ca-bundle.pl version 1.30.
     19## SHA256: a903b3cd05231e39332515ef7ebe37e697262f39515a52015c23c62805b73cd0
    2020##
    2121
     
    31683168-----END CERTIFICATE-----
    31693169
    3170 CommScope Public Trust ECC Root-01
    3171 ==================================
    3172 -----BEGIN CERTIFICATE-----
    3173 MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMwTjELMAkGA1UE
    3174 BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz
    3175 dCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNaFw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYT
    3176 AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg
    3177 RUNDIFJvb3QtMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLx
    3178 eP0CflfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJEhRGnSjot
    3179 6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
    3180 A1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggqhkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2
    3181 Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liW
    3182 pDVfG2XqYZpwI7UNo5uSUm9poIyNStDuiw7LR47QjRE=
    3183 -----END CERTIFICATE-----
    3184 
    3185 CommScope Public Trust ECC Root-02
    3186 ==================================
    3187 -----BEGIN CERTIFICATE-----
    3188 MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMwTjELMAkGA1UE
    3189 BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz
    3190 dCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRaFw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYT
    3191 AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg
    3192 RUNDIFJvb3QtMDIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/M
    3193 MDALj2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmUv4RDsNuE
    3194 SgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
    3195 A1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggqhkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9
    3196 Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/nich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs7
    3197 3u1Z/GtMMH9ZzkXpc2AVmkzw5l4lIhVtwodZ0LKOag==
    3198 -----END CERTIFICATE-----
    3199 
    3200 CommScope Public Trust RSA Root-01
    3201 ==================================
    3202 -----BEGIN CERTIFICATE-----
    3203 MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQELBQAwTjELMAkG
    3204 A1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBU
    3205 cnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNV
    3206 BAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1
    3207 c3QgUlNBIFJvb3QtMDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45Ft
    3208 nYSkYZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslhsuitQDy6
    3209 uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0alDrJLpA6lfO741GIDuZNq
    3210 ihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3OjWiE260f6GBfZumbCk6SP/F2krfxQapWs
    3211 vCQz0b2If4b19bJzKo98rwjyGpg/qYFlP8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/c
    3212 Zip8UlF1y5mO6D1cv547KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTif
    3213 BSeolz7pUcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/kQO9
    3214 lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JOHg9O5j9ZpSPcPYeo
    3215 KFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkBEa801M/XrmLTBQe0MXXgDW1XT2mH
    3216 +VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6UCBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAP
    3217 BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm4
    3218 5P3luG0wDQYJKoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6
    3219 NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQnmhUQo8mUuJM
    3220 3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+QgvfKNmwrZggvkN80V4aCRck
    3221 jXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2vtrV0KnahP/t1MJ+UXjulYPPLXAziDslg+Mkf
    3222 Foom3ecnf+slpoq9uC02EJqxWE2aaE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/W
    3223 NyVntHKLr4W96ioDj8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+
    3224 o/E4Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0wlREQKC6/
    3225 oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHnYfkUyq+Dj7+vsQpZXdxc
    3226 1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVocicCMb3SgazNNtQEo/a2tiRc7ppqEvOuM
    3227 6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw
    3228 -----END CERTIFICATE-----
    3229 
    3230 CommScope Public Trust RSA Root-02
    3231 ==================================
    3232 -----BEGIN CERTIFICATE-----
    3233 MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQELBQAwTjELMAkG
    3234 A1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBU
    3235 cnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNV
    3236 BAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1
    3237 c3QgUlNBIFJvb3QtMDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3V
    3238 rCLENQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0kyI9p+Kx
    3239 7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1CrWDaSWqVcN3SAOLMV2MC
    3240 e5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxzhkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2W
    3241 Wy09X6GDRl224yW4fKcZgBzqZUPckXk2LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rp
    3242 M9kzXzehxfCrPfp4sOcsn/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIf
    3243 hs1w/tkuFT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5kQMr
    3244 eyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3wNemKfrb3vOTlycE
    3245 VS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6vwQcQeKwRoi9C8DfF8rhW3Q5iLc4t
    3246 Vn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAP
    3247 BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7Gx
    3248 cJXvYXowDQYJKoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB
    3249 KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3+VGXu6TwYofF
    3250 1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbymeAPnCKfWxkxlSaRosTKCL4BWa
    3251 MS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3NyqpgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xd
    3252 gSGn2rtO/+YHqP65DSdsu3BaVXoT6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2O
    3253 HG1QAk8mGEPej1WFsQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+Nm
    3254 YWvtPjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2dlklyALKr
    3255 dVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670v64fG9PiO/yzcnMcmyiQ
    3256 iRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17Org3bhzjlP1v9mxnhMUF6cKojawHhRUzN
    3257 lM47ni3niAIi9G7oyOzWPPO5std3eqx7
    3258 -----END CERTIFICATE-----
    3259 
    32603170Telekom Security TLS ECC Root 2020
    32613171==================================
  • linguise/trunk/vendor/linguise/script-php/certificates/etag.txt

    r3393354 r3413813  
    1 "3859e-642bd08b1bfbf"
     1"36f34-644f04c3f997f"
Note: See TracChangeset for help on using the changeset viewer.