From: <jon...@us...> - 2013-11-20 18:03:23
|
Revision: 48587 http://sourceforge.net/p/tikiwiki/code/48587 Author: jonnybradley Date: 2013-11-20 18:03:17 +0000 (Wed, 20 Nov 2013) Log Message: ----------- [FIX] i18n: available_languages pref was not respecting restrict_language, but does now. Unfortunately a lot of code was pasted all over the place (much of it not needed) so turned out to be more complicated than planned... also flush cache after changing these prefs so you can see the results (thanks Bernard) Modified Paths: -------------- branches/12.x/admin/include_i18n.php branches/12.x/lib/core/Multilingual/MachineTranslation.php branches/12.x/lib/multilingual/multilinguallib.php branches/12.x/lib/prefs/available.php branches/12.x/lib/setup/language.php branches/12.x/lib/tikilib.php branches/12.x/templates/find.tpl branches/12.x/templates/tiki-edit_translation.tpl branches/12.x/templates/tiki-searchresults.tpl branches/12.x/templates/tiki-user_preferences.tpl branches/12.x/templates/trackerinput/userpreference.tpl branches/12.x/templates/wizard/user_preferences_params.tpl Modified: branches/12.x/admin/include_i18n.php =================================================================== --- branches/12.x/admin/include_i18n.php 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/admin/include_i18n.php 2013-11-20 18:03:17 UTC (rev 48587) @@ -89,3 +89,12 @@ } } +global $tikifeedback; +if (!empty($tikifeedback)) { + foreach ($tikifeedback as $item) { + if ($item['name'] === 'available_languages' || $item['name'] === 'restrict_language') { + TikiLib::lib('cache')->empty_cache('temp_cache'); + break; + } + } +} Modified: branches/12.x/lib/core/Multilingual/MachineTranslation.php =================================================================== --- branches/12.x/lib/core/Multilingual/MachineTranslation.php 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/lib/core/Multilingual/MachineTranslation.php 2013-11-20 18:03:17 UTC (rev 48587) @@ -47,7 +47,7 @@ $usedLangs[] = $trad['lang']; } - if (!empty($prefs['available_languages'])) { + if ($prefs['restrict_language'] === 'y' && !empty($prefs['available_languages'])) { $candidates = array(); //restrict langs available for machine translation to those Modified: branches/12.x/lib/multilingual/multilinguallib.php =================================================================== --- branches/12.x/lib/multilingual/multilinguallib.php 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/lib/multilingual/multilinguallib.php 2013-11-20 18:03:17 UTC (rev 48587) @@ -284,7 +284,7 @@ } } - if ( $prefs['available_languages'] && $prefs['language_inclusion_threshold'] >= count($prefs['available_languages']) ) { + if ( $prefs['restrict_language'] === 'y' && $prefs['available_languages'] && $prefs['language_inclusion_threshold'] >= count($prefs['available_languages']) ) { foreach ( array_diff($prefs['available_languages'], $langs) as $lang ) { $langs[] = $lang; } Modified: branches/12.x/lib/prefs/available.php =================================================================== --- branches/12.x/lib/prefs/available.php 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/lib/prefs/available.php 2013-11-20 18:03:17 UTC (rev 48587) @@ -32,6 +32,7 @@ 'type' => 'multilist', 'dependencies' => array( 'feature_multilingual', + 'restrict_language', ), 'tags' => array('basic'), 'options' => $map, Modified: branches/12.x/lib/setup/language.php =================================================================== --- branches/12.x/lib/setup/language.php 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/lib/setup/language.php 2013-11-20 18:03:17 UTC (rev 48587) @@ -15,7 +15,7 @@ { global $prefs; return preg_match("/[a-zA-Z-_]+$/", $localeIdentifier) && file_exists('lang/'. $localeIdentifier .'/language.php') - && (empty($prefs['available_languages']) || in_array($localeIdentifier, $prefs['available_languages'])); + && ($prefs['restrict_language'] === 'n' || empty($prefs['available_languages']) || in_array($localeIdentifier, $prefs['available_languages'])); } // Sets the language Modified: branches/12.x/lib/tikilib.php =================================================================== --- branches/12.x/lib/tikilib.php 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/lib/tikilib.php 2013-11-20 18:03:17 UTC (rev 48587) @@ -5572,7 +5572,7 @@ // run through all the language codes: if (isset($short) && $short == "y") { foreach ($languages as $lc) { - if ( empty($prefs['available_languages'] ) || (!$all and in_array($lc, $prefs['available_languages']))) { + if ( $prefs['restrict_language'] === 'n' || empty($prefs['available_languages'] ) || (!$all and in_array($lc, $prefs['available_languages']))) { if (isset($langmapping[$lc])) $formatted[] = array('value' => $lc, 'name' => $langmapping[$lc][0]); else @@ -5583,7 +5583,7 @@ return $formatted; } foreach ($languages as $lc) { - if (empty($prefs['available_languages']) || (!$all and in_array($lc, $prefs['available_languages'])) or $all) { + if ( $prefs['restrict_language'] === 'n' || empty($prefs['available_languages']) || (!$all and in_array($lc, $prefs['available_languages'])) or $all) { if (isset($langmapping[$lc])) { // known language if ($langmapping[$lc][0] == $langmapping[$lc][1]) { @@ -6916,7 +6916,7 @@ if (is_dir("lang")) { $dh = opendir("lang"); while ($lang = readdir($dh)) { - if (!strpos($lang, '.') and is_dir("lang/$lang") and file_exists("lang/$lang/language.php") and (empty($prefs['available_languages']) || in_array($lang, $prefs['available_languages']))) { + if (!strpos($lang, '.') and is_dir("lang/$lang") and file_exists("lang/$lang/language.php") and ($prefs['restrict_language'] === 'n' || empty($prefs['available_languages']) || in_array($lang, $prefs['available_languages']))) { $available[strtolower($lang)] = $lang; $available_aprox[substr(strtolower($lang), 0, 2)] = $lang; } Modified: branches/12.x/templates/find.tpl =================================================================== --- branches/12.x/templates/find.tpl 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/templates/find.tpl 2013-11-20 18:03:17 UTC (rev 48587) @@ -90,25 +90,21 @@ <span class="findlang"> <select name="lang" class="in"> <option value='' {if $find_lang eq ''}selected="selected"{/if}>{tr}any language{/tr}</option> - {section name=ix loop=$languages} - {if !is_array($prefs.available_languages) || count($prefs.available_languages) == 0 || in_array($languages[ix].value, $prefs.available_languages)} - <option value="{$languages[ix].value|escape}" {if $find_lang eq $languages[ix].value}selected="selected"{/if}> - {$languages[ix].name} - </option> - {/if} - {/section} + {section name=ix loop=$languages} + <option value="{$languages[ix].value|escape}" {if $find_lang eq $languages[ix].value}selected="selected"{/if}> + {$languages[ix].name} + </option> + {/section} </select> {if isset($find_show_languages_excluded) and $find_show_languages_excluded eq 'y'} <label>{tr}not in{/tr} <select name="langOrphan" class="notin"> <option value='' {if $find_langOrphan eq ''}selected="selected"{/if}></option> - {section name=ix loop=$languages} - {if !is_array($prefs.available_languages) || count($prefs.available_languages) == 0 || in_array($languages[ix].value, $prefs.available_languages)} - <option value="{$languages[ix].value|escape}" {if $find_langOrphan eq $languages[ix].value}selected="selected"{/if}> - {$languages[ix].name} - </option> - {/if} - {/section} + {section name=ix loop=$languages} + <option value="{$languages[ix].value|escape}" {if $find_langOrphan eq $languages[ix].value}selected="selected"{/if}> + {$languages[ix].name} + </option> + {/section} </select> </label> {/if} Modified: branches/12.x/templates/tiki-edit_translation.tpl =================================================================== --- branches/12.x/templates/tiki-edit_translation.tpl 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/templates/tiki-edit_translation.tpl 2013-11-20 18:03:17 UTC (rev 48587) @@ -58,9 +58,7 @@ <select name="lang" id="language_list" size="1"> <option value="unspecified">{tr}Unspecified{/tr}</option> {section name=ix loop=$languages} - {if in_array($languages[ix].value, $prefs.available_languages) or $prefs.available_languages|@count eq 0 or !is_array($prefs.available_languages)} <option value="{$languages[ix].value|escape}"{if $only_one_language_left eq "y"} selected="selected"{/if}>{$languages[ix].name|escape}</option> - {/if} {/section} </select> </p> Modified: branches/12.x/templates/tiki-searchresults.tpl =================================================================== --- branches/12.x/templates/tiki-searchresults.tpl 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/templates/tiki-searchresults.tpl 2013-11-20 18:03:17 UTC (rev 48587) @@ -56,11 +56,9 @@ <select id="searchLang" name="searchLang"> <option value="" >{tr}any language{/tr}</option> {section name=ix loop=$languages} - {if !is_array($prefs.available_languages) || count($prefs.available_languages) == 0 || in_array($languages[ix].value, $prefs.available_languages)} - <option value="{$languages[ix].value|escape}" {if $searchLang eq $languages[ix].value}selected="selected"{/if}> + <option value="{$languages[ix].value|escape}" {if $searchLang eq $languages[ix].value}selected="selected"{/if}> {tr}{$languages[ix].name}{/tr} - </option> - {/if} + </option> {/section} </select> </label> Modified: branches/12.x/templates/tiki-user_preferences.tpl =================================================================== --- branches/12.x/templates/tiki-user_preferences.tpl 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/templates/tiki-user_preferences.tpl 2013-11-20 18:03:17 UTC (rev 48587) @@ -262,11 +262,9 @@ <td> <select name="language"> {section name=ix loop=$languages} - {if count($prefs.available_languages) == 0 || in_array($languages[ix].value, $prefs.available_languages)} - <option value="{$languages[ix].value|escape}" {if $user_prefs.language eq $languages[ix].value}selected="selected"{/if}> - {$languages[ix].name} - </option> - {/if} + <option value="{$languages[ix].value|escape}" {if $user_prefs.language eq $languages[ix].value}selected="selected"{/if}> + {$languages[ix].name} + </option> {/section} <option value='' {if !$user_prefs.language}selected="selected"{/if}> {tr}Site default{/tr} Modified: branches/12.x/templates/trackerinput/userpreference.tpl =================================================================== --- branches/12.x/templates/trackerinput/userpreference.tpl 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/templates/trackerinput/userpreference.tpl 2013-11-20 18:03:17 UTC (rev 48587) @@ -6,11 +6,9 @@ {elseif $field.options_array[0] eq 'language'} <select name="{$field.ins_id}"> {section name=ix loop=$languages} - {if count($prefs.available_languages) == 0 || in_array($languages[ix].value, $prefs.available_languages)} - <option value="{$languages[ix].value|escape}" {if $field.value eq $languages[ix].value}selected="selected"{/if}> - {$languages[ix].name} - </option> - {/if} + <option value="{$languages[ix].value|escape}" {if $field.value eq $languages[ix].value}selected="selected"{/if}> + {$languages[ix].name} + </option> {/section} <option value='' {if !$field.value}selected="selected"{/if}>{tr}Site default{/tr}</option> </select> Modified: branches/12.x/templates/wizard/user_preferences_params.tpl =================================================================== --- branches/12.x/templates/wizard/user_preferences_params.tpl 2013-11-20 16:55:44 UTC (rev 48586) +++ branches/12.x/templates/wizard/user_preferences_params.tpl 2013-11-20 18:03:17 UTC (rev 48587) @@ -68,11 +68,9 @@ <td> <select name="language"> {section name=ix loop=$languages} - {if count($prefs.available_languages) == 0 || in_array($languages[ix].value, $prefs.available_languages)} - <option value="{$languages[ix].value|escape}" {if $language eq $languages[ix].value}selected="selected"{/if}> - {$languages[ix].name} - </option> - {/if} + <option value="{$languages[ix].value|escape}" {if $language eq $languages[ix].value}selected="selected"{/if}> + {$languages[ix].name} + </option> {/section} <option value='' {if !$language}selected="selected"{/if}> {tr}Site default{/tr} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |