HEX
Server: nginx/1.27.1
System: Linux in-4 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User: ilikadirect (1186)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v6964/testingff/public_html/fdfctr/wp-content/plugins/listdom/app/includes/i18n.php
<?php
// no direct access
defined('ABSPATH') or die();

if(!class_exists('LSD_i18n')):

/**
 * Listdom i18n Class.
 *
 * @class LSD_i18n
 * @version	1.0.0
 */
class LSD_i18n extends LSD_Base
{
    /**
	 * Constructor method
	 */
	public function __construct()
    {
        parent::__construct();
	}

    public function init()
    {
        // Register Language Files
        add_action('plugins_loaded', [$this, 'load_languages']);
	}

    public function load_languages()
    {
        // Listdom File library
        $file = new LSD_File();

        // Get current locale
        $locale = apply_filters('plugin_locale', get_locale(), 'listdom');

        // WordPress language directory /wp-content/languages/listdom-en_US.mo
        $language_filepath = WP_LANG_DIR.'/listdom-'.$locale.'.mo';

        // If language file exists on WordPress language directory use it
        if($file->exists($language_filepath))
        {
            load_textdomain('listdom', $language_filepath);
        }
        // Otherwise use Listdom plugin directory /path/to/plugin/i18n/languages/listdom-en_US.mo
        else
        {
            load_plugin_textdomain('listdom', false, dirname(LSD_BASENAME).'/i18n/languages/');
        }
    }

    public static function set($locale)
    {
        // WPML
        if(class_exists('SitePress'))
        {
            global $sitepress;

            do_action('wpml_switch_language', $locale);
            $sitepress->switch_lang($locale);
        }
    }

    public static function languages()
    {
        // WPML
        if(class_exists('SitePress'))
        {
            global $sitepress;
            $langs = [];

            $languages = $sitepress->get_active_languages();
            foreach($languages as $language) $langs[] = $language['code'];

            return $langs;
        }
        // Polylang
        else if(function_exists('pll_languages_list')) return pll_languages_list();
        else return [];
    }
}

endif;