protected override void OnAccept() { try { var setting = new PHPIniSetting { Name = _nameTextBox.Text.Trim(), Value = _valueTextBox.Text.Trim(), Section = _sectionTextBox.Text.Trim() }; var settings = new RemoteObjectCollection <PHPIniSetting> { setting }; _module.Proxy.AddOrUpdateSettings(settings); DialogResult = DialogResult.OK; SettingName = setting.Name; Close(); } catch (Exception ex) { DisplayErrorMessage(ex, Resources.ResourceManager); } }
protected override void DoProcessing() { using (ServerManager serverManager = new ServerManager()) { ServerManagerWrapper serverManagerWrapper = new ServerManagerWrapper(serverManager, this.SiteName, this.VirtualPath); PHPConfigHelper configHelper = new PHPConfigHelper(serverManagerWrapper); PHPIniFile phpIniFile = configHelper.GetPHPIniFile(); PHPIniSetting setting = Helper.FindSetting(phpIniFile.Settings, Name); if (setting != null) { if (ShouldProcess(Name)) { RemoteObjectCollection <PHPIniSetting> settings = new RemoteObjectCollection <PHPIniSetting>(); settings.Add(new PHPIniSetting(Name, Value, setting.Section)); configHelper.AddOrUpdatePHPIniSettings(settings); } } else { ArgumentException ex = new ArgumentException(String.Format(Resources.SettingDoesNotExistError, Name)); ReportNonTerminatingError(ex, "InvalidArgument", ErrorCategory.ObjectNotFound); } } }
public PHPSettingItem(PHPIniSetting setting) { _setting = setting; Text = _setting.Name; SubItems.Add(_setting.Value); SubItems.Add(_setting.Section); }
private void UpdateUI(PHPIniFile file) { PHPIniSetting setting = file.GetSetting(_settingNames[0]); string[] settingValues = null; if (setting != null) { if (String.Equals(setting.GetTrimmedValue(), _settingsDevValues[0])) { _errorReportingPreset = ErrorReportingPreset.Development; settingValues = _settingsDevValues; } else if (String.Equals(setting.GetTrimmedValue(), _settingsProdValues[0])) { _errorReportingPreset = ErrorReportingPreset.Production; settingValues = _settingsProdValues; } int i = 1; var php7 = new Version(Module.Proxy.GetPHPConfigInfo().Version) >= new Version("7.2"); while (_errorReportingPreset != ErrorReportingPreset.Undefined && i < _settingNames.Length) { if (php7 && _settingNames[i] == "track_errors") { // IMPORTANT: skip obsolete setting. i++; continue; } setting = file.GetSetting(_settingNames[i]); if (setting == null || !String.Equals(setting.GetTrimmedValue(), settingValues[i])) { _errorReportingPreset = ErrorReportingPreset.Undefined; } i++; } } if (_errorReportingPreset == ErrorReportingPreset.Development) { _devMachineRadioButton.Checked = true; } else if (_errorReportingPreset == ErrorReportingPreset.Production) { _prodMachineRadioButton.Checked = true; } setting = file.GetSetting("error_log"); if (setting != null) { _errorLogFile = setting.GetTrimmedValue(); _errorLogFileTextBox.Text = setting.GetTrimmedValue(); } }
public static PHPIniSetting FindSetting(RemoteObjectCollection <PHPIniSetting> settings, string name) { PHPIniSetting result = null; foreach (PHPIniSetting setting in settings) { if (String.Equals(setting.Name, name, StringComparison.OrdinalIgnoreCase)) { result = setting; break; } } return(result); }
private void UpdateUI(PHPIniFile file) { PHPIniSetting setting = file.GetSetting(SettingNames[0]); string[] settingValues = null; if (setting != null) { if (String.Equals(setting.GetTrimmedValue(), SettingsDevValues[0])) { _errorReportingPreset = ErrorReportingPreset.Development; settingValues = SettingsDevValues; } else if (String.Equals(setting.GetTrimmedValue(), SettingsProdValues[0])) { _errorReportingPreset = ErrorReportingPreset.Production; settingValues = SettingsProdValues; } int i = 1; while (_errorReportingPreset != ErrorReportingPreset.Undefined && i < SettingNames.Length) { setting = file.GetSetting(SettingNames[i]); if (setting == null || !String.Equals(setting.GetTrimmedValue(), settingValues[i])) { _errorReportingPreset = ErrorReportingPreset.Undefined; } i = i + 1; } } if (_errorReportingPreset == ErrorReportingPreset.Development) { _devMachineRadioButton.Checked = true; } else if (_errorReportingPreset == ErrorReportingPreset.Production) { _prodMachineRadioButton.Checked = true; } setting = file.GetSetting("error_log"); if (setting != null) { _errorLogFile = setting.GetTrimmedValue(); _errorLogFileTextBox.Text = setting.GetTrimmedValue(); } }
// Constructor for Edit Setting Dialog public AddEditSettingDialog(PHPModule module, PHPIniSetting setting) : base(module) { _module = module; InitializeComponent(); InitializeUI(); // The dialog is used in the "Edit setting" mode Text = Resources.AddEditSettingDialogEditSetting; _nameTextBox.Enabled = false; _sectionTextBox.Enabled = false; _nameTextBox.Text = setting.Name; _valueTextBox.Text = setting.Value; _sectionTextBox.Text = setting.Section; UpdateUI(); }
public bool SaveSetting(string settingName, string settingValue, string settingSection) { var setting = GetSetting(settingName); if (setting == null) { // The setting doesn't currently exist. Add a new setting setting = new PHPIniSetting() { Name = settingName, Section = settingSection, }; } else { if (String.Compare(setting.Value, settingValue) == 0) { return(true); // No update needed } } setting.Value = settingValue; var settingChangableType = PlacementRules.GetChangableLocation(settingName); if (!filesWhereSettingIsReadFrom[settingChangableType].Contains(SettingLocation.UserIni)) { //throw new InvalidOperationException("Can't set this"); return(false); } // Save this setting to .user.ini file var phpFile = _settings[SettingLocation.UserIni]; phpFile.AddOrUpdateSettings(new List <PHPIniSetting>() { setting }); phpFile.Save(); return(true); }
protected override PropertyBag GetProperties() { PropertyBag result = new PropertyBag(); object o = Module.Proxy.GetPHPIniSettings(); PHPIniFile file = new PHPIniFile(); file.SetData(o); for (int i = 0; i < _settingNames.Length; i++) { PHPIniSetting setting = file.GetSetting(_settingNames[i]); if (setting != null) { result[i] = setting.Value; } } return(result); }
public void RemovePHPIniSetting(object settingData) { EnsureServerConnection(); var setting = new PHPIniSetting(); setting.SetData(settingData); try { var mgmtUnitWrapper = new ManagementUnitWrapper(ManagementUnit); var configHelper = new PHPConfigHelper(mgmtUnitWrapper); configHelper.RemovePHPIniSetting(setting); } catch (FileNotFoundException) { RaiseException("ErrorPHPIniNotFound"); } catch (InvalidOperationException) { RaiseException("ErrorPHPIsNotRegistered"); } }
public PHPSettingItem(PHPIniSetting setting) { _setting = setting; }
internal void RemoveSetting(PHPIniSetting setting) { Invoke("RemovePHPIniSetting", setting.GetData()); }