ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository Class Reference
+ Inheritance diagram for ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository:
+ Collaboration diagram for ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository:

Public Member Functions

 __construct (private readonly string $id, private readonly ilDBInterface $database, private readonly UserAction $action,)
 
 createDocument (string $title, DocumentContent $content)
 
 createCriterion (Document $document, CriterionContent $content)
 
 deleteDocument (Document $document)
 
 deleteCriterion (int $criterion_id)
 
 updateDocumentTitle (DocumentId $document_id, string $title)
 
 updateDocumentContent (DocumentId $document_id, DocumentContent $content)
 
 updateDocumentOrder (DocumentId $document_id, int $order)
 
 updateCriterionContent (int $criterion_id, CriterionContent $content)
 
 countAll ()
 
 all (int $offset=0, ?int $limit=null)
 
 select (array $ids)
 
 find (int $id)
 
 findId (DocumentId $document_id)
 
 documentFromRow (array $row, array $criteria)
 
 documentTable ()
 
 exists (string $doc_id_name)
 
 all (int $offset=0, ?int $limit=null)
 
 countAll ()
 
 select (array $ids)
 
 find (int $id)
 
 findId (DocumentId $document_id)
 
 createDocument (string $title, DocumentContent $content)
 
 createCriterion (Document $document, CriterionContent $content)
 
 deleteDocument (Document $document)
 
 deleteCriterion (int $criterion_id)
 
 updateDocumentTitle (DocumentId $document_id, string $title)
 
 updateDocumentContent (DocumentId $document_id, DocumentContent $content)
 
 updateDocumentOrder (DocumentId $document_id, int $order)
 
 updateCriterionContent (int $criterion_id, CriterionContent $content)
 
 documentFromRow (array $row, array $criteria)
 
 documentTable ()
 
 exists (string $doc_id_name)
 
 find (int $id)
 

Private Member Functions

 updateDocument (DocumentId $document_id, array $fields_and_values, bool $silent=false)
 
 setDocFields (array $fields_and_values, int $doc_id, bool $silent)
 
 lazyDocFields (array $fields_and_values, string $hash, bool $silent)
 
 criterionFields (CriterionContent $content)
 
 queryDocuments (string $where='1', string $limit='')
 
 criterionFromRow (array $row)
 
 criterionTable ()
 
 insert (string $table, array $fields_and_values)
 
 update (int $id, string $table, array $fields_and_values)
 
 cleanupCriteria ()
 
 nextSorting ()
 
 findHash (string $hash)
 
 first (array $array, string $message)
 

Detailed Description

Definition at line 40 of file DatabaseDocumentRepository.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::__construct ( private readonly string  $id,
private readonly ilDBInterface  $database,
private readonly UserAction  $action 
)

Definition at line 44 of file DatabaseDocumentRepository.php.

48 {
49 }

Member Function Documentation

◆ all()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::all ( int  $offset = 0,
?int  $limit = null 
)
Returns
Document[]

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 142 of file DatabaseDocumentRepository.php.

142 : array
143 {
144 return $this->queryDocuments('1', $limit === null ? '' : ' LIMIT ' . $offset . ', ' . $limit);
145 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\queryDocuments().

+ Here is the call graph for this function:

◆ cleanupCriteria()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::cleanupCriteria ( )
private

Definition at line 346 of file DatabaseDocumentRepository.php.

346 : void
347 {
348 $criteria = $this->criterionTable();
349 $documents = $this->documentTable();
350 // The provider is not specified because this statement cleans up dead criteria independent of the provider.
351 $this->database->manipulate("DELETE FROM $criteria WHERE doc_id NOT IN (SELECT id FROM $documents)");
352 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\criterionTable(), ILIAS\Repository\database(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable().

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\deleteDocument().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ countAll()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::countAll ( )

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 134 of file DatabaseDocumentRepository.php.

134 : int
135 {
136 return (int) current($this->queryF('SELECT COUNT(1) as c FROM ' . $this->documentTable() . ' WHERE provider = %s', [$this->id]))['c'];
137 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable().

+ Here is the call graph for this function:

◆ createCriterion()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::createCriterion ( Document  $document,
CriterionContent  $content 
)

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 65 of file DatabaseDocumentRepository.php.

65 : void
66 {
67 $creation = $this->action->modifiedNow();
68 $this->insert($this->criterionTable(), [
69 'doc_id' => $document->id(),
70 'assigned_ts' => $creation->time(),
71 'owner_usr_id' => $creation->user(),
72 ...$this->criterionFields($content),
73 ]);
74 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\criterionTable(), ILIAS\LegalDocuments\Value\Document\id(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\insert().

+ Here is the call graph for this function:

◆ createDocument()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::createDocument ( string  $title,
DocumentContent  $content 
)

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 51 of file DatabaseDocumentRepository.php.

51 : void
52 {
53 $creation = $this->action->modifiedNow();
54 $this->insert($this->documentTable(), [
55 'title' => $title,
56 'creation_ts' => $creation->time(),
57 'owner_usr_id' => $creation->user(),
58 'text' => $content->value(),
59 'type' => $content->type(),
60 'sorting' => $this->nextSorting(),
61 'provider' => $this->id,
62 ]);
63 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\insert(), ILIAS\LegalDocuments\Value\DocumentContent\type(), and ILIAS\LegalDocuments\Value\DocumentContent\value().

+ Here is the call graph for this function:

◆ criterionFields()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::criterionFields ( CriterionContent  $content)
private
Returns
array<string, string>

Definition at line 268 of file DatabaseDocumentRepository.php.

268 : array
269 {
270 return [
271 'criterion_id' => $content->type(),
272 'criterion_value' => json_encode($content->arguments()),
273 ];
274 }

References ILIAS\LegalDocuments\Value\CriterionContent\arguments(), and ILIAS\LegalDocuments\Value\CriterionContent\type().

+ Here is the call graph for this function:

◆ criterionFromRow()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::criterionFromRow ( array  $row)
private

Definition at line 308 of file DatabaseDocumentRepository.php.

308 : Criterion
309 {
310 return new Criterion(
311 (int) $row['id'],
313 $row['criterion_id'],
314 json_decode($row['criterion_value'], true)
315 ),
316 new Edit((int) $row['last_modified_usr_id'], new DateTimeImmutable('@' . $row['modification_ts'])),
317 new Edit((int) $row['owner_usr_id'], new DateTimeImmutable('@' . $row['assigned_ts']))
318 );
319 }

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\queryDocuments().

+ Here is the caller graph for this function:

◆ criterionTable()

◆ deleteCriterion()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::deleteCriterion ( int  $criterion_id)

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 88 of file DatabaseDocumentRepository.php.

88 : void
89 {
90 $table = $this->criterionTable();
91 $id = $this->database->quote($criterion_id, ilDBConstants::T_INTEGER);
92 $this->database->manipulate("DELETE FROM $table WHERE id = $id AND " . $this->exists($table . '.doc_id'));
93 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

References $id, ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\criterionTable(), ILIAS\Repository\database(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\exists(), and ilDBConstants\T_INTEGER.

+ Here is the call graph for this function:

◆ deleteDocument()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::deleteDocument ( Document  $document)

◆ documentFromRow()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::documentFromRow ( array  $row,
array  $criteria 
)
Parameters
array{creation_ts: string, id: string, last_modified_usr_id: string, modification_ts: string, owner_usr_id: string, sorting: string, text: ?string, title: ?string, type: string, } $row
list<Criterion>$criteria

Implements ILIAS\LegalDocuments\Repository\DocumentRepositoryMeta.

Definition at line 192 of file DatabaseDocumentRepository.php.

192 : Document
193 {
194 return new Document((int) $row['id'], new Meta(
195 (int) $row['sorting'],
196 new Edit((int) $row['last_modified_usr_id'], new DateTimeImmutable('@' . $row['modification_ts'])),
197 new Edit((int) $row['owner_usr_id'], new DateTimeImmutable('@' . $row['creation_ts']))
198 ), new DocumentContent($row['type'], $row['title'] ?? '', $row['text'] ?? ''), $criteria);
199 }

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\queryDocuments().

+ Here is the caller graph for this function:

◆ documentTable()

◆ exists()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::exists ( string  $doc_id_name)

Implements ILIAS\LegalDocuments\Repository\DocumentRepositoryMeta.

Definition at line 206 of file DatabaseDocumentRepository.php.

206 : string
207 {
208 $documents = $this->documentTable();
209 $provider = $this->database->quote($this->id, ilDBConstants::T_TEXT);
210 $table = 't' . random_int(0, 100);
211 return "EXISTS (SELECT 1 FROM $documents AS $table WHERE $table.id = $doc_id_name AND $table.provider = $provider)";
212 }

References ILIAS\Repository\database(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable(), and ilDBConstants\T_TEXT.

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\deleteCriterion().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ find()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::find ( int  $id)
Returns
Result<Document>

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 162 of file DatabaseDocumentRepository.php.

162 : Result
163 {
164 return $this->first(
165 $this->select([$id]),
166 'Document with ID ' . $id . ' not found.'
167 );
168 }

References $id, ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\first(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\select().

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\findId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findHash()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::findHash ( string  $hash)
private

Definition at line 364 of file DatabaseDocumentRepository.php.

364 : Result
365 {
366 return $this->first(
367 $this->queryDocuments($this->database->in('hash', [$hash], false, ilDBConstants::T_TEXT)),
368 'Document with hash . ' . json_encode($hash) . ' not found.'
369 );
370 }

References ILIAS\Repository\database(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\first(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\queryDocuments(), and ilDBConstants\T_TEXT.

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\findId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findId()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::findId ( DocumentId  $document_id)
Returns
Result<Document>

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 170 of file DatabaseDocumentRepository.php.

170 : Result
171 {
172 return match ($document_id::class) {
173 HashId::class => $this->findHash($document_id->hash()),
174 NumberId::class => $this->find($document_id->number()),
175 };
176 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\find(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\findHash().

+ Here is the call graph for this function:

◆ first()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::first ( array  $array,
string  $message 
)
private

Definition at line 372 of file DatabaseDocumentRepository.php.

372 : Result
373 {
374 $document = current($array) ?: null;
375 return $document ? new Ok($document) : new Error($message);
376 }

References $message.

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\find(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\findHash().

+ Here is the caller graph for this function:

◆ insert()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::insert ( string  $table,
array  $fields_and_values 
)
private
Parameters
array<string,mixed>$fields_and_values

Definition at line 329 of file DatabaseDocumentRepository.php.

329 : void
330 {
331 $id = $this->database->nextId($table);
332
333 $this->database->insert($table, $this->deriveFieldTypes([...$fields_and_values, 'id' => $id]));
334 }

References $id, and ILIAS\Repository\database().

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\createCriterion(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\createDocument().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lazyDocFields()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::lazyDocFields ( array  $fields_and_values,
string  $hash,
bool  $silent 
)
private
Parameters
array<string,string>$fields_and_values

Definition at line 235 of file DatabaseDocumentRepository.php.

235 : void
236 {
237 $modification = $this->action->modifiedNow();
238 $affected_rows = $this->database->update($this->documentTable(), $this->deriveFieldTypes([
239 ...$fields_and_values,
240 ...($silent ? [] : [
241 'modification_ts' => $modification->time(),
242 'last_modified_usr_id' => $modification->user(),
243 ]),
244 ]), $this->deriveFieldTypes([
245 'hash' => $hash,
246 'provider' => $this->id,
247 ]));
248
249 if (0 === $affected_rows) {
250 $this->database->insert($this->documentTable(), $this->deriveFieldTypes([
251 'id' => $this->database->nextId($this->documentTable()),
252 'creation_ts' => $modification->time(),
253 'owner_usr_id' => $modification->user(),
254 'modification_ts' => $modification->time(),
255 'last_modified_usr_id' => $modification->user(),
256 'sorting' => $this->nextSorting(),
257 'provider' => $this->id,
258 'title' => 'Unnamed document',
259 'hash' => $hash,
260 ...$fields_and_values,
261 ]));
262 }
263 }

References ILIAS\Repository\database(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable().

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocument().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nextSorting()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::nextSorting ( )
private

Definition at line 354 of file DatabaseDocumentRepository.php.

354 : int
355 {
356 $documents = $this->documentTable();
357 $sorting = (int) ($this->database->fetchAssoc($this->database->query(
358 "SELECT MAX(sorting) as s FROM $documents WHERE " . $this->exists($documents . '.id')
359 ))['s'] ?? 0);
360
361 return $sorting + 10;
362 }

References ILIAS\Repository\database(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable(), and ILIAS\Repository\int().

+ Here is the call graph for this function:

◆ queryDocuments()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::queryDocuments ( string  $where = '1',
string  $limit = '' 
)
private
Returns
Document[]

Definition at line 279 of file DatabaseDocumentRepository.php.

279 : array
280 {
281 $doc_table = $this->documentTable();
282 $provider = $this->database->quote($this->id, ilDBConstants::T_TEXT);
283 $documents = $this->query('SELECT * FROM ' . $doc_table . ' WHERE ' . $where . ' AND provider = ' . $provider . ' ORDER BY sorting ' . $limit);
284 $doc_ids = array_map(fn($doc) => (int) $doc['id'], $documents);
285 $array = $this->query(join(' ', [
286 'SELECT * FROM',
287 $this->criterionTable(),
288 'WHERE',
289 $this->database->in('doc_id', $doc_ids, false, ilDBConstants::T_INTEGER),
290 'AND',
291 $this->exists('doc_id')
292 ]));
293
294 $assignments = [];
295 foreach ($array as $row) {
296 $document_id = (int) $row['doc_id'];
297 $assignments[$document_id] ??= [];
298 $assignments[$document_id][] = $this->criterionFromRow($row);
299 }
300
301
302 return array_map(
303 fn($doc) => $this->documentFromRow($doc, $assignments[(int) $doc['id']] ?? []),
304 $documents
305 );
306 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\criterionFromRow(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\criterionTable(), ILIAS\Repository\database(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentFromRow(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable(), ILIAS\Repository\int(), ilDBConstants\T_INTEGER, and ilDBConstants\T_TEXT.

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\all(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\findHash(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\select().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ select()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::select ( array  $ids)
Parameters
list<int>$ids
Returns
Document[]

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 151 of file DatabaseDocumentRepository.php.

151 : array
152 {
153 if ([] === $ids) {
154 return [];
155 }
156 return $this->queryDocuments($this->database->in('id', $ids, false, ilDBConstants::T_INTEGER));
157 }

References ILIAS\Repository\database(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\queryDocuments(), and ilDBConstants\T_INTEGER.

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\find().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDocFields()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::setDocFields ( array  $fields_and_values,
int  $doc_id,
bool  $silent 
)
private
Parameters
array<string,string>$fields_and_values

Definition at line 217 of file DatabaseDocumentRepository.php.

217 : void
218 {
219 $modification = $this->action->modifiedNow();
220 $this->database->update($this->documentTable(), $this->deriveFieldTypes([
221 ...$fields_and_values,
222 ...($silent ? [] : [
223 'modification_ts' => $modification->time(),
224 'last_modified_usr_id' => $modification->user(),
225 ]),
226 ]), $this->deriveFieldTypes([
227 'id' => $doc_id,
228 'provider' => $this->id,
229 ]));
230 }

References ILIAS\Repository\database(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\documentTable().

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocument().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::update ( int  $id,
string  $table,
array  $fields_and_values 
)
private
Parameters
array<string,mixed>$fields_and_values

Definition at line 339 of file DatabaseDocumentRepository.php.

339 : void
340 {
341 $this->database->update($table, $this->deriveFieldTypes($fields_and_values), $this->deriveFieldTypes([
342 'id' => $id,
343 ]));
344 }

References $id, and ILIAS\Repository\database().

+ Here is the call graph for this function:

◆ updateCriterionContent()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::updateCriterionContent ( int  $criterion_id,
CriterionContent  $content 
)

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 110 of file DatabaseDocumentRepository.php.

110 : void
111 {
112 $modification = $this->action->modifiedNow();
113
114 $this->database->update($this->criterionTable(), $this->deriveFieldTypes([
115 'modification_ts' => $modification->time(),
116 'last_modified_usr_id' => $modification->user(),
117 ...$this->criterionFields($content),
118 ]), $this->deriveFieldTypes([
119 'id' => $criterion_id,
120 ]));
121 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\criterionTable(), and ILIAS\Repository\database().

+ Here is the call graph for this function:

◆ updateDocument()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::updateDocument ( DocumentId  $document_id,
array  $fields_and_values,
bool  $silent = false 
)
private
Parameters
array<string|int,string|int>$fields_and_values

Definition at line 126 of file DatabaseDocumentRepository.php.

126 : void
127 {
128 match ($document_id::class) {
129 HashId::class => $this->lazyDocFields($fields_and_values, $document_id->hash(), $silent),
130 NumberId::class => $this->setDocFields($fields_and_values, $document_id->number(), $silent),
131 };
132 }
lazyDocFields(array $fields_and_values, string $hash, bool $silent)
setDocFields(array $fields_and_values, int $doc_id, bool $silent)

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\lazyDocFields(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\setDocFields().

Referenced by ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocumentContent(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocumentOrder(), and ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocumentTitle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateDocumentContent()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::updateDocumentContent ( DocumentId  $document_id,
DocumentContent  $content 
)

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 100 of file DatabaseDocumentRepository.php.

100 : void
101 {
102 $this->updateDocument($document_id, ['text' => $content->value(), 'type' => $content->type()]);
103 }
updateDocument(DocumentId $document_id, array $fields_and_values, bool $silent=false)

References ILIAS\LegalDocuments\Value\DocumentContent\type(), ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocument(), and ILIAS\LegalDocuments\Value\DocumentContent\value().

+ Here is the call graph for this function:

◆ updateDocumentOrder()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::updateDocumentOrder ( DocumentId  $document_id,
int  $order 
)

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 105 of file DatabaseDocumentRepository.php.

105 : void
106 {
107 $this->updateDocument($document_id, ['sorting' => $order], true);
108 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocument().

+ Here is the call graph for this function:

◆ updateDocumentTitle()

ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository::updateDocumentTitle ( DocumentId  $document_id,
string  $title 
)

Implements ILIAS\LegalDocuments\Repository\DocumentRepository.

Definition at line 95 of file DatabaseDocumentRepository.php.

95 : void
96 {
97 $this->updateDocument($document_id, ['title' => $title]);
98 }

References ILIAS\LegalDocuments\Repository\DatabaseDocumentRepository\updateDocument().

+ Here is the call graph for this function:

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