ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Parallel.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 2017 Stefan Hecken <stefan.hecken@concepts-and-training.de> Extended GPL, see docs/LICENSE */
3
5
7use ILIAS\Data;
9
10class Parallel extends Custom implements Constraint
11{
15 protected $constraints;
16
24
26 {
27 $this->constraints = $constraints;
28 parent::__construct(
29 function ($value) {
30 $ret = true;
31 $this->failed_constraints = array();
32 foreach ($this->constraints as $constraint) {
33 if (!$constraint->accepts($value)) {
34 $this->failed_constraints[] = $constraint;
35 $ret = false;
36 }
37 }
38
39 return $ret;
40 },
41 function ($txt, $value) {
42 $messages = [];
43 foreach ($this->failed_constraints as $key => $constraint) {
44 $messages[] = $constraint->getErrorMessage($value);
45 }
46
47 return implode(" ", $messages);
48 },
50 $lng
51 );
52 }
53}
An exception for terminatinating execution or to throw for unit testing.
Builds data types.
Definition: Factory.php:15
__construct(array $constraints, Data\Factory $data_factory, \ilLanguage $lng)
Definition: Parallel.php:25
language handling
$key
Definition: croninfo.php:18
$messages
Definition: en.php:5
$txt
Definition: error.php:11
A constraint encodes some resrtictions on values.
Definition: Constraint.php:15
$ret
Definition: parser.php:6