ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilFileSystemDirectoriesCreatedObjective Class Reference
+ Inheritance diagram for ilFileSystemDirectoriesCreatedObjective:
+ Collaboration diagram for ilFileSystemDirectoriesCreatedObjective:

Public Member Functions

 __construct (\ilFileSystemSetupConfig $config)
 
 getHash ()
 
 getLabel ()
 
 isNotable ()
 
 getPreconditions (Setup\Environment $environment)
 
 achieve (Setup\Environment $environment)
 
 isApplicable (Setup\Environment $environment)
 

Protected Attributes

 $config
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilFileSystemDirectoriesCreatedObjective::__construct ( \ilFileSystemSetupConfig  $config)

Member Function Documentation

◆ achieve()

ilFileSystemDirectoriesCreatedObjective::achieve ( Setup\Environment  $environment)

Definition at line 58 of file class.ilFileSystemDirectoriesCreatedObjective.php.

References $ini.

58  : Setup\Environment
59  {
60  $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
61 
62  $ini->setVariable("clients", "datadir", $this->config->getDataDir());
63 
64  if (!$ini->write()) {
65  throw new Setup\UnachievableException("Could not write ilias.ini.php");
66  }
67 
68  return $environment;
69  }
$ini
Definition: raiseError.php:4

◆ getHash()

ilFileSystemDirectoriesCreatedObjective::getHash ( )

Definition at line 21 of file class.ilFileSystemDirectoriesCreatedObjective.php.

21  : string
22  {
23  return hash("sha256", self::class);
24  }

◆ getLabel()

ilFileSystemDirectoriesCreatedObjective::getLabel ( )

Definition at line 26 of file class.ilFileSystemDirectoriesCreatedObjective.php.

26  : string
27  {
28  return "ILIAS directories are created";
29  }

◆ getPreconditions()

ilFileSystemDirectoriesCreatedObjective::getPreconditions ( Setup\Environment  $environment)

Definition at line 36 of file class.ilFileSystemDirectoriesCreatedObjective.php.

References $client_id.

36  : array
37  {
38  $client_id = $environment->getResource(Setup\Environment::RESOURCE_CLIENT_ID);
39  $data_dir = $this->config->getDataDir();
40  $web_dir = dirname(__DIR__, 4) . "/data";
41 
42  $client_data_dir = $data_dir . '/' . $client_id;
43  $client_web_dir = $web_dir . '/' . $client_id;
44 
45  return [
47  new Setup\Objective\DirectoryCreatedObjective($data_dir),
48  new Setup\Objective\DirectoryCreatedObjective($web_dir),
49  new Setup\Objective\DirectoryCreatedObjective(
50  $client_web_dir
51  ),
52  new Setup\Objective\DirectoryCreatedObjective(
53  $client_data_dir
54  )
55  ];
56  }
$client_id
Definition: webdav.php:17

◆ isApplicable()

ilFileSystemDirectoriesCreatedObjective::isApplicable ( Setup\Environment  $environment)

Definition at line 74 of file class.ilFileSystemDirectoriesCreatedObjective.php.

References $ini.

74  : bool
75  {
76  $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
77 
78  return $ini->readVariable("clients", "datadir") !== $this->config->getDataDir();
79  }
$ini
Definition: raiseError.php:4

◆ isNotable()

ilFileSystemDirectoriesCreatedObjective::isNotable ( )

Definition at line 31 of file class.ilFileSystemDirectoriesCreatedObjective.php.

31  : bool
32  {
33  return false;
34  }

Field Documentation

◆ $config

ilFileSystemDirectoriesCreatedObjective::$config
protected

Definition at line 13 of file class.ilFileSystemDirectoriesCreatedObjective.php.

Referenced by __construct().


The documentation for this class was generated from the following file: