ILIAS  trunk Revision v11.0_alpha-1866-gfa368f7776e
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilIndividualAssessmentSettingsStorageDB Class Reference

A settings storage handler to write iass settings to db. More...

+ Inheritance diagram for ilIndividualAssessmentSettingsStorageDB:
+ Collaboration diagram for ilIndividualAssessmentSettingsStorageDB:

Public Member Functions

 __construct (ilDBInterface $db)
 
 createSettings (ilIndividualAssessmentSettings $settings)
 Create an entry corresponding to $settings. More...
 
 loadSettings (ilObjIndividualAssessment $obj)
 Load settings corresponding to obj. More...
 
 updateSettings (ilIndividualAssessmentSettings $settings)
 Update settings entry. More...
 
 loadInfoSettings (ilObjIndividualAssessment $obj)
 Load info-screen settings corresponding to obj. More...
 
 updateInfoSettings (ilIndividualAssessmentInfoSettings $settings)
 Update info-screen settings entry. More...
 
 deleteSettings (ilObjIndividualAssessment $obj)
 Delete settings entry corresponding to obj. More...
 

Data Fields

const IASS_SETTINGS_TABLE = "iass_settings"
 
const IASS_SETTINGS_INFO_TABLE = "iass_info_settings"
 

Protected Attributes

ilDBInterface $db
 

Detailed Description

A settings storage handler to write iass settings to db.

Definition at line 24 of file class.ilIndividualAssessmentSettingsStorageDB.php.

Constructor & Destructor Documentation

◆ __construct()

ilIndividualAssessmentSettingsStorageDB::__construct ( ilDBInterface  $db)

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

References $db.

Member Function Documentation

◆ createSettings()

ilIndividualAssessmentSettingsStorageDB::createSettings ( ilIndividualAssessmentSettings  $settings)

Create an entry corresponding to $settings.

Implements ilIndividualAssessmentSettingsStorage.

Definition at line 39 of file class.ilIndividualAssessmentSettingsStorageDB.php.

References ilIndividualAssessmentSettings\getContent(), ilIndividualAssessmentSettings\getObjId(), ilIndividualAssessmentSettings\getRecordTemplate(), ilIndividualAssessmentSettings\isEventTimePlaceRequired(), and ilIndividualAssessmentSettings\isFileRequired().

39  : void
40  {
41  $values = [
42  "obj_id" => ["integer", $settings->getObjId()],
43  "content" => ["text", $settings->getContent()],
44  "record_template" => ["text", $settings->getRecordTemplate()],
45  "event_time_place_required" => ["integer", $settings->isEventTimePlaceRequired()],
46  "file_required" => ["integer", $settings->isFileRequired()]
47  ];
48 
49  $this->db->insert(self::IASS_SETTINGS_TABLE, $values);
50 
51  $values = ["obj_id" => ["integer", $settings->getObjId()]];
52  $this->db->insert(self::IASS_SETTINGS_INFO_TABLE, $values);
53  }
isEventTimePlaceRequired()
Get the value of the checkbox event_time_place_require.
getObjId()
Get the id of corresponding iass-object.
getContent()
Get the content of this assessment, e.g.
isFileRequired()
Get the value of the checkbox file_required.
getRecordTemplate()
Get the record template to be used as default record with corresponding object.
+ Here is the call graph for this function:

◆ deleteSettings()

ilIndividualAssessmentSettingsStorageDB::deleteSettings ( ilObjIndividualAssessment  $obj)

Delete settings entry corresponding to obj.

Implements ilIndividualAssessmentSettingsStorage.

Definition at line 168 of file class.ilIndividualAssessmentSettingsStorageDB.php.

References ilObject\getId().

168  : void
169  {
170  $sql = "DELETE FROM " . self::IASS_SETTINGS_TABLE . " WHERE obj_id = %s";
171  $this->db->manipulateF($sql, array("integer"), array($obj->getId()));
172 
173  $sql = "DELETE FROM " . self::IASS_SETTINGS_INFO_TABLE . " WHERE obj_id = %s";
174  $this->db->manipulateF($sql, array("integer"), array($obj->getId()));
175  }
+ Here is the call graph for this function:

◆ loadInfoSettings()

ilIndividualAssessmentSettingsStorageDB::loadInfoSettings ( ilObjIndividualAssessment  $obj)

Load info-screen settings corresponding to obj.

Implements ilIndividualAssessmentSettingsStorage.

Definition at line 117 of file class.ilIndividualAssessmentSettingsStorageDB.php.

References ilObject\_exists(), and ilObject\getId().

Referenced by ilObjIndividualAssessment\read().

118  {
119  if (!ilObjIndividualAssessment::_exists($obj->getId(), false, 'iass')) {
120  return new ilIndividualAssessmentInfoSettings($obj->getId());
121  }
122 
123  $sql =
124  "SELECT contact, responsibility, phone, mails, consultation_hours" . PHP_EOL
125  . "FROM " . self::IASS_SETTINGS_INFO_TABLE . PHP_EOL
126  . "WHERE obj_id = " . $this->db->quote($obj->getId(), 'integer') . PHP_EOL
127  ;
128 
129  $result = $this->db->query($sql);
130 
131  if ($this->db->numRows($result) == 0) {
132  throw new ilIndividualAssessmentException($obj->getId() . " not in database");
133  }
134 
135  $row = $this->db->fetchAssoc($result);
136 
138  $obj->getId(),
139  $row["contact"],
140  $row["responsibility"],
141  $row['phone'],
142  $row['mails'],
143  $row['consultation_hours']
144  );
145  }
static _exists(int $id, bool $reference=false, ?string $type=null)
checks if an object exists in object_data
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadSettings()

ilIndividualAssessmentSettingsStorageDB::loadSettings ( ilObjIndividualAssessment  $obj)

Load settings corresponding to obj.

Implements ilIndividualAssessmentSettingsStorage.

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

References ilObject\_exists(), ilObject\getDescription(), ilObject\getId(), and ilObject\getTitle().

Referenced by ilObjIndividualAssessment\read().

59  {
60  if (!ilObjIndividualAssessment::_exists($obj->getId(), false, 'iass')) {
62  $obj->getId(),
63  '',
64  '',
65  '',
66  '',
67  false,
68  false
69  );
70  }
71 
72  $sql =
73  "SELECT content, record_template, event_time_place_required, file_required" . PHP_EOL
74  . "FROM " . self::IASS_SETTINGS_TABLE . PHP_EOL
75  . "WHERE obj_id = " . $this->db->quote($obj->getId(), 'integer') . PHP_EOL
76  ;
77 
78  $result = $this->db->query($sql);
79 
80  if ($this->db->numRows($result) == 0) {
81  throw new ilIndividualAssessmentException($obj->getId() . " not in database");
82  }
83 
84  $row = $this->db->fetchAssoc($result);
85 
87  $obj->getId(),
88  $obj->getTitle(),
89  $obj->getDescription(),
90  $row["content"],
91  $row["record_template"],
92  (bool) $row["event_time_place_required"],
93  (bool) $row['file_required']
94  );
95  }
An object carrying settings of an Individual Assessment obj beyond the standard information.
static _exists(int $id, bool $reference=false, ?string $type=null)
checks if an object exists in object_data
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateInfoSettings()

ilIndividualAssessmentSettingsStorageDB::updateInfoSettings ( ilIndividualAssessmentInfoSettings  $settings)

Update info-screen settings entry.

Implements ilIndividualAssessmentSettingsStorage.

Definition at line 150 of file class.ilIndividualAssessmentSettingsStorageDB.php.

References ilIndividualAssessmentInfoSettings\getConsultationHours(), ilIndividualAssessmentInfoSettings\getContact(), ilIndividualAssessmentInfoSettings\getMails(), ilIndividualAssessmentInfoSettings\getObjId(), ilIndividualAssessmentInfoSettings\getPhone(), and ilIndividualAssessmentInfoSettings\getResponsibility().

150  : void
151  {
152  $where = ["obj_id" => ["integer", $settings->getObjId()]];
153 
154  $values = [
155  "contact" => ["text", $settings->getContact()],
156  "responsibility" => ["text", $settings->getResponsibility()],
157  "phone" => ["text", $settings->getPhone()],
158  "mails" => ["text", $settings->getMails()],
159  "consultation_hours" => ["text", $settings->getConsultationHours()]
160  ];
161 
162  $this->db->update(self::IASS_SETTINGS_INFO_TABLE, $values, $where);
163  }
+ Here is the call graph for this function:

◆ updateSettings()

ilIndividualAssessmentSettingsStorageDB::updateSettings ( ilIndividualAssessmentSettings  $settings)

Update settings entry.

Implements ilIndividualAssessmentSettingsStorage.

Definition at line 100 of file class.ilIndividualAssessmentSettingsStorageDB.php.

References ilIndividualAssessmentSettings\getContent(), ilIndividualAssessmentSettings\getObjId(), ilIndividualAssessmentSettings\getRecordTemplate(), ilIndividualAssessmentSettings\isEventTimePlaceRequired(), and ilIndividualAssessmentSettings\isFileRequired().

100  : void
101  {
102  $where = ["obj_id" => ["integer", $settings->getObjId()]];
103 
104  $values = [
105  "content" => ["text", $settings->getContent()],
106  "record_template" => ["text", $settings->getRecordTemplate()],
107  "event_time_place_required" => ["integer", $settings->isEventTimePlaceRequired()],
108  "file_required" => ["integer", $settings->isFileRequired()]
109  ];
110 
111  $this->db->update(self::IASS_SETTINGS_TABLE, $values, $where);
112  }
isEventTimePlaceRequired()
Get the value of the checkbox event_time_place_require.
getObjId()
Get the id of corresponding iass-object.
getContent()
Get the content of this assessment, e.g.
isFileRequired()
Get the value of the checkbox file_required.
getRecordTemplate()
Get the record template to be used as default record with corresponding object.
+ Here is the call graph for this function:

Field Documentation

◆ $db

ilDBInterface ilIndividualAssessmentSettingsStorageDB::$db
protected

Definition at line 29 of file class.ilIndividualAssessmentSettingsStorageDB.php.

Referenced by __construct().

◆ IASS_SETTINGS_INFO_TABLE

const ilIndividualAssessmentSettingsStorageDB::IASS_SETTINGS_INFO_TABLE = "iass_info_settings"

◆ IASS_SETTINGS_TABLE

const ilIndividualAssessmentSettingsStorageDB::IASS_SETTINGS_TABLE = "iass_settings"

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