19declare(strict_types=1);
61 return $this->
refinery->custom()->transformation(
function ($data) {
62 $export_hooks_path =
null;
63 if (key_exists(
"export_hooks_path",
$data)) {
64 $export_hooks_path =
$data[
"export_hooks_path"];
66 $datetimezone = $this->
refinery->to()->toNew(\DateTimeZone::class);
67 return new \ilSetupConfig(
68 $this->data->clientId(
$data[
"client_id"] ??
''),
69 $datetimezone->transform([
$data[
"server_timezone"] ??
"UTC"]),
70 $data[
"register_nic"] ??
false,
85 "Complete common ILIAS objectives.",
87 new Setup\Condition\PHPVersionCondition(self::PHP_MIN_VERSION, self::PHP_MAX_VERSION,
true),
88 new Setup\Condition\PHPExtensionLoadedCondition(
"dom"),
89 new Setup\Condition\PHPExtensionLoadedCondition(
"xsl"),
90 new Setup\Condition\PHPExtensionLoadedCondition(
"gd"),
101 "PHP memory limit >= " . self::PHP_MEMORY_LIMIT,
103 $limit = ini_get(
"memory_limit");
107 $expected = $this->data->dataSize(self::PHP_MEMORY_LIMIT);
108 $current = $this->data->dataSize($limit);
109 return $current->inBytes() >= $expected->inBytes();
111 "To properly execute ILIAS, please take care that the PHP memory limit is at least set to 128M."
123 new Setup\Condition\PHPVersionCondition(self::PHP_MIN_VERSION, self::PHP_MAX_VERSION,
true),
129 if ($config !==
null) {
135 "Complete common ILIAS objectives.",
171 if (is_null($config)) {
172 throw new \RuntimeException(
173 "Missing Config for objective 'registerNICKey'."
181 "Build ILIAS export zip",
183 if (is_null($config)) {
184 throw new \RuntimeException(
185 "Missing Config for objective 'buildExportZip'."
Builds a Color from either hex- or rgb values.
A condition that can't be met by ILIAS itself needs to be met by some external means.
A objective collection is a objective that is achieved once all subobjectives are achieved.
A non-objective, nothing to do to achieve it...
A wrapper around an objective that adds some preconditions.
Contains common objectives for the setup.
getPHPMemoryLimitCondition()
Refinery Factory $refinery
__construct(Refinery\Factory $refinery, Data\Factory $data)
getUpdateObjective(?Setup\Config $config=null)
getArrayToConfigTransformation()
getStatusObjective(Setup\Metrics\Storage $storage)
getMigrations()
@inheritDoc
getInstallObjective(?Setup\Config $config=null)
getNamedObjectives(?Config $config=null)
There seems to already exist an ILIAS installation, an interaction with it should be confirmed.
A agent is some component that performs part of the setup process.
A configuration for the setup.
An environment holds resources to be used in the setup process.
An objective is a desired state of the system that is supposed to be created by the setup.
Storage is simple key/value store without further schema definition.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...