Просмотр исходного кода

Merge pull request #809 from Arantor/release-2.1

More places where the admin panel should tell the user of saved settings.
Arantor 11 лет назад
Родитель
Сommit
6359137a1a

+ 2 - 0
Sources/ManageLanguages.php

@@ -825,6 +825,8 @@ function ModifyLanguageSettings($return_config = false)
 		call_integration_hook('integrate_save_language_settings', array(&$config_vars));
 
 		saveSettings($config_vars);
+		if (!$settings_not_writable && !$settings_backup_fail)
+			$_SESSION['adm-save'] = true;
 		redirectexit('action=admin;area=languages;sa=settings');
 	}
 

+ 1 - 0
Sources/ManageNews.php

@@ -1074,6 +1074,7 @@ function ModifyNewsSettings($return_config = false)
 		call_integration_hook('integrate_save_news_settings');
 
 		saveDBSettings($config_vars);
+		$_SESSION['adm-save'] = true;
 		redirectexit('action=admin;area=news;sa=settings');
 	}
 

+ 10 - 0
Sources/ManageServer.php

@@ -595,6 +595,16 @@ function prepareServerSettingsContext(&$config_vars)
 {
 	global $context, $modSettings, $smcFunc;
 
+	if (isset($_SESSION['adm-save']))
+	{
+		if ($_SESSION['adm-save'] === true)
+			$context['saved_successful'] = true;
+		else
+			$context['saved_failed'] = $_SESSION['adm-save'];
+
+		unset($_SESSION['adm-save']);
+	}
+
 	$context['config_vars'] = array();
 	foreach ($config_vars as $identifier => $config_var)
 	{

+ 10 - 0
Sources/ManageSettings.php

@@ -1158,6 +1158,7 @@ function ShowCustomProfiles()
 		// What we have left!
 		$changes['registration_fields'] = empty($reg_fields) ? '' : implode(',', $reg_fields);
 
+		$_SESSION['adm-save'] = true;
 		if (!empty($changes))
 			updateSettings($changes);
 	}
@@ -1341,6 +1342,14 @@ function ShowCustomProfiles()
 		),
 	);
 	createList($listOptions);
+
+	// There are two different ways we could get to this point. To keep it simple, they both do
+	// the same basic thing.
+	if (isset($_SESSION['adm-save']))
+	{
+		$context['saved_successful'] = true;
+		unset ($_SESSION['adm-save']);
+	}
 }
 
 /**
@@ -1812,6 +1821,7 @@ function EditCustomProfiles()
 		$smcFunc['db_free_result']($request);
 
 		updateSettings(array('displayFields' => serialize($fields)));
+		$_SESSION['adm-save'] = true;
 		redirectexit('action=admin;area=featuresettings;sa=profile');
 	}
 

+ 7 - 0
Sources/Packages.php

@@ -1799,6 +1799,7 @@ function PackageOptions()
 			'package_make_backups' => !empty($_POST['package_make_backups']),
 			'package_make_full_backups' => !empty($_POST['package_make_full_backups'])
 		));
+		$_SESSION['adm-save'] = true;
 
 		redirectexit('action=admin;area=packages;sa=options');
 	}
@@ -1816,6 +1817,12 @@ function PackageOptions()
 	$context['package_ftp_username'] = isset($modSettings['package_username']) ? $modSettings['package_username'] : $default_username;
 	$context['package_make_backups'] = !empty($modSettings['package_make_backups']);
 	$context['package_make_full_backups'] = !empty($modSettings['package_make_full_backups']);
+
+	if (!empty($_SESSION['adm-save']))
+	{
+		$context['saved_successful'] = true;
+		unset ($_SESSION['adm-save']);
+	}
 }
 
 /**

+ 4 - 0
Themes/default/Admin.template.php

@@ -1002,6 +1002,10 @@ function template_show_custom_profile()
 {
 	global $context, $txt, $settings, $scripturl;
 
+	if (!empty($context['saved_successful']))
+		echo '
+	<div class="infobox">', $txt['settings_saved'], '</div>';
+
 	// Standard fields.
 	template_show_list('standard_profile_fields');
 

+ 4 - 0
Themes/default/Packages.template.php

@@ -1040,6 +1040,10 @@ function template_install_options()
 {
 	global $context, $settings, $options, $txt, $scripturl;
 
+	if (!empty($context['saved_successful']))
+		echo '
+	<div class="infobox">', $txt['settings_saved'], '</div>';
+
 	echo '
 	<div id="admincenter">
 		<div class="cat_bar">