Beispiel #1
0
function JB_cache_del_keys_for_codes($field_id)
{
    if (JB_CACHE_ENABLED == 'NO') {
        return;
    }
    if (JB_CODE_ORDER_BY == 'BY_NAME') {
        $order_by = 'description';
    } else {
        $order_by = 'code';
    }
    $sql = "SELECT * FROM lang WHERE is_active='Y' ";
    $result = JB_mysql_query($sql);
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        // for listing the codes
        jb_cache_delete('codes_list_fid_' . $field_id . '_ord_' . $order_by . '_lang_' . $row['lang_code']);
        // code name lookup table
        jb_cache_delete('jb_code_table_fid_' . $field_id . '_lang_' . $row['lang_code']);
    }
}
Beispiel #2
0
function JB_init_lang_vars()
{
    //global $jb_mysql_link;
    global $label;
    global $AVAILABLE_LANGS;
    global $ACT_LANG_FILES;
    // active languages
    global $LANG_FILES;
    // all language files
    global $FCK_LANG_FILES;
    // FCK editor language
    global $JB_LANG_THEMES;
    $AVAILABLE_LANGS = array();
    $ACT_LANG_FILES = array();
    // active languages
    $LANG_FILES = array();
    // all language files
    $FCK_LANG_FILES = array();
    // FCK editor language
    $JB_LANG_THEMES = array();
    if ($lang_vars = jb_cache_get('lang_vars')) {
        $AVAILABLE_LANGS = $lang_vars['AVAILABLE_LANGS'];
        $ACT_LANG_FILES = $lang_vars['ACT_LANG_FILES'];
        $LANG_FILES = $lang_vars['LANG_FILES'];
        $FCK_LANG_FILES = $lang_vars['FCK_LANG_FILES'];
        $JB_LANG_THEMES = $lang_vars['JB_LANG_THEMES'];
        $lang_vars = null;
    } else {
        $sql = "SELECT * FROM lang ";
        if ($result = jb_mysql_query($sql)) {
            // load languages into array.. map the language code to the filename
            // if mapping didn't work, default to english..
            while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                $lang_code = strtoupper($row['lang_code']);
                $AVAILABLE_LANGS[$lang_code] = $row['name'];
                $LANG_FILES[$lang_code] = $row['lang_filename'];
                $FCK_LANG_FILES[$lang_code] = $row['fckeditor_lang'];
                if ($row['is_active'] == 'Y') {
                    $ACT_LANG_FILES[$lang_code] = $row['lang_filename'];
                }
                $JB_LANG_THEMES[$lang_code] = $row['theme'];
            }
            $lang_vars['AVAILABLE_LANGS'] = $AVAILABLE_LANGS;
            $lang_vars['ACT_LANG_FILES'] = $ACT_LANG_FILES;
            $lang_vars['LANG_FILES'] = $LANG_FILES;
            $lang_vars['FCK_LANG_FILES'] = $FCK_LANG_FILES;
            $lang_vars['JB_LANG_THEMES'] = $JB_LANG_THEMES;
            jb_cache_add('lang_vars', $lang_vars);
        } else {
            $DB_ERROR = mysql_error();
        }
    }
    if (isset($_REQUEST['jb_theme']) && $_SESSION['ADMIN']) {
        // do this if the theme is being changed in Admin
        preg_match('#([a-z0-9_\\-]+)#i', stripslashes($_REQUEST['jb_theme']), $m);
        $lang = isset($_SESSION['LANG']) ? $_SESSION['LANG'] : 'EN';
        $sql = "UPDATE `lang` SET `theme`='" . jb_escape_sql($m[1]) . "' WHERE lang_code='" . jb_escape_sql($lang) . "' ";
        jb_mysql_query($sql);
        jb_cache_delete('lang_vars');
    }
    if (!$DB_ERROR) {
        // the $label array is used to store all the language strings loaded from
        // the language file.
        if (!isset($label)) {
            $label = array();
            if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . $LANG_FILES[$_SESSION["LANG"]])) {
                // load the currently selected language
                include dirname(__FILE__) . DIRECTORY_SEPARATOR . $LANG_FILES[$_SESSION["LANG"]];
            } else {
                // default to eng
                include dirname(__FILE__) . DIRECTORY_SEPARATOR . "english.php";
            }
        }
    }
}