HEX
Server: Apache
System: Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: camjab_ssh (1000)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: /home/httpd/html/baretube.com.new/admin/functions.multilang.php
<?php

if (!isset($config['default_language'])) {
    $config['default_language'] = 'EN';
}
if (!isset($config['default_language_label'])) {
    $config['default_language_label'] = 'English';
}

// Preload translations from cache
if ($language != $config['core_language']) {
    $_translations = loadCache('cache', 'translations_strings_' . $language);
    $_translations_contextual = loadCache('cache', 'translations_strings_contextual_' . $language);
    if (count($_translations) == 0) {
        $tmp = dbQuery("SELECT `locales_source`.`text`, `locales_target`.`translated_text`, `locales_target`.`translated_text_contextual` FROM `locales_source` JOIN `locales_target` ON `locales_source`.`record_num` = `locales_target`.`source_id` WHERE `locales_target`.`language` = '" . mysqli_real_escape_string($dbconn, $language) . "'", false);
        if (is_array($tmp)) {
            foreach ($tmp as $t) {
                $_translations[$t['text']] = $t['translated_text'];
                $_translations_contextual[$t['text']] = $t['translated_text_contextual'];
            }
        }
        loadCache('cache', 'translations_strings_' . $language, $_translations);
        loadCache('cache', 'translations_strings_contextual_' . $language, $_translations_contextual);
    }
}

/**
 *  _t - Function used to translate text, uses locales_source and locales_target tables.
 *  
 *  @param [in] $string Text to be translated
 *  @return string
 *  
 */
function _t($string, $args = array()) {
    global $language, $_translations, $_translations_contextual, $basehttp, $sitename, $config, $dblink;

    if ($language != $config['core_language']) {
        $args += array('%basehttp' => $basehttp, '%domain' => $basehttp, '%sitename' => $sitename);
        if (trim($string) == "") {
            return;
        } elseif (isset($args['_g'])) {
            if (($args['_g'] == 1 || $args['_g'] == 'Female') && isset($_translations_contextual[$string]) && $_translations_contextual[$string] != "") {
                return strtr($_translations_contextual[$string], $args);
            } elseif (isset($_translations[$string])) {
                return strtr($_translations[$string], $args);
            }
        } elseif (isset($_translations[$string])) {
            return strtr($_translations[$string], $args);
        }

        if (isset($args['_g']) && ($args['_g'] == 1 || $args['_g'] == 'Female')) {
            $result = dbRow("SELECT *, (SELECT IF(`translated_text_contextual` != '', `translated_text_contextual`, `translated_text`) AS `translated_text` FROM `locales_target` WHERE `locales_source`.`record_num` = `locales_target`.`source_id` AND `locales_target`.`language` = '" . mysqli_real_escape_string($dblink, $language) . "') `translated_text` FROM `locales_source` WHERE BINARY `locales_source`.`text` = '" . mysqli_real_escape_string($dblink, $string) . "'", true, 60);
        } else {
            $result = dbRow("SELECT *, (SELECT `translated_text` FROM `locales_target` WHERE `locales_source`.`record_num` = `locales_target`.`source_id` AND `locales_target`.`language` = '" . mysqli_real_escape_string($dblink, $language) . "') `translated_text` FROM `locales_source` WHERE BINARY `locales_source`.`text` = '" . mysqli_real_escape_string($dblink, $string) . "'", true, 60);
        }
        
        if (!is_array($result)) {
            dbInsert('locales_source', array('text' => $string), true);
            dbQuery("DELETE FROM `cache` WHERE `key` LIKE 'translations_strings_%'");
        }

        $string = is_array($result) && $result['translated_text'] !== null ? $result['translated_text'] : $string;
    }

    return strtr($string, $args);
}

/**
 *  flags - Returns array of countries and flags
 *  
 *  @return array
 *  
 */
function flags() {
    global $basehttp, $currentLang, $config, $dblink;
   
    $httpParts = explode(":",$basehttp);
    $protocol = (stripos($_SERVER['SERVER_PROTOCOL'], 'https') === true || strtolower($httpParts[0]) == 'https') ? 'https://' : 'http://';

    $mdomain = str_replace($protocol, "", $basehttp);
   
    $domainParts = explode(".", str_replace($protocol,"",$mdomain));
   
    if ($domainParts[0] === 'www' || ($currentLang && $domainParts[0] === strtolower($currentLang))) {
        unset($domainParts[0]);
    }
    if ($currentLang && $domainParts[1] === strtolower($currentLang)) {
        unset($domainParts[1]);
    }
    $domain = join('.', $domainParts);
    $langs['list'][strtolower($config['default_language'])]['name'] = $config['default_language_label'];
    $langs['list'][strtolower($config['default_language'])]['iso'] = $config['default_language'];
    $langs['list'][strtolower($config['default_language'])]['http'] = "$protocol$domain";
    if (strtoupper($config['default_language']) != $config['core_language']) {
        $langs['list'][strtolower($config['default_language'])]['http'] = "$protocol" . strtolower($config['default_language']) . "." . $domain;
    }
   
    if (strtoupper($config['default_language']) != 'EN') {
        $langs['list']['en']['name'] = 'English';
        $langs['list']['en']['iso'] = 'EN';
        $langs['list']['en']['http'] = "$protocol" . "en." . $domain;
    }

    $getLangs = dbQuery("SELECT * FROM `languages` ORDER BY `name`");
    if (!empty($getLangs)) {
        foreach ($getLangs as $lang) {
            if (strtoupper($config['default_language']) != $config['core_language']) {
                if (strtoupper($currentLang) == $config['default_language']) {
                    $langs['current']['name'] = $config['default_language_label'];
                    $langs['current']['iso'] = $config['default_language'];
                    $langs['current']['http'] = "$protocol" . strtolower($config['default_language']) . ".$domain";
                }
                if ($currentLang && strtoupper($currentLang) == strtoupper($lang['iso'])) {
                    if (!$langs['current']) {
                        $langs['current']['name'] = $lang['name'];
                        $langs['current']['iso'] = $lang['iso'];
                        $langs['current']['http'] = "$protocol" . strtolower($lang['iso']) . ".$domain";
                    }
                }
            } else {
                if ($currentLang && strtoupper($currentLang) == strtoupper($lang['iso'])) {
                    if (!$langs['current']) {
                        $langs['current']['name'] = $lang['name'];
                        $langs['current']['iso'] = $lang['iso'];
                        $langs['current']['http'] = "$protocol" . strtolower($lang['iso']) . ".$domain";
                    }
                } else {
                    if (!$langs['current']) {
                        $langs['current']['name'] = $config['default_language_label'];
                        $langs['current']['iso'] = $config['default_language'];
                        $langs['current']['http'] = "$protocol" . "$domain";
                    }
                }
            }

            if (strtoupper($lang['iso']) == strtoupper($config['default_language'])) {
                $langs['list'][strtolower($lang['iso'])]['name'] = $lang['name'];
                $langs['list'][strtolower($lang['iso'])]['iso'] = $lang['iso'];
                $langs['list'][strtolower($lang['iso'])]['http'] = "$protocol" . $domain;
            } else {
                $langs['list'][strtolower($lang['iso'])]['name'] = $lang['name'];
                $langs['list'][strtolower($lang['iso'])]['iso'] = $lang['iso'];
                $langs['list'][strtolower($lang['iso'])]['http'] = "$protocol" . strtolower($lang['iso']) . ".$domain";
            }
           
            if (strtoupper($currentLang) == strtoupper($lang['iso'])) {
                $langs['current']['name'] = $lang['name'];
                $langs['current']['iso'] = $lang['iso'];
                $langs['current']['http'] = "$protocol" . $domain;
            } else if (strtoupper($currentLang) == 'EN') {
                $langs['current']['name'] = 'English';
                $langs['current']['iso'] = 'EN';
                $langs['current']['http'] = "$protocol" . "en." . $domain;
            }
            ++$i;
        }
    }
   
    if (!isset($langs['current']) && count($langs['list']) == 1) {
        $langs['current'] = $langs['list'][strtolower($config['default_language'])];
        unset($langs['list']);
    }

    return $langs;
}