Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1920)
+++ branches/2.8.x/CHANGELOG	(revision 1921)
@@ -11,7 +11,8 @@
 ! = Update/Change
 ===============================================================================
 
-
+07 Jun-2013 Build 1921 Werner v.d.Decken(DarkViper)
+! /admin/languages  some little corrections
 07 Jun-2013 Build 1920 Dietmar Woellbrink (Luisehahne)
 ! /modules/admin.php $sSectionIdPrefix
 ! /admin/media/upload.php change $database->query($sql) to $database->get_one($sql)
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1920)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1921)
@@ -51,5 +51,5 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) define('VERSION', '2.8.3');
-if(!defined('REVISION')) define('REVISION', '1920');
+if(!defined('REVISION')) define('REVISION', '1921');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/admin/languages/details.php
===================================================================
--- branches/2.8.x/wb/admin/languages/details.php	(revision 1920)
+++ branches/2.8.x/wb/admin/languages/details.php	(revision 1921)
@@ -16,59 +16,48 @@
  *
  */
 
+// *** Helper function *******************************************************************
+function getInfoFromLanguageFile($sFile)
+{
+	$mRetval = array();
+	$mLang = Translate::getinstance();
+	// check for valid language code
+	if(preg_match('/^([A-Z]{2}.php)/', $sFile)) {
+		if(is_file(WB_PATH.'/languages/'.$sFile) ) {
+			if(is_readable(WB_PATH.'/languages/'.$sFile) ) {
+				require_once(WB_PATH.'/languages/'.$sFile);
+				$mRetval['CODE'] = $language_code;
+				$mRetval['NAME'] = $language_name;
+				$mRetval['AUTHOR'] = $language_author;
+				$mRetval['VERSION'] = $language_version;
+				$mRetval['DESIGNED_FOR'] = $language_platform;
+			}else {
+				$mRetval = $mLang->MESSAGE_ADMIN_INSUFFICIENT_PRIVELLIGES;
+			}
+		}else {
+			$mRetval = $mLang->MESSAGE_GENERIC_NOT_INSTALLED;
+		}
+	}else {
+		$mRetval= $mLang->MESSAGE_GENERIC_FORGOT_OPTIONS;
+	}
+	return $mRetval;
+}
+// ***************************************************************************************
 // Include the config code
 require('../../config.php');
-
 // Print admin header
+$mLang = Translate::getinstance();
+$mLang->enableAddon('admin\addons');
 require_once(WB_PATH.'/framework/class.admin.php');
 $admin = new admin('Addons', 'languages_view', false);
-if( !$admin->checkFTAN() )
-{
+if(!$admin->checkFTAN()) {
 	$admin->print_header();
-	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
+	$admin->print_error($mLang->MESSAGE_GENERIC_SECURITY_ACCESS);
 }
 // After check print the header
 $admin->print_header();
-
-// Get language name
-if(!isset($_POST['code']) OR $_POST['code'] == "") {
-	$code = '';
-	$file = '';
-} else {
-	$code = $_POST['code'];
-	$file = $_POST['code'].'.php';
-}
-// fix secunia 2010-93-2
-if (!preg_match('/^([A-Z]{2}.php)/', $file)) {
-	$admin->print_error($MESSAGE['GENERIC_FORGOT_OPTIONS']);
-}
-
-// Check if the template exists
-if(!is_file(WB_PATH.'/languages/'.$file) ) {
-	$admin->print_error($MESSAGE['GENERIC_NOT_INSTALLED']);
-}
-
-// Check if the template exists
-if(!is_readable(WB_PATH.'/languages/'.$file) ) {
-	$admin->print_error($MESSAGE['ADMIN_INSUFFICIENT_PRIVELLIGES']);
-}
-
-/*
-print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.''.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
-print_r( $file ); print '</pre>'; // flush ();sleep(10); die();
-
-if (!preg_match('/^[A-Z]{2}$/', $code)) {
-	header("Location: index.php");
-	exit(0);
-}
-
-// Check if the language exists
-if(!file_exists(WB_PATH.'/languages/'.$code.'.php')) {
-	header("Location: index.php");
-	exit(0);
-}
-*/
-
+// Get language code
+$sFile = (string)$admin->get_post('code').'.php';
 // Setup template object, parse vars to it, then parse it
 // Create new template object
 $template = new Template(dirname($admin->correct_theme_source('languages_details.htt')),'keep');
@@ -75,26 +64,17 @@
 // $template->debug = true;
 $template->set_file('page', 'languages_details.htt');
 $template->set_block('page', 'main_block', 'main');
+//getinfo
+$aValues = getInfoFromLanguageFile($sFile);
+if(!is_array($aValues)) {
+	$admin->print_error($aValues);
+}
+$aValues['ADMIN_URL'] = ADMIN_URL;
+$aValues['WB_URL']    = WB_URL;
+$aValues['THEME_URL'] = THEME_URL;
 
 // Insert values
-require(WB_PATH.'/languages/'.$file);
-$template->set_var(array(
-						'CODE' => $language_code,
-						'NAME' => $language_name,
-						'AUTHOR' => $language_author,
-						'VERSION' => $language_version,
-						'DESIGNED_FOR' => $language_platform,
-						'ADMIN_URL' => ADMIN_URL,
-						'WB_URL' => WB_URL,
-						'THEME_URL' => THEME_URL
-						)
-				);
-
-//$mLang = ModLanguage::getInstance();
-//$mLang->setLanguage(ADMIN_PATH.'/addons/languages/', LANGUAGE, DEFAULT_LANGUAGE);
-$mLang = Translate::getinstance();
-$mLang->enableAddon('admin\addons');
-
+$template->set_var($aValues);
 /*-- insert all needed vars from language files ----------------------------------------*/
 $template->set_var($mLang->getLangArray());
 
@@ -101,6 +81,5 @@
 // Parse language object
 $template->parse('main', 'main_block', false);
 $template->pparse('output', 'page');
-
 // Print admin footer
 $admin->print_footer();
Index: branches/2.8.x/wb/admin/languages/index.php
===================================================================
--- branches/2.8.x/wb/admin/languages/index.php	(revision 1920)
+++ branches/2.8.x/wb/admin/languages/index.php	(revision 1921)
@@ -79,6 +79,6 @@
 // Parse template object
 $template->parse('main', 'main_block', false);
 $template->pparse('output', 'page');
-
+$mLang->disableAddon();
 // Print admin footer
 $admin->print_footer();
