function setLocales($string, $locale) { // Generate the two JS array list $available_list = availableLocales($locale); $available_id = ''; $available_names = ''; // Add the values to the arrays foreach ($available_list as $current_id => $current_name) { $available_id .= '\'' . $current_id . '\', '; $available_names .= '\'' . addslashes($current_name) . '\', '; } // Remove the last comma $regex = '/(.+), $/'; $available_id = preg_replace($regex, '$1', $available_id); $available_names = preg_replace($regex, '$1', $available_names); // Locales array $array = array('LOCALES_AVAILABLE_ID' => $available_id, 'LOCALES_AVAILABLE_NAMES' => $available_names); // Apply it! foreach ($array as $array_key => $array_value) { $string = preg_replace('/(var ' . $array_key . '(( )?=( )?)new Array\\()(\\);)/', '$1' . $array_value . '$5', $string); } return $string; }
<label for="language"><?php _e("Language"); ?> </label> <select id="language" name="language"> <option value="all" <?php if ($language == 'all') { echo 'selected=""'; } ?> >All languages available</option> <?php // Available languages foreach (availableLocales(null, true) as $current_lng => $current_name) { if ($current_lng == $language) { echo '<option value="' . $current_lng . '" selected="">' . $current_name . '</option>'; } else { echo '<option value="' . $current_lng . '">' . $current_name . '</option>'; } } ?> </select> </fieldset> <fieldset> <legend><?php _e("Connection"); ?> </legend>
function languageSwitcher($active_locale) { // Initialize $keep_get = keepGet('l', false); $list = availableLocales($active_locale); $html = ''; // Generate the HTML code foreach ($list as $current_id => $current_name) { $html .= '<a href="./?l=' . $current_id . $keep_get . '">' . htmlspecialchars($current_name) . '</a>, '; } // Output the HTML code return $html; }