ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
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
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}
An exception for terminatinating execution or to throw for unit testing.
getPreconditions(Setup\Environment $environment)
achieve(Setup\Environment $environment)
An environment holds resources to be used in the setup process.
Definition: Environment.php:12
$factory
Definition: metadata.php:58