19 declare(strict_types=1);
26 protected \ilFileSystemSetupConfig
$config;
36 return hash(
"sha256", self::class);
41 return "ILIAS directories are created";
54 $client_id = $environment->getResource(Setup\Environment::RESOURCE_CLIENT_ID);
56 $web_dir = dirname(__DIR__, 4) .
"/data";
57 $root = dirname(__DIR__, 4);
62 $web_dir_objective =
new Setup\Objective\DirectoryCreatedObjective($client_web_dir);
63 $data_dir_objective =
new Setup\Objective\DirectoryCreatedObjective($client_data_dir);
64 $customizing_dir_objective =
new Setup\Objective\NullObjective();
66 if ($environment->hasConfigFor(Setup\CLI\InstallCommand::IMPORT)) {
67 $tmp_dir = $environment->getConfigFor(
"tmp_dir");
74 $tmp_dir . DIRECTORY_SEPARATOR .
"web_data",
85 $tmp_dir . DIRECTORY_SEPARATOR .
"data",
92 $tmp_dir . DIRECTORY_SEPARATOR .
"Customizing",
93 $root .
"/Customizing",
101 new Setup\Objective\DirectoryCreatedObjective(
$data_dir),
102 new Setup\Objective\DirectoryCreatedObjective($web_dir),
105 $customizing_dir_objective
111 $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
113 $ini->setVariable(
"clients",
"datadir", $this->config->getDataDir());
114 if (!
$ini->write()) {
115 throw new Setup\UnachievableException(
"Could not write ilias.ini.php");
118 if ($environment->hasConfigFor(
"tmp_dir")) {
119 $tmp_dir = $environment->getConfigFor(
"tmp_dir");
120 if (!is_null($tmp_dir)) {
133 if ($environment->hasConfigFor(Setup\CLI\InstallCommand::IMPORT)) {
137 $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
139 return $ini->readVariable(
"clients",
"datadir") !== $this->config->getDataDir();
144 if (is_file($path)) {
151 RecursiveIteratorIterator::CHILD_FIRST
154 foreach ($files as $file_info) {
155 if ($file_info->isDir()) {
156 rmdir($file_info->getRealPath());
159 unlink($file_info->getRealPath());
162 if ($delete_base_dir) {
__construct(\ilFileSystemSetupConfig $config)
ilFileSystemSetupConfig $config
deleteRecursive(string $path, bool $delete_base_dir=false)
isApplicable(Setup\Environment $environment)
A wrapper around an objective that adds some preconditions.
getPreconditions(Setup\Environment $environment)
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.
achieve(Setup\Environment $environment)