Exemple #1
0
 function edit($variable_id, $value, $language_id = NULL, $variable_type = LANGUAGE_INDEX_CUSTOM)
 {
     global $database;
     $instance = SELanguage::_init();
     if (empty($language_id)) {
         $language_id = SELanguage::info("language_id");
     }
     if (empty($instance->_indices[$variable_type])) {
         $variable_type = LANGUAGE_INDEX_CUSTOM;
     }
     $value = str_replace("'", "\\'", str_replace("\r\n", "", $value));
     // VARIABLE ID IS NONZERO
     if ($variable_id != 0) {
         // CHECK FOR EXISTING VALUE
         $resource = $database->database_query("SELECT NULL FROM se_languagevars WHERE languagevar_id='{$variable_id}' AND languagevar_language_id='{$language_id}' LIMIT 1");
         if (!$resource) {
             return FALSE;
         }
         // UPDATE EXISTING
         if ($database->database_num_rows($resource)) {
             $database->database_query("UPDATE se_languagevars SET languagevar_value='{$value}' WHERE languagevar_id='{$variable_id}' AND languagevar_language_id='{$language_id}' LIMIT 1");
         } else {
             $database->database_query("INSERT INTO se_languagevars (languagevar_id, languagevar_language_id, languagevar_value) VALUES ('{$variable_id}', '{$language_id}', '{$value}')");
         }
         return $variable_id;
     } else {
         // Insert new
         $int_min = isset($instance->_indices[$variable_type][0]) ? $instance->_indices[$variable_type][0] : 0;
         $int_max = isset($instance->_indices[$variable_type][1]) ? $instance->_indices[$variable_type][1] : 0;
         $resource = $database->database_query("SELECT MAX(languagevar_id)+1 FROM se_languagevars WHERE languagevar_id>={$int_min} AND languagevar_id<={$int_max}");
         $new_id = $database->database_fetch_array($resource);
         $new_id = $new_id[0];
         if (!$new_id && $int_min && $int_max) {
             $new_id = $int_min;
         } elseif (!$new_id) {
             return FALSE;
         }
         $database->database_query("INSERT INTO se_languagevars (languagevar_id, languagevar_language_id, languagevar_value) VALUES ('{$new_id}', '{$language_id}', '{$value}')");
         return $new_id;
     }
 }
Exemple #2
0
 function load($overwrite = FALSE)
 {
     $instance =& SELanguage::_init();
     if (is_object($instance->_storage)) {
         return $instance->_storage->load($instance->_language, $overwrite);
     }
     return NULL;
 }
Exemple #3
0
 function make_language_file($language_id, $languagevars = array(), $language_info = array())
 {
     $instance =& SELanguage::_init();
     if (empty($instance->_storage->_languages)) {
         $instance->_storage->_languages();
     }
     $language_info = array_merge($instance->_storage->_languages[$language_id], $language_info);
     if (empty($language_info['language_record_first'])) {
         $language_info['language_record_first'] = min(array_keys($languagevars));
     }
     if (empty($language_info['language_record_last'])) {
         $language_info['language_record_last'] = max(array_keys($languagevars));
     }
     ksort($languagevars);
     // Generate file data
     $newline = "\n";
     $file_contents = '';
     $file_contents .= '<?php die("Access Denied"); ?>' . $newline;
     $file_contents .= 'LANGUAGE_CODE:=' . $language_info['language_code'] . $newline;
     $file_contents .= 'LANGUAGE_NAME:=' . $language_info['language_name'] . $newline;
     $file_contents .= 'LANGUAGE_LOCALE:=' . $language_info['language_setlocale'] . $newline;
     $file_contents .= 'LANGUAGE_AUTODETECT:=' . $language_info['language_autodetect_regex'] . $newline;
     $file_contents .= 'LANGUAGE_RECORD_FIRST:=' . $language_info['language_record_first'] . $newline;
     $file_contents .= 'LANGUAGE_RECORD_LAST:=' . $language_info['language_record_last'] . $newline;
     //if( $range_name ) $file_contents .= 'LANGUAGE_RANGE:=' . $range_name . $newline;
     foreach ($languagevars as $languagevar_id => $Languagevar_value) {
         if (!trim($Languagevar_value)) {
             continue;
         }
         // Normal
         if (strpos($Languagevar_value, "\n") === FALSE) {
             $file_contents .= $languagevar_id . ':=' . $Languagevar_value . $newline;
         } else {
             $file_contents .= $languagevar_id . ':=<<<LANG' . $newline;
             $file_contents .= $Languagevar_value . $newline;
             $file_contents .= 'LANG;' . $newline;
         }
     }
     /*
     if( $language_file )
     {
       // Open file
       if( !($fh = fopen($language_file, 'w')) )
       {
         echo 'FILE ERROR';
         return FALSE;
       }
       
       fwrite($fh, 'LANG;'.$newline);
       fclose($fh);
       
       return TRUE;
     }
     */
     return $file_contents;
 }
Exemple #4
0
 function _loadGlobalValues($language_id, $overwrite = FALSE)
 {
     //echo " load.{$this->_load_count} ";
     $language_object = SELanguage::_init();
     $cache_object = SECache::getInstance('serial');
     if (!is_object($cache_object)) {
         return;
     }
     // Return if empty
     $global_language_values = $cache_object->get('language_globals_' . $language_id);
     if (empty($global_language_values)) {
         return;
     }
     foreach ($global_language_values as $global_languagevar_id => $global_languagevar_value) {
         if (!$overwrite && !empty($this->_language_variables[$global_languagevar_id])) {
             continue;
         }
         if (empty($global_languagevar_value)) {
             continue;
         }
         $this->_language_variables[$global_languagevar_id] = $global_languagevar_value;
     }
 }