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, Section)); configHelper.AddOrUpdatePHPIniSettings(settings); } } else { ArgumentException ex = new ArgumentException(String.Format(Resources.SettingAlreadyExistsError, Name)); ReportNonTerminatingError(ex, "InvalidArgument", ErrorCategory.InvalidArgument); } } }
protected override void DoProcessing() { using (var serverManager = new ServerManager()) { var serverManagerWrapper = new ServerManagerWrapper(serverManager, SiteName, VirtualPath); var configHelper = new PHPConfigHelper(serverManagerWrapper); var phpIniFile = configHelper.GetPHPIniFile(); var nameWildcard = PrepareWildcardPattern(Name); var sectionWildcard = PrepareWildcardPattern(Section); foreach (var setting in phpIniFile.Settings) { if (!nameWildcard.IsMatch(setting.Name)) { continue; } if (!sectionWildcard.IsMatch(setting.Section)) { continue; } var settingItem = new PHPSettingItem(setting); WriteObject(settingItem); } } }
protected override void DoProcessing() { using (var serverManager = new ServerManager()) { var serverManagerWrapper = new ServerManagerWrapper(serverManager, SiteName, VirtualPath); var configHelper = new PHPConfigHelper(serverManagerWrapper); var phpIniFile = configHelper.GetPHPIniFile(); WildcardPattern wildcard = PrepareWildcardPattern(Name); foreach (var extension in phpIniFile.Extensions) { if (!wildcard.IsMatch(extension.Name)) { continue; } if (Status == PHPExtensionStatus.Disabled && extension.Enabled) { continue; } if (Status == PHPExtensionStatus.Enabled && !extension.Enabled) { continue; } var extensionItem = new PHPExtensionItem(extension); WriteObject(extensionItem); } } }
protected override void DoProcessing() { using (var serverManager = new ServerManager()) { var serverManagerWrapper = new ServerManagerWrapper(serverManager, SiteName, VirtualPath); var configHelper = new PHPConfigHelper(serverManagerWrapper); var phpVersions = configHelper.GetAllPHPVersions(); var nameWildcard = PrepareWildcardPattern(HandlerName); var versionWildcard = PrepareWildcardPattern(Version); var isActive = true; foreach (var phpVersion in phpVersions) { if (!nameWildcard.IsMatch(phpVersion.HandlerName)) { isActive = false; continue; } if (!versionWildcard.IsMatch(phpVersion.Version)) { isActive = false; continue; } var versionItem = new PHPVersionItem(phpVersion, isActive); WriteObject(versionItem); isActive = false; } } }
protected override void DoProcessing() { using (ServerManager serverManager = new ServerManager()) { ServerManagerWrapper serverManagerWrapper = new ServerManagerWrapper(serverManager, this.SiteName, this.VirtualPath); PHPConfigHelper configHelper = new PHPConfigHelper(serverManagerWrapper); RemoteObjectCollection<PHPVersion> phpVersions = configHelper.GetAllPHPVersions(); WildcardPattern nameWildcard = PrepareWildcardPattern(HandlerName); WildcardPattern versionWildcard = PrepareWildcardPattern(Version); bool isActive = true; foreach (PHPVersion phpVersion in phpVersions) { if (!nameWildcard.IsMatch(phpVersion.HandlerName)) { isActive = false; continue; } if (!versionWildcard.IsMatch(phpVersion.Version)) { isActive = false; continue; } PHPVersionItem versionItem = new PHPVersionItem(phpVersion, isActive); WriteObject(versionItem); isActive = false; } } }
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)) { string warningMessage = String.Format(Resources.DeleteSettingWarningMessage, setting.Name, setting.Value); if (Force || ShouldContinue(warningMessage, Resources.DeleteSettingWarningCaption)) { configHelper.RemovePHPIniSetting(setting); } } } else { ArgumentException ex = new ArgumentException(String.Format(Resources.SettingDoesNotExistError, Name)); ReportNonTerminatingError(ex, "InvalidArgument", ErrorCategory.ObjectNotFound); } } }
protected override void DoProcessing() { using (var serverManager = new ServerManager()) { var serverManagerWrapper = new ServerManagerWrapper(serverManager, SiteName, VirtualPath); var configHelper = new PHPConfigHelper(serverManagerWrapper); var phpIniFile = configHelper.GetPHPIniFile(); var setting = Helper.FindSetting(phpIniFile.Settings, Name); if (setting != null) { if (ShouldProcess(Name)) { var settings = new RemoteObjectCollection<PHPIniSetting> { new PHPIniSetting(Name, Value, setting.Section) }; configHelper.AddOrUpdatePHPIniSettings(settings); } } else { var ex = new ArgumentException(String.Format(Resources.SettingDoesNotExistError, Name)); ReportNonTerminatingError(ex, "InvalidArgument", ErrorCategory.ObjectNotFound); } } }
protected override void DoProcessing() { try { using (ServerManager serverManager = new ServerManager()) { ServerManagerWrapper serverManagerWrapper = new ServerManagerWrapper(serverManager, this.SiteName, this.VirtualPath); PHPConfigHelper _configHelper = new PHPConfigHelper(serverManagerWrapper); string phpCgiExePath = PrepareFullScriptProcessorPath(ScriptProcessor); _configHelper.RegisterPHPWithIIS(phpCgiExePath); } } catch (DirectoryNotFoundException ex) { ReportTerminatingError(ex, "DirectoryNotFound", ErrorCategory.ObjectNotFound); } }
protected override void DoProcessing() { using (ServerManager serverManager = new ServerManager()) { ServerManagerWrapper serverManagerWrapper = new ServerManagerWrapper(serverManager, this.SiteName, this.VirtualPath); PHPConfigHelper configHelper = new PHPConfigHelper(serverManagerWrapper); PHPConfigInfo configInfo = configHelper.GetPHPConfigInfo(); if (configInfo.RegistrationType == PHPRegistrationType.FastCgi) { PHPConfigurationItem configurationItem = new PHPConfigurationItem(configInfo); WriteObject(configurationItem); } else { throw new InvalidOperationException(Resources.PHPIsNotRegisteredError); } } }
protected override void DoProcessing() { using (ServerManager serverManager = new ServerManager()) { ServerManagerWrapper serverManagerWrapper = new ServerManagerWrapper(serverManager, this.SiteName, this.VirtualPath); PHPConfigHelper configHelper = new PHPConfigHelper(serverManagerWrapper); if (configHelper.GetPHPHandlerByName(HandlerName) != null) { if (ShouldProcess(HandlerName)) { configHelper.SelectPHPHandler(HandlerName); } } else { ArgumentException ex = new ArgumentException(String.Format(Resources.HandlerDoesNotExistError, HandlerName)); ReportNonTerminatingError(ex, "InvalidArgument", ErrorCategory.ObjectNotFound); } } }
protected override void BeginProcessing() { EnsureAdminUser(); try { _serverManager = new ServerManager(); ServerManagerWrapper serverManagerWrapper = new ServerManagerWrapper(_serverManager, this.SiteName, this.VirtualPath); _configHelper = new PHPConfigHelper(serverManagerWrapper); _phpIniFile = _configHelper.GetPHPIniFile(); _extensions = new RemoteObjectCollection<PHPIniExtension>(); } catch (FileNotFoundException ex) { DisposeServerManager(); ReportTerminatingError(ex, "FileNotFound", ErrorCategory.ObjectNotFound); } catch (InvalidOperationException ex) { DisposeServerManager(); ReportTerminatingError(ex, "InvalidOperation", ErrorCategory.InvalidOperation); } }
public bool CheckForLocalPHPHandler(string siteName, string virtualPath) { EnsureServerOrSiteConnection(); if (String.IsNullOrEmpty(siteName)) { throw new InvalidOperationException(); } Site site = ManagementUnit.ReadOnlyServerManager.Sites[siteName]; if (site == null) { throw new InvalidOperationException(); } ServerManagerWrapper serverManagerWrapper = new ServerManagerWrapper(ManagementUnit.ReadOnlyServerManager, siteName, virtualPath); PHPConfigHelper configHelper = new PHPConfigHelper(serverManagerWrapper); PHPConfigInfo configInfo = configHelper.GetPHPConfigInfo(); if (configInfo.RegistrationType != PHPRegistrationType.FastCgi) { throw new InvalidOperationException("PHP is not registered via FastCGI, hence there is no FastCGI handler defined"); } return configInfo.HandlerIsLocal; }