ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilNICKeyStoredObjective.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 
5 use ILIAS\Setup;
6 
8 {
9  public function getHash() : string
10  {
11  return hash("sha256", self::class);
12  }
13 
14  public function getLabel() : string
15  {
16  return "A NIC key for the installation is generated and stored";
17  }
18 
19  public function isNotable() : bool
20  {
21  return true;
22  }
23 
24  public function getPreconditions(Setup\Environment $environment) : array
25  {
26  return [
27  new \ilSettingsFactoryExistsObjective()
28  ];
29  }
30 
31  public function achieve(Setup\Environment $environment) : Setup\Environment
32  {
33  $factory = $environment->getResource(Setup\Environment::RESOURCE_SETTINGS_FACTORY);
34  $settings = $factory->settingsFor("common");
35 
36  if ($settings->get("nic_key")) {
37  return $environment;
38  }
39 
40  $nic_key = $this->generateNICKey();
41  $settings->set("nic_key", $nic_key);
42 
43  return $environment;
44  }
45 
46  protected function generateNICKey()
47  {
48  return md5(uniqid($this->getClientId(), true));
49  }
50 }
achieve(Setup\Environment $environment)
getPreconditions(Setup\Environment $environment)
An environment holds resources to be used in the setup process.
Definition: Environment.php:11
$factory
Definition: metadata.php:58