ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilStyleConfigStoredObjective.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 
5 
6 use ILIAS\Setup;
7 
8 class ilStyleConfigStoredObjective implements Setup\Objective
9 {
13  protected $config;
14 
15  public function __construct(
17  ) {
18  $this->config = $config;
19  }
20 
21  public function getHash() : string
22  {
23  return hash("sha256", self::class);
24  }
25 
26  public function getLabel() : string
27  {
28  return "Fill ini with settings for Services/Style";
29  }
30 
31  public function isNotable() : bool
32  {
33  return false;
34  }
35 
36  public function getPreconditions(Setup\Environment $environment) : array
37  {
38  return [
40  ];
41  }
42 
43  public function achieve(Setup\Environment $environment) : Setup\Environment
44  {
45  $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
46 
47  $ini->setVariable("tools", "lessc", $this->config->getPathToLessc());
48  $ini->setVariable("tools", "enable_system_styles_management", $this->config->getManageSystemStyles() ? "1" : "0");
49 
50  if (!$ini->write()) {
51  throw new Setup\UnachievableException("Could not write ilias.ini.php");
52  }
53 
54  return $environment;
55  }
56 
60  public function isApplicable(Setup\Environment $environment) : bool
61  {
62  $ini = $environment->getResource(Setup\Environment::RESOURCE_ILIAS_INI);
63  $manage_system_styles = $this->config->getManageSystemStyles() ? "1" : "0";
64 
65  return
66  $ini->readVariable("tools", "lessc") !== $this->config->getPathToLessc() ||
67  $ini->readVariable("tools", "enable_system_styles_management") !== $manage_system_styles
68  ;
69  }
70 }
getPreconditions(Setup\Environment $environment)
isApplicable(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.
Definition: Environment.php:11
$ini
Definition: raiseError.php:4