ILIAS  release_8 Revision v8.23
ilTermsOfServiceDocument Class Reference

Class ilTermsOfServiceDocument. More...

+ Inheritance diagram for ilTermsOfServiceDocument:
+ Collaboration diagram for ilTermsOfServiceDocument:

Public Member Functions

 content ()
 
 title ()
 
 id ()
 
 read ()
 
 buildFromArray (array $array)
 
 create ()
 
 update ()
 
 delete ()
 
 criteria ()
 
 attachCriterion (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment)
 
 detachCriterion (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment)
 
- Public Member Functions inherited from ActiveRecord
 getArConnector ()
 
 getArFieldList ()
 
 getConnectorContainerName ()
 Return the Name of your Connector Table More...
 
 setConnectorContainerName (string $connector_container_name)
 
 getPrimaryFieldValue ()
 
 setPrimaryFieldValue ($value)
 
 __construct ($primary_key=0)
 
 storeObjectToCache ()
 
 asStdClass ()
 
 buildFromArray (array $array)
 
 fixDateField ($field_name, $value)
 
 sleep ($field_name)
 
 wakeUp ($field_name, $field_value)
 
 getArrayForConnector ()
 
 installConnector ()
 
 store ()
 
 save ()
 
 create ()
 
 copy (int $new_id=0)
 
 afterObjectLoad ()
 
 read ()
 
 update ()
 
 delete ()
 
 __call ($name, $arguments)
 

Static Public Member Functions

static returnDbTableName ()
 
- Static Public Member Functions inherited from ActiveRecord
static returnDbTableName ()
 
static installDB ()
 
static renameDBField (string $old_name, string $new_name)
 
static tableExists ()
 
static fieldExists (string $field_name)
 
static removeDBField (string $field_name)
 
static updateDB ()
 
static resetDB ()
 
static truncateDB ()
 
static flushDB ()
 never use in ILIAS Core, Plugins only More...
 
static preloadObjects ()
 
static additionalParams (array $additional_params)
 
static findOrFail ($primary_key, array $add_constructor_args=array())
 Tries to find the object and throws an Exception if object is not found, instead of returning null. More...
 
static findOrGetInstance ($primary_key, array $add_constructor_args=array())
 
static where ($where, $operator=null)
 
static innerjoinAR (ActiveRecord $ar, $on_this, $on_external, array $fields=array(' *'), string $operator='=', $both_external=false)
 
static innerjoin ( $tablename, $on_this, $on_external, array $fields=array(' *'), string $operator='=', bool $both_external=false)
 
static leftjoin ( $tablename, $on_this, $on_external, array $fields=array(' *'), string $operator='=', bool $both_external=false)
 
static orderBy ($orderBy, string $orderDirection='ASC')
 
static dateFormat (string $date_format='d.m.Y - H:i:s')
 
static limit ($start, $end)
 
static affectedRows ()
 
static count ()
 
static get ()
 
static debug ()
 
static first ()
 
static getCollection ()
 
static last ()
 
static getFirstFromLastQuery ()
 
static connector (arConnector $connector)
 
static raw (bool $set_raw=true)
 
static getArray (?string $key=null, $values=null)
 
static _toCamelCase (string $str, bool $capitalise_first_char=false)
 

Protected Attributes

int $id = null
 
int $creation_ts = 0
 
int $modification_ts = 0
 
int $owner_usr_id = 0
 
int $last_modified_usr_id = 0
 
int $sorting = 0
 
string $title = null
 
string $text = ''
 
array $criteria = []
 
array $initialPersistedCriteria = []
 
- Protected Attributes inherited from ActiveRecord
bool $ar_safe_read = true
 
string $connector_container_name = ''
 
bool $is_new = true
 

Private Attributes

const TABLE_NAME = 'tos_documents'
 
bool $criteriaFetched = false
 

Additional Inherited Members

- Protected Member Functions inherited from ActiveRecord
 installDatabase ()
 
- Static Protected Member Functions inherited from ActiveRecord
static getCalledClass ()
 Returns an instance of the instatiated calling active record (needs to be done in static methods) : This should be cached somehow More...
 
static fromCamelCase (string $str)
 

Detailed Description

Member Function Documentation

◆ attachCriterion()

ilTermsOfServiceDocument::attachCriterion ( ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment)
Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment
Exceptions
ilTermsOfServiceDuplicateCriterionAssignmentException

Definition at line 201 of file class.ilTermsOfServiceDocument.php.

References criteria(), ilTermsOfServiceDocumentCriterionAssignment\getCriterionId(), and ilTermsOfServiceDocumentCriterionAssignment\getCriterionValue().

201  : void
202  {
203  foreach ($this->criteria as $currentAssignment) {
204  if ($currentAssignment->equals($criterionAssignment)) {
206  'Cannot attach duplicate criterion with criterion typeIdent %s and value: %s',
207  $criterionAssignment->getCriterionId(),
208  var_export($criterionAssignment->getCriterionValue(), true)
209  ));
210  }
211  }
212 
213  $this->criteria[] = $criterionAssignment;
214  }
+ Here is the call graph for this function:

◆ buildFromArray()

ilTermsOfServiceDocument::buildFromArray ( array  $array)

Definition at line 129 of file class.ilTermsOfServiceDocument.php.

129  : ActiveRecord
130  {
131  $document = parent::buildFromArray($array);
132 
133  $this->fetchAllCriterionAssignments();
134 
135  return $document;
136  }

◆ content()

ilTermsOfServiceDocument::content ( )

Implements ilTermsOfServiceSignableDocument.

Definition at line 107 of file class.ilTermsOfServiceDocument.php.

References $text.

107  : string
108  {
109  return $this->text;
110  }

◆ create()

ilTermsOfServiceDocument::create ( )

Definition at line 138 of file class.ilTermsOfServiceDocument.php.

References $criteria, criteria(), and ILIAS\Survey\Mode\getId().

138  : void
139  {
140  $this->setCreationTs(time());
141 
142  parent::create();
143 
144  foreach ($this->criteria as $criterionAssignment) {
145  $criterionAssignment->setDocId($this->getId());
146  $criterionAssignment->store();
147  }
148 
149  $this->initialPersistedCriteria = $this->criteria;
150  }
+ Here is the call graph for this function:

◆ criteria()

ilTermsOfServiceDocument::criteria ( )
Returns
ilTermsOfServiceEvaluableCriterion[]

Implements ilTermsOfServiceSignableDocument.

Definition at line 192 of file class.ilTermsOfServiceDocument.php.

References $criteria.

Referenced by attachCriterion(), create(), delete(), detachCriterion(), and update().

192  : array
193  {
194  return $this->criteria;
195  }
+ Here is the caller graph for this function:

◆ delete()

ilTermsOfServiceDocument::delete ( )

Definition at line 181 of file class.ilTermsOfServiceDocument.php.

References criteria().

181  : void
182  {
183  foreach ($this->initialPersistedCriteria as $criterionAssignment) {
184  $criterionAssignment->delete();
185  }
186 
187  $this->initialPersistedCriteria = $this->criteria = [];
188 
189  parent::delete();
190  }
+ Here is the call graph for this function:

◆ detachCriterion()

ilTermsOfServiceDocument::detachCriterion ( ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment)
Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment
Exceptions
OutOfBoundsException

Definition at line 220 of file class.ilTermsOfServiceDocument.php.

References $criteria, ActiveRecord\count(), criteria(), ilTermsOfServiceDocumentCriterionAssignment\equals(), ilTermsOfServiceDocumentCriterionAssignment\getCriterionId(), ilTermsOfServiceDocumentCriterionAssignment\getCriterionValue(), ILIAS\Survey\Mode\getId(), and ActiveRecord\where().

220  : void
221  {
222  $numCriteriaBeforeRemoval = count($this->criteria);
223 
224  $this->criteria = array_filter(
225  $this->criteria,
226  static function (ilTermsOfServiceDocumentCriterionAssignment $currentAssignment) use (
227  $criterionAssignment
228  ): bool {
229  return !$currentAssignment->equals($criterionAssignment);
230  }
231  );
232 
233  $numCriteriaAfterRemoval = count($this->criteria);
234 
235  if ($numCriteriaAfterRemoval === $numCriteriaBeforeRemoval) {
236  throw new OutOfBoundsException(sprintf(
237  'Could not find any criterion with criterion typeIdent %s and value: %s',
238  $criterionAssignment->getCriterionId(),
239  var_export($criterionAssignment->getCriterionValue(), true)
240  ));
241  }
242  }
+ Here is the call graph for this function:

◆ id()

ilTermsOfServiceDocument::id ( )

Implements ilTermsOfServiceSignableDocument.

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

References $id.

117  : int
118  {
119  return $this->id;
120  }

◆ read()

ilTermsOfServiceDocument::read ( )

Definition at line 122 of file class.ilTermsOfServiceDocument.php.

122  : void
123  {
124  parent::read();
125 
126  $this->fetchAllCriterionAssignments();
127  }

◆ returnDbTableName()

static ilTermsOfServiceDocument::returnDbTableName ( )
static

Definition at line 102 of file class.ilTermsOfServiceDocument.php.

102  : string
103  {
104  return self::TABLE_NAME;
105  }

◆ title()

ilTermsOfServiceDocument::title ( )

Implements ilTermsOfServiceSignableDocument.

Definition at line 112 of file class.ilTermsOfServiceDocument.php.

References $title.

112  : string
113  {
114  return $this->title;
115  }

◆ update()

ilTermsOfServiceDocument::update ( )

Definition at line 152 of file class.ilTermsOfServiceDocument.php.

References $criteria, ActiveRecord\count(), criteria(), and ILIAS\Survey\Mode\getId().

152  : void
153  {
154  $this->setModificationTs(time());
155 
156  foreach ($this->criteria as $criterionAssignment) {
157  $criterionAssignment->setDocId($this->getId());
158  $criterionAssignment->store();
159  }
160 
161  foreach ($this->initialPersistedCriteria as $criterionAssignment) {
162  $found = array_filter(
163  $this->criteria,
164  static function (ilTermsOfServiceDocumentCriterionAssignment $criterionToMatch) use (
165  $criterionAssignment
166  ): bool {
167  return $criterionToMatch->getId() === $criterionAssignment->getId();
168  }
169  );
170 
171  if (0 === count($found)) {
172  $criterionAssignment->delete();
173  }
174  }
175 
176  $this->initialPersistedCriteria = $this->criteria;
177 
178  parent::update();
179  }
+ Here is the call graph for this function:

Field Documentation

◆ $creation_ts

int ilTermsOfServiceDocument::$creation_ts = 0
protected

Definition at line 45 of file class.ilTermsOfServiceDocument.php.

◆ $criteria

array ilTermsOfServiceDocument::$criteria = []
protected

Definition at line 95 of file class.ilTermsOfServiceDocument.php.

Referenced by create(), criteria(), detachCriterion(), and update().

◆ $criteriaFetched

bool ilTermsOfServiceDocument::$criteriaFetched = false
private

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

◆ $id

int ilTermsOfServiceDocument::$id = null
protected

Definition at line 37 of file class.ilTermsOfServiceDocument.php.

Referenced by id().

◆ $initialPersistedCriteria

array ilTermsOfServiceDocument::$initialPersistedCriteria = []
protected

Definition at line 98 of file class.ilTermsOfServiceDocument.php.

◆ $last_modified_usr_id

int ilTermsOfServiceDocument::$last_modified_usr_id = 0
protected

Definition at line 69 of file class.ilTermsOfServiceDocument.php.

◆ $modification_ts

int ilTermsOfServiceDocument::$modification_ts = 0
protected

Definition at line 53 of file class.ilTermsOfServiceDocument.php.

◆ $owner_usr_id

int ilTermsOfServiceDocument::$owner_usr_id = 0
protected

Definition at line 61 of file class.ilTermsOfServiceDocument.php.

◆ $sorting

int ilTermsOfServiceDocument::$sorting = 0
protected

Definition at line 77 of file class.ilTermsOfServiceDocument.php.

◆ $text

string ilTermsOfServiceDocument::$text = ''
protected

Definition at line 92 of file class.ilTermsOfServiceDocument.php.

Referenced by content().

◆ $title

string ilTermsOfServiceDocument::$title = null
protected

Definition at line 85 of file class.ilTermsOfServiceDocument.php.

Referenced by title().

◆ TABLE_NAME

const ilTermsOfServiceDocument::TABLE_NAME = 'tos_documents'
private

Definition at line 27 of file class.ilTermsOfServiceDocument.php.


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