ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilMakeInstallationAccessibleObjective.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 2019 Richard Klees <richard.klees@concepts-and-training.de> Extended GPL, see docs/LICENSE */
4
6
8{
9 public function getHash() : string
10 {
11 return hash("sha256", self::class);
12 }
13
14 public function getLabel() : string
15 {
16 return "The installation is accessible.";
17 }
18
19 public function isNotable() : bool
20 {
21 return true;
22 }
23
24 public function getPreconditions(Setup\Environment $environment) : array
25 {
26 $db_config = $environment->getConfigFor("database");
27 return [
28 new \ilIniFilesPopulatedObjective($this->config),
29 new ilDatabasePopulatedObjective($db_config),
30 new \ilSettingsFactoryExistsObjective()
31 ];
32 }
33
34 public function achieve(Setup\Environment $environment) : Setup\Environment
35 {
36 $factory = $environment->getResource(Setup\Environment::RESOURCE_SETTINGS_FACTORY);
37 $settings = $factory->settingsFor("common");
38
39 $settings->set("setup_ok", 1);
40
41 $client_ini = $environment->getResource(Setup\Environment::RESOURCE_CLIENT_INI);
42
43 $client_ini->setVariable("client", "access", true);
44
45 if (!$client_ini->write()) {
46 throw new Setup\UnachievableException("Could not write client.ini.php");
47 }
48
49 return $environment;
50 }
51}
An exception for terminatinating execution or to throw for unit testing.
Signals that some goal won't be achievable by actions of the system ever.
An environment holds resources to be used in the setup process.
Definition: Environment.php:12
$factory
Definition: metadata.php:58