ILIAS  release_7 Revision v7.30-3-g800a261c036
ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation Class Reference

Interface ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation. More...

+ Inheritance diagram for ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation:
+ Collaboration diagram for ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation:

Public Member Functions

 __construct (ilTermsOfServiceCriterionTypeFactoryInterface $criterionTypeFactory, ilObjUser $user, ilLogger $log)
 ilTermsOfServiceDocumentLogicalAndCriteriaEvaluation constructor. More...
 
 withContextUser (ilObjUser $user)
 Returns a criteria evaluator like this with the passed context user.
Parameters
ilObjUser$user
Returns
ilTermsOfServiceDocumentCriteriaEvaluation
More...
 
 evaluate (ilTermsOfServiceSignableDocument $document)
 Evaluates a document for the context given by the concrete implementation.
Parameters
ilTermsOfServiceSignableDocument$document
Returns
bool
More...
 
 evaluate (ilTermsOfServiceSignableDocument $document)
 Evaluates a document for the context given by the concrete implementation. More...
 
 withContextUser (ilObjUser $user)
 Returns a criteria evaluator like this with the passed context user. More...
 

Protected Attributes

 $criterionTypeFactory
 
 $user
 
 $log
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation::__construct ( ilTermsOfServiceCriterionTypeFactoryInterface  $criterionTypeFactory,
ilObjUser  $user,
ilLogger  $log 
)

Member Function Documentation

◆ evaluate()

ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation::evaluate ( ilTermsOfServiceSignableDocument  $document)

Evaluates a document for the context given by the concrete implementation.

Parameters
ilTermsOfServiceSignableDocument$document
Returns
bool

Implements ilTermsOfServiceDocumentCriteriaEvaluation.

Definition at line 47 of file class.ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation.php.

47 : bool
48 {
49 $this->log->debug(sprintf(
50 'Evaluating criteria for document "%s" (id: %s) and user "%s" (id: %s)',
51 $document->title(),
52 $document->id(),
53 $this->user->getLogin(),
54 $this->user->getId()
55 ));
56
57 foreach ($document->criteria() as $criterionAssignment) {
58 $criterionType = $this->criterionTypeFactory->findByTypeIdent($criterionAssignment->getCriterionId(), true);
59
60 $result = $criterionType->evaluate($this->user, $criterionAssignment->getCriterionValue());
61
62 $this->log->debug(sprintf(
63 'Criterion of type "%s", configured with %s evaluated: %s',
64 $criterionType->getTypeIdent(),
65 var_export($criterionAssignment->getCriterionValue()->toJson(), true),
66 var_export($result, true)
67 ));
68
69 if (!$result) {
70 return false;
71 }
72 }
73
74 return true;
75 }
$result

References $result, ilTermsOfServiceSignableDocument\criteria(), ilTermsOfServiceSignableDocument\id(), ilTermsOfServiceSignableDocument\title(), and user().

+ Here is the call graph for this function:

◆ withContextUser()

ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation::withContextUser ( ilObjUser  $user)

Returns a criteria evaluator like this with the passed context user.

Parameters
ilObjUser$user
Returns
ilTermsOfServiceDocumentCriteriaEvaluation

Implements ilTermsOfServiceDocumentCriteriaEvaluation.

Definition at line 36 of file class.ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation.php.

37 {
38 $clone = clone $this;
39 $clone->user = $user;
40
41 return $clone;
42 }

References $user.

Field Documentation

◆ $criterionTypeFactory

ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation::$criterionTypeFactory
protected

◆ $log

ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation::$log
protected

◆ $user

ilTermsOfServiceLogicalAndDocumentCriteriaEvaluation::$user
protected

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