ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilLoggingErrorSettings.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 2016 Stefan Hecken, Extended GPL, see docs/LICENSE */
3
10{
11 protected $folder;
12 protected $mail;
13
14 protected function __construct()
15 {
16 global $DIC;
17
18 $ilIliasIniFile = $DIC['ilIliasIniFile'];
19 // temporary bugfix for global usage
20 if ($DIC->offsetExists('ini')) {
21 $ini = $DIC['ini'];
22 }
23
24 $ilClientIniFile = null;
25 if (isset($DIC['ilClientIniFile'])) {
26 $ilClientIniFile = $DIC['ilClientIniFile'];
27 }
28
29 //realy not nice but necessary to initalize logger at setup
30 //ilias_ini is named only as $ini in inc.setup_header.php
31 if (!$ilIliasIniFile) {
32 if (!$ini) {
33 throw new Exception("No ILIAS ini");
34 } else {
35 $this->ilias_ini = $ini;
36 }
37 } else {
38 $this->ilias_ini = $ilIliasIniFile;
39 }
40
41 if ($ilClientIniFile !== null) {
42 $this->gClientIniFile = $ilClientIniFile;
43 }
44
45 $this->folder = null;
46 $this->mail = null;
47
48 $this->read();
49 }
50
51 public static function getInstance()
52 {
53 return new ilLoggingErrorSettings();
54 }
55
56 protected function setFolder($folder)
57 {
58 $this->folder = $folder;
59 }
60
61 public function setMail($mail)
62 {
63 $this->mail = $mail;
64 }
65
66 public function folder()
67 {
68 return $this->folder;
69 }
70
71 public function mail()
72 {
73 return $this->mail;
74 }
75
79 protected function read()
80 {
81 $this->setFolder($this->ilias_ini->readVariable("log", "error_path"));
82
83 if ($this->gClientIniFile instanceof \ilIniFile) {
84 $this->setMail($this->gClientIniFile->readVariable("log", "error_recipient"));
85 }
86 }
87
91 public function update()
92 {
93 if ($this->gClientIniFile instanceof \ilIniFile) {
94 $this->gClientIniFile->addGroup("log");
95 $this->gClientIniFile->setVariable("log", "error_recipient", trim($this->mail()));
96 $this->gClientIniFile->write();
97 }
98 }
99}
An exception for terminatinating execution or to throw for unit testing.
INIFile Parser.
Settings for the error protcoll system.
read()
reads the values from ilias.ini.php
update()
writes mail recipient into client.ini.php
global $DIC
Definition: goto.php:24
$ilIliasIniFile
Definition: imgupload.php:16
$ini
Definition: raiseError.php:4