OK, but remember: the code is crappy, it works with our demo - no more guarantees. I will make this into a mod and integrate it into a future version, for now just replace anycontent.php with this:
// ------------------------------------------------------------------------- //
// Coppermine Photo Gallery 1.2.0 //
// ------------------------------------------------------------------------- //
// Copyright (C) 2002,2003 Gregory DEMAR <gdemar@wanadoo.fr> //
// http://www.chezgreg.net/coppermine/ //
// ------------------------------------------------------------------------- //
// Updated by the Coppermine Dev Team //
// (http://coppermine.sf.net/team/) //
// see /docs/credits.html for details //
// ------------------------------------------------------------------------- //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// ------------------------------------------------------------------------- //
starttable("100%", "Language & Theme",2);
?>
<tr><td class="tableb">
<?php
print cpg_show_flags();
?>
</td></tr>
<?php
endtable();
function cpg_show_flags()
{
// ------------------------------------------------------------------------- //
// ChooseLanguageByFlag.mod v1.3 for Coppermine Photo Gallery 1.1.0 (final) //
// by GauGau (Joachim Mueller) http://gaugau.de/ //
// ------------------------------------------------------------------------- //
// ---edit below vars--- //
$choice= "list";
//edit this: choose between "flag" (pictures of flags), "list" (dropdown box) and "both"
$number_of_rows=1;
// edit this value: how many rows of flags should be shown (it makes sense to//
// have more than 1 row if you have you coppermine navigation not on top of //
// the page (horizontally) but on the side of the gallery (vertically). //
// Usually (with most themes) this value can be set to 1 //
$border_flag_color = "";
//do you want a border around your flag? Set the color here, leave blank if //
// you don't want a border. Use color codes that css understands, e.g. //
// "#FF0000" or "red". //
// For more details on color codes, check //
// http://www.w3.org/TR/REC-CSS1#color-units/ //
$translate_language = "Sprache/language";
// edit this: translate "Sprache" to the word "language" in your country or //
// whatever text you want to appear in front of the flags/dropdown box //
// Use below arrays to specify which countries should show up. The expression//
// in brackets must be the name of the language file (without the ".php" at //
// the end). The first array specifies the "realname" of the language, the //
// second arry must contain the country code (see the folder /images/flags) //
// and must correspond to the image. Example: if you want the stars and //
// stripes turn up instead of the union jack, use //
// $language_name['english'] = 'English'; $country_code_flag['english'] = 'gb';
$language_name['arabic'] = 'Arabic (العربية)'; $country_code_flag['arabic'] = 'sa';
$language_name['bosnian'] = 'Bosnian (Bosanski)'; $country_code_flag['bosnian'] = 'ba';
$language_name['brazilian_portuguese'] = 'Portuguese [Brazilian]'; $country_code_flag['brazilian_portuguese'] = 'br';
//$language_name['bulgarian'] = 'Bulgarian (Български)'; $country_code_flag['bulgarian'] = 'bg';
$language_name['chinese_big5'] = 'Chinese-Big5 (台灣)'; $country_code_flag['chinese_big5'] = 'tw';
$language_name['chinese_gb'] = 'Chinese-GB2312 (中国)'; $country_code_flag['chinese_gb'] = 'cn';
$language_name['croatian'] = 'Croatian(Hrvatski)'; $country_code_flag['croatian'] = 'hr';
$language_name['czech'] = 'Czech(Česky)'; $country_code_flag['czech'] = 'cz';
$language_name['danish'] = 'Danish (Dansk)'; $country_code_flag['danish'] = 'dk';
$language_name['dutch'] = 'Dutch (Nederlands)'; $country_code_flag['dutch'] = 'nl';
$language_name['english'] = 'English'; $country_code_flag['english'] = 'gb';
//$language_name['estonian'] = 'Estonian'; $country_code_flag['estonian'] = 'ee';
$language_name['finnish'] = 'Finnish (Suomea)'; $country_code_flag['finnish'] = 'fi';
$language_name['french'] = 'French (Français)'; $country_code_flag['french'] = 'fr';
$language_name['german'] = 'German (Deutsch)'; $country_code_flag['german'] = 'de';
$language_name['greek'] = 'Greek (Ελληνικά)'; $country_code_flag['greek'] = 'gr';
$language_name['hebrew'] = 'Hebrew (עברית)'; $country_code_flag['hebrew'] = 'il';
$language_name['hungarian'] = 'Hungarian (Magyarul)'; $country_code_flag['hungarian'] = 'hu';
$language_name['indonesian'] = 'Indonesian (Bahasa Indonesia)'; $country_code_flag['indonesian'] = 'in';
$language_name['italian'] = 'Italian (Italiano)'; $country_code_flag['italian'] = 'it';
//$language_name['japanese'] = 'Japanese (日本語)'; $country_code_flag['japanese'] = 'jp';
$language_name['korean'] = 'Korean (한국어)'; $country_code_flag['korean'] = 'kr';
//$language_name['latvian'] = 'Latvian'; $country_code_flag['latvian'] = 'lv';
$language_name['norwegian'] = 'Norwegian (Norsk)'; $country_code_flag['norwegian'] = 'no';
//$language_name['polish'] = 'Polish (Polski)'; $country_code_flag['polish'] = 'pl';
//$language_name['portugues-utf-8'] = 'Portugues-Brazil (Portugu?s)'; $country_code_flag['portugues-utf-8'] = 'br';
$language_name['portuguese'] = 'Portugues -Portugal (Portugu?s)'; $country_code_flag['portuguese'] = 'pt';
$language_name['russian'] = 'Russian (Русский)'; $country_code_flag['russian'] = 'ru';
$language_name['slovenian'] = 'Slovenian (Slovensko)'; $country_code_flag['slovenian'] = 'si';
$language_name['spanish'] = 'Spanish (Español)'; $country_code_flag['spanish'] = 'es';
$language_name['swedish'] = 'Swedish (Svenska)'; $country_code_flag['swedish'] = 'se';
//$language_name['thai'] = 'Thai (ไทย)'; $country_code_flag['thai'] = 'th';
$language_name['turkish'] = 'Turkish (Türkçe)'; $country_code_flag['turkish'] = 'tr';
$language_name['xxx'] = 'Reset to default language'; $country_code_flag['xxx'] = 'xx';
// ------------------------------------------------------------------------- //
//---------don't edit below this line unless you know hat you're doing-------- //
// ------------------------------------------------------------------------- //
global $CONFIG,$USER;
// get the current language
$cpg_current_language=$CONFIG['lang'];
if($USER['lang']!=""){$cpg_current_language=$USER['lang'];}
if($_GET['lang']!=""){$cpg_current_language=$_GET['lang'];}
//get the url and all vars except $lang
$cpg_current=$_SERVER["SCRIPT_NAME"]."?";
foreach ($_GET as $key => $value) {
if ($key!="lang"){$cpg_current.= $key . "=" . $value . "&";}
}
$cpg_current.="lang=";
//get the url and all vars except $theme
$cpg_theme=$_SERVER["SCRIPT_NAME"]."?";
foreach ($_GET as $key => $value) {
if ($key!="theme"){$cpg_theme.= $key . "=" . $value . "&";}
}
$cpg_theme.="theme=";
//set the border
if ($border_flag_color!="")
{
$flagborder='style="border-width:1px; border-color:'.$border_flag_color.'; margin:0px;"';
}
if($choice=="flag" || $choice=="both")
{ //----------------flags start
$cpg_flags_total=count($language_name);
$cpg_flags_cols=ceil($cpg_flags_total/$number_of_rows);
if ($number_of_rows!=1) {$cpg_flag_return = '<hr />';}
else {$cpg_flag_return = '';}
$cpg_flag_return.= '<span class="winzig">' . $translate_language .':</span>';
if ($number_of_rows!=1) {$cpg_flag_return.='<br />';}else{$cpg_flag_return.='';}
$cpg_flag_return.= '';
$cpg_flags_counter=1;
foreach ($language_name as $key => $value)
{
$cpg_flag_return.= '<img src="images/flags/' . $country_code_flag[$key] . '.gif" width="16" height="10" border="0" alt="" title="' . $value .'" '.$flagborder.' /></a>';
if($cpg_flags_counter==$cpg_flags_cols){$cpg_flag_return.="</tr><tr>";$cpg_flags_counter=0;}
$cpg_flags_counter++;
}
$cpg_flag_return.= '';
} //----------------flags end
if($choice=="list" or $choice=="both")
{ //----------------list start
if ($number_of_rows==1 and $choice=="both"){$cpg_flag_return .='';}
$cpg_flag_return.="<form name=\"choose_language\" action=\"" . $cpg_current . $key. "\" method=\"get\" style=\"margin-top:0px;margin-bottom:0px\"><span class=\"winzig\">";
if ($choice=="list")
{
if ($number_of_rows!=1) {$cpg_flag_return .= '<hr />' . $translate_language .':';}else{$cpg_flag_return.='';}
}
$cpg_flag_return.="Choose a language: <select name=\"lang\" size=\"1\" onchange=\"if (this.options[this.selectedIndex].value) window.location.href='".$cpg_current."' + this.options[this.selectedIndex].value;\">";
foreach ($language_name as $key => $value)
{
$cpg_flag_return.='<option value="' . $key . '"';
if($key==$cpg_current_language){$cpg_flag_return.=' selected';}
$cpg_flag_return.='>' . $value . '</option>';
}
$cpg_flag_return.= '</select></span></td><td class="tableb">';
} //----------------list end
$cpg_flag_return.='<span class="winzig"> Choose a theme: ';
$cpg_flag_return.='<a href="'.$cpg_theme.'default">Default</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'eyeball">Eyeball</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'fruity">Fruity</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'hardwired">Hardwired</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'igames">Igames</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'mac_ox_x">Mac OS X</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'project_vii">Project VII</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'rainy_day">Rainy Day</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'water_drop">Water Drop</a> | ';
$cpg_flag_return.='<a href="'.$cpg_theme.'xxx">Reset theme</a>';
$cpg_flag_return.='</span>';
$cpg_flag_return.='<style type="text/css">
<!--
.winzig {font-size:9px}
-->
</style>';
$cpg_flag_return.="</form>
";
/*
$cpg_flag_return.="<form name=\"choose_theme\" action=\"" . $cpg_theme."&theme=\" method=\"get\" style=\"margin-top:0px;margin-bottom:0px\"><span class=\"winzig\">";
$theme_name['default'] = 'Default';
$theme_name['eyeball'] = 'Eyeball';
$theme_name['fruity'] = 'Fruity';
$theme_name['hardwired'] = 'Hardwired';
$theme_name['igames'] = 'Igames';
$theme_name['mac_ox_x'] = 'Mac OS X';
$theme_name['project_vii'] = 'Project VII';
$theme_name['rainy_day'] = 'Rainy Day';
$theme_name['water drop'] = 'Water Drop';
$cpg_flag_return.="
Choose a theme: <select name=\"theme\" size=\"1\" onchange=\"if (this.options[this.selectedIndex].value) window.location.href='".$cpg_current."' + this.options[this.selectedIndex].value;\">";
foreach ($theme_name as $key => $value)
{
$cpg_flag_return.='<option value="' . $key . '"';
//if($key==$cpg_current_language){$cpg_flag_return.=' selected';}
$cpg_flag_return.='>' . $value . '</option>';
}
$cpg_flag_return.= '</select></span>';
*/
if ($number_of_rows==1){$cpg_flag_return.='<!--foo</td></tr></table>-->';}
$cpg_flag_return.='';
return $cpg_flag_return;
} //--- def function cpg_show_flags end
function cpg_ascii_onoff()
{
$cpg_current=$_SERVER["SCRIPT_NAME"]."?";
foreach ($_GET as $key => $value) {
if ($key=="ascii"){
$ascii_exist=1;
if ($value==1){$value=0;}else{$value=1;}
}
$cpg_current.= $key . "=" . $value . "&";
}
if($ascii_exist!=1){$cpg_current.="ascii=1";}
$cpg_current = rtrim($cpg_current , "&");
return $cpg_current;
}
GauGau