105 return self::TABLE_NAME;
127 $this->fetchAllCriterionAssignments();
132 $document = parent::buildFromArray($array);
134 $this->fetchAllCriterionAssignments();
139 public function create():
void 141 $this->setCreationTs(time());
145 foreach ($this->
criteria as $criterionAssignment) {
147 $criterionAssignment->setDocId($this->
getId());
148 $criterionAssignment->store();
156 $this->setModificationTs(time());
158 foreach ($this->
criteria as $criterionAssignment) {
160 $criterionAssignment->setDocId($this->
getId());
161 $criterionAssignment->store();
164 foreach ($this->initialPersistedCriteria as $criterionAssignment) {
166 $found = array_filter(
169 return $criterionToMatch->getId() == $criterionAssignment->getId();
173 if (0 ===
count($found)) {
174 $criterionAssignment->delete();
183 public function delete()
185 foreach ($this->initialPersistedCriteria as $criterionAssignment) {
187 $criterionAssignment->delete();
190 $this->initialPersistedCriteria = $this->
criteria = [];
205 foreach ($this->
criteria as $currentAssignment) {
207 if ($currentAssignment->equals($criterionAssignment)) {
209 "Cannot attach duplicate criterion with criterion typeIdent %s and value: %s",
216 $this->
criteria[] = $criterionAssignment;
229 return !$currentAssignment->
equals($criterionAssignment);
235 if ($numCriteriaAfterRemoval === $numCriteriaBeforeRemoval) {
237 "Could not find any criterion with criterion typeIdent %s and value: %s",
247 public function fetchAllCriterionAssignments():
void 249 if (!$this->criteriaFetched) {
250 $this->criteriaFetched =
true;
252 $this->initialPersistedCriteria = [];
256 foreach ($criteria as $criterionAssignment) {
258 $this->
criteria[] = $criterionAssignment;
buildFromArray(array $array)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static returnDbTableName()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static where($where, $operator=null)
array $initialPersistedCriteria
int $last_modified_usr_id
detachCriterion(ilAccessibilityDocumentCriterionAssignment $criterionAssignment)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...