19 declare(strict_types=1);
62 return $this->
refinery->custom()->transformation(
function ($data) {
63 $datetimezone = $this->
refinery->to()->toNew(\DateTimeZone::class);
64 return new \ilSetupConfig(
65 $this->data->clientId($data[
"client_id"] ??
''),
66 $datetimezone->transform([$data[
"server_timezone"] ??
"UTC"]),
67 $data[
"register_nic"] ?? false
77 return new Setup\Objective\ObjectiveWithPreconditions(
81 "Complete common ILIAS objectives.",
83 new Setup\Condition\PHPVersionCondition(self::PHP_MIN_VERSION, self::PHP_MAX_VERSION,
true),
84 new Setup\Condition\PHPExtensionLoadedCondition(
"dom"),
85 new Setup\Condition\PHPExtensionLoadedCondition(
"xsl"),
86 new Setup\Condition\PHPExtensionLoadedCondition(
"gd"),
91 :
new Setup\ObjectiveCollection(
103 return new Setup\Condition\ExternalConditionObjective(
104 "PHP memory limit >= " . self::PHP_MEMORY_LIMIT,
106 $limit = ini_get(
"memory_limit");
110 $expected = $this->data->dataSize(self::PHP_MEMORY_LIMIT);
111 $current = $this->data->dataSize($limit);
112 return $current->inBytes() >= $expected->inBytes();
114 "To properly execute ILIAS, please take care that the PHP memory limit is at least set to 128M." 124 new Setup\Objective\ObjectiveWithPreconditions(
126 new Setup\Condition\PHPVersionCondition(self::PHP_MIN_VERSION, self::PHP_MAX_VERSION,
true),
135 return new Setup\ObjectiveCollection(
136 "Complete common ILIAS objectives.",
147 return new Setup\Objective\NullObjective();
169 "registerNICKey" =>
new Setup\ObjectiveConstructor(
173 throw new \RuntimeException(
174 "Missing Config for objective 'registerNICKey'." A objective collection is a objective that is achieved once all subobjectives are achieved...
getPHPMemoryLimitCondition()
getStatusObjective(Setup\Metrics\Storage $storage)
getArrayToConfigTransformation()
An objective is a desired state of the system that is supposed to be created by the setup...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getUpdateObjective(Setup\Config $config=null)
There seems to already exist an ILIAS installation, an interaction with it should be confirmed...
getInstallObjective(Setup\Config $config=null)
getBuildArtifactObjective()
__construct(Refinery\Factory $refinery, Data\Factory $data)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
An environment holds resources to be used in the setup process.
getNamedObjectives(?Config $config=null)
Refinery Factory $refinery
A configuration for the setup.