Select Default Language MOD für registrierte Mitglieder?

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
pmw
Mitglied
Beiträge: 6
Registriert: 09.01.2005 18:22

Select Default Language MOD für registrierte Mitglieder?

Beitrag von pmw »

Hallo!

Mit dem Select Default Language MOD können Gäste via Link recht einfach die Sprache ändern. Dies funktioniert auch einwandfrei und sieht ungefähr so aus:

z.B.:
http://www.website.de/phpbb2/index.php?language=german
http://www.website.de/phpbb2/index.php?language=english

Was muss ich an dem Code von dem MOD ändern, damit auch registrierte Mitglieder die Links nutzen können. Dazu müsste wahrscheinlich die Sprache in der MySQL Datenbank umgeschreiben werden. Wie muss ich das machen?

Viele Grüße
pmw

Quellcode des Select Default Language MODs. (befindet sich in der Datei common.php)

Code: Alles auswählen

// Start add - Select default language MOD
if( !isset($board_config['real_default_lang']) )
{
	$board_config['real_default_lang'] = $board_config['default_lang'];
}
$language = ( isset($HTTP_POST_VARS['language']) ) ? $HTTP_POST_VARS['language'] : $HTTP_GET_VARS['language']; 
if ($language) 
{ 
	$language=trim(strip_tags($language));	
	$board_config['default_lang'] = $language; 
	setcookie($board_config['cookie_name'].'_default_lang',$language , (time()+21600), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']); 
} else 
{
	if (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'].'_default_lang']) ) 
	{
	   $board_config['default_lang']=$HTTP_COOKIE_VARS[$board_config['cookie_name'].'_default_lang']; 
	} else
	{
		$dir = opendir($phpbb_root_path.'language');
		$lang_d = array();
		while (false !== ($file = readdir($dir)))
		{
			if ( ereg("^lang_", $file) && !is_file($dirname . "/" . $file) && !is_link($dirname . "/" . $file) )
			{
				$filename = trim(str_replace("lang_", "", $file));
				$displayname = preg_replace("/^(.*?)_(.*)$/", "\\1 [ \\2 ]", $filename);
				$displayname = preg_replace("/\[(.*?)_(.*)\]/", "[ \\1 - \\2 ]", $displayname);
				$lang_d[$displayname] = '1';
			}
		}
		closedir($dir);
		@asort($lang_d);
		@reset($lang_d);
		while ( list($displayname, $filename) = @each($lang_d) )
		{
			if (strpos($displayname,$_SERVER['HTTP_ACCEPT_LANGUAGE'])===0)
			{
				$language = $displayname;
				$board_config['default_lang'] = $language; 
				break;
			}
		}
	}
}
// End add - Select default language MOD
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“