Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
 public PHPSettingItem(PHPIniSetting setting)
 {
     _setting = setting;
     Text     = _setting.Name;
     SubItems.Add(_setting.Value);
     SubItems.Add(_setting.Section);
 }
Esempio n. 4
0
        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();
            }
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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();
            }
        }
Esempio n. 7
0
        // 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();
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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");
            }
        }
Esempio n. 11
0
 public PHPSettingItem(PHPIniSetting setting)
 {
     _setting = setting;
 }
Esempio n. 12
0
 internal void RemoveSetting(PHPIniSetting setting)
 {
     Invoke("RemovePHPIniSetting", setting.GetData());
 }