ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilHttpConfigStoredObjective Class Reference
+ Inheritance diagram for ilHttpConfigStoredObjective:
+ Collaboration diagram for ilHttpConfigStoredObjective:

Public Member Functions

 __construct (\ilHttpSetupConfig $config)
 
 getHash ()
 
 getLabel ()
 
 isNotable ()
 
 getPreconditions (Setup\Environment $environment)
 
 achieve (Setup\Environment $environment)
 
 isApplicable (Setup\Environment $environment)
 

Protected Attributes

 $config
 

Detailed Description

Definition at line 7 of file class.ilHttpConfigStoredObjective.php.

Constructor & Destructor Documentation

◆ __construct()

ilHttpConfigStoredObjective::__construct ( \ilHttpSetupConfig  $config)

Definition at line 14 of file class.ilHttpConfigStoredObjective.php.

References $config.

16  {
17  $this->config = $config;
18  }

Member Function Documentation

◆ achieve()

ilHttpConfigStoredObjective::achieve ( Setup\Environment  $environment)

Definition at line 43 of file class.ilHttpConfigStoredObjective.php.

References $factory, and $ini.

43  : Setup\Environment
44  {
45  $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
46 
47  $ini->setVariable("server", "http_path", $this->config->getHttpPath());
48  $ini->setVariable("https", "auto_https_detect_enabled", $this->config->isAutodetectionEnabled() ? "1" : "0");
49  $ini->setVariable("https", "auto_https_detect_header_name", $this->config->getHeaderName());
50  $ini->setVariable("https", "auto_https_detect_header_value", $this->config->getHeaderValue());
51 
52 
53  if (!$ini->write()) {
54  throw new Setup\UnachievableException("Could not write ilias.ini.php");
55  }
56 
57  $factory = $environment->getResource(Setup\Environment::RESOURCE_SETTINGS_FACTORY);
58  $settings = $factory->settingsFor("common");
59  $settings->set("proxy_status", (int) $this->config->isProxyEnabled());
60  $settings->set("proxy_host", $this->config->getProxyHost());
61  $settings->set("proxy_port", $this->config->getProxyPort());
62 
63  return $environment;
64  }
$factory
Definition: metadata.php:58
$ini
Definition: raiseError.php:4

◆ getHash()

ilHttpConfigStoredObjective::getHash ( )

Definition at line 20 of file class.ilHttpConfigStoredObjective.php.

20  : string
21  {
22  return hash("sha256", self::class);
23  }

◆ getLabel()

ilHttpConfigStoredObjective::getLabel ( )

Definition at line 25 of file class.ilHttpConfigStoredObjective.php.

25  : string
26  {
27  return "Store configuration of Services/Http";
28  }

◆ getPreconditions()

ilHttpConfigStoredObjective::getPreconditions ( Setup\Environment  $environment)

Definition at line 35 of file class.ilHttpConfigStoredObjective.php.

35  : array
36  {
37  return [
39  new \ilSettingsFactoryExistsObjective()
40  ];
41  }

◆ isApplicable()

ilHttpConfigStoredObjective::isApplicable ( Setup\Environment  $environment)

Definition at line 69 of file class.ilHttpConfigStoredObjective.php.

References $factory, and $ini.

69  : bool
70  {
71  $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
72  $factory = $environment->getResource(Setup\Environment::RESOURCE_SETTINGS_FACTORY);
73  $settings = $factory->settingsFor("common");
74 
75  $detect_enabled = $this->config->isAutodetectionEnabled() ? "1" : "0";
76 
77  return
78  $ini->readVariable("server", "http_path") !== $this->config->getHttpPath() ||
79  $ini->readVariable("https", "auto_https_detect_enabled") !== $detect_enabled ||
80  $ini->readVariable("https", "auto_https_detect_header_name") !== $this->config->getHeaderName() ||
81  $ini->readVariable("https", "auto_https_detect_header_value") !== $this->config->getHeaderValue() ||
82  $settings->get("proxy_status") !== (int) $this->config->isProxyEnabled() ||
83  $settings->get("proxy_host") !== $this->config->getProxyHost() ||
84  $settings->get("proxy_port") !== $this->config->getProxyPort()
85  ;
86  }
$factory
Definition: metadata.php:58
$ini
Definition: raiseError.php:4

◆ isNotable()

ilHttpConfigStoredObjective::isNotable ( )

Definition at line 30 of file class.ilHttpConfigStoredObjective.php.

30  : bool
31  {
32  return false;
33  }

Field Documentation

◆ $config

ilHttpConfigStoredObjective::$config
protected

Definition at line 12 of file class.ilHttpConfigStoredObjective.php.

Referenced by __construct().


The documentation for this class was generated from the following file: