Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1429)
+++ branches/2.8.x/CHANGELOG	(revision 1430)
@@ -11,6 +11,8 @@
 ! = Update/Change
 
 ------------------------------------- 2.8.2 -------------------------------------
+09 Feb-2011 Build 1430 Dietmar Woellbrink (Luisehahne)
+# fix save settings dir and file mode (Tks to the community)
 09 Feb-2011 Build 1429 Dietmar Woellbrink (Luisehahne)
 # add forgotten javascript variable
 07 Feb-2011 Build 1428 Dietmar Woellbrink (Luisehahne)
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1429)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1430)
@@ -52,6 +52,6 @@
 
 // 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.2.RC5');
-if(!defined('REVISION')) define('REVISION', '1429');
+if(!defined('REVISION')) define('REVISION', '1430');
 
 ?>
Index: branches/2.8.x/wb/admin/settings/save.php
===================================================================
--- branches/2.8.x/wb/admin/settings/save.php	(revision 1429)
+++ branches/2.8.x/wb/admin/settings/save.php	(revision 1430)
@@ -148,7 +148,7 @@
 $sql .= 'ORDER BY `name`';
 
 $res_settings = $database->query($sql);
-
+$passed = false;
 while($setting = $res_settings->fetchRow())
 {
 	$old_settings[$setting['name']] = $setting['value'];
@@ -158,17 +158,20 @@
 	switch ($setting_name) {
 		case 'default_timezone':
 			$value=$value*60*60;
+			$passed = true;
 			break;
 		case 'string_dir_mode':
 			$value=$dir_mode;
+			$passed = true;
 			break;
 		case 'string_file_mode':
 			$value=$file_mode;
-			break;
+ 			$passed = true;
+		break;
 		case 'pages_directory':
 			break;
 		default :
-
+		    $passed = in_array($setting_name, $allow_empty_values);
 			break;
 	}
     if (!in_array($setting_name, $allow_tags_in_fields))
@@ -176,7 +179,6 @@
         $value = strip_tags($value);
     }
 
-    $passed = in_array($setting_name, $allow_empty_values);
 
     if ( !in_array($value, $disallow_in_fields) && (isset($_POST[$setting_name]) || $passed == true) )
     {
