ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
class.InternalDomainService.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\Survey;
22 
31 
33 {
35 
36  protected \ilAccessHandler $access;
40 
41  public function __construct(
42  ModeFactory $mode_factory,
43  InternalRepoService $repo_service,
44  InternalDataService $data_service
45  ) {
46  global $DIC;
47 
48  $this->initDomainServices($DIC);
49  $this->access = $DIC->access();
50 
51  $this->repo_service = $repo_service;
52  $this->data_service = $data_service;
53 
54  $this->mode_factory = $mode_factory;
55  }
56 
57  public function log(): \ilLogger
58  {
59  return $this->logger()->svy();
60  }
61 
62  public function modeFeatureConfig(int $mode): FeatureConfig
63  {
64  $mode_provider = $this->mode_factory->getModeById($mode);
65  return $mode_provider->getFeatureConfig();
66  }
67 
68  public function modeProvider(int $mode): ModeProvider
69  {
70  return $this->mode_factory->getModeById($mode);
71  }
72 
73  public function participants(): Participants\DomainService
74  {
75  return new Participants\DomainService(
76  $this,
77  $this->repo_service
78  );
79  }
80 
81  public function execution(): Execution\DomainService
82  {
83  return new Execution\DomainService(
84  $this->repo_service,
85  $this
86  );
87  }
88 
89  public function access(int $ref_id, int $user_id): Access\AccessManager
90  {
91  return new Access\AccessManager(
92  $this,
93  $this->access,
94  $ref_id,
95  $user_id
96  );
97  }
98 
99  public function code(\ilObjSurvey $survey, int $user_id): CodeManager
100  {
101  return new CodeManager(
102  $this->repo_service->code(),
104  $survey,
105  $this,
106  $user_id
107  );
108  }
109 
110  public function evaluation(
111  \ilObjSurvey $survey,
112  int $user_id,
113  int $requested_appr_id = 0,
114  string $requested_rater_id = ""
115  ): Evaluation\EvaluationManager {
116  return new Evaluation\EvaluationManager(
117  $this,
118  $this->repo_service,
119  $survey,
120  $user_id,
121  $requested_appr_id,
122  $requested_rater_id
123  );
124  }
125 
126  public function edit(): EditManager
127  {
128  return new EditManager(
129  $this->repo_service,
130  $this
131  );
132  }
133 
134  public function sequence(int $survey_id, \ilObjSurvey $survey): SequenceManager
135  {
136  return new SequenceManager(
137  $this->repo_service,
138  $this,
139  $survey_id,
140  $survey
141  );
142  }
143 
144  public function metadata(): MetadataManager
145  {
146  return new MetadataManager($this->learningObjectMetadata());
147  }
148 }
code(\ilObjSurvey $survey, int $user_id)
initDomainServices(\ILIAS\DI\Container $DIC)
sequence(int $survey_id, \ilObjSurvey $survey)
$ref_id
Definition: ltiauth.php:65
__construct(ModeFactory $mode_factory, InternalRepoService $repo_service, InternalDataService $data_service)
global $DIC
Definition: shib_login.php:26
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...
evaluation(\ilObjSurvey $survey, int $user_id, int $requested_appr_id=0, string $requested_rater_id="")