ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilQuestionEditGUI Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Collaboration diagram for ilQuestionEditGUI:

Public Member Functions

 __construct ()
 
 setSelfAssessmentEditingMode (bool $a_selfassessmenteditingmode)
 
 getSelfAssessmentEditingMode ()
 
 setDefaultNrOfTries (?int $a_defaultnroftries)
 
 getDefaultNrOfTries ()
 
 setPageConfig (ilPageConfig $a_val)
 
 getPageConfig ()
 
 addNewIdListener (object $a_object, string $a_method, string $a_parameters='')
 
 executeCommand ()
 
 setQuestionId (?int $a_questionid)
 
 getQuestionId ()
 
 setPoolRefId (?int $a_poolrefid)
 
 getPoolRefId ()
 
 setPoolObjId (?int $a_poolobjid)
 
 getPoolObjId ()
 
 setQuestionType (?string $a_questiontype)
 
 getQuestionType ()
 

Private Attributes

ilGlobalTemplateInterface $main_tpl
 
ILIAS TestQuestionPool InternalRequestService $request
 
ilCtrlInterface $ctrl
 
ilLanguage $lng
 
ilRbacSystem $rbac_system
 
int $questionid = null
 
int $poolrefid = null
 
int $poolobjid = null
 
string $questiontype = null
 
array $new_id_listeners
 
int $new_id_listener_cnt
 
bool $selfassessmenteditingmode = false
 
int $defaultnroftries = null
 
ilPageConfig $page_config = null
 
ILIAS TestQuestionPool QuestionInfoService $questioninfo
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Class ilQuestionEditGUI

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e ilQuestionEditGUI: assMultipleChoiceGUI, assClozeTestGUI, assMatchingQuestionGUI, assKprimChoiceGUI ilQuestionEditGUI: assOrderingQuestionGUI, assImagemapQuestionGUI ilQuestionEditGUI: assNumericGUI, assTextSubsetGUI, assSingleChoiceGUI, assTextQuestionGUI ilQuestionEditGUI: assErrorTextGUI, assOrderingHorizontalGUI, assTextSubsetGUI, assFormulaQuestionGUI ilQuestionEditGUI: assLongMenuGUI

Definition at line 30 of file class.ilQuestionEditGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilQuestionEditGUI::__construct ( )

Definition at line 49 of file class.ilQuestionEditGUI.php.

References $DIC, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), setPoolObjId(), setPoolRefId(), setQuestionId(), and setQuestionType().

50  {
51  global $DIC;
52 
53  $this->main_tpl = $DIC->ui()->mainTemplate();
54  $this->ctrl = $DIC['ilCtrl'];
55  $this->request = $DIC->testQuestionPool()->internal()->request();
56  $this->lng = $DIC->language();
57  $this->rbac_system = $DIC->rbac()->system();
58  $this->questioninfo = $DIC->testQuestionPool()->questionInfo();
59 
60  if ($this->request->raw('qpool_ref_id')) {
61  $this->setPoolRefId($this->request->raw('qpool_ref_id'));
62  } elseif ($this->request->raw('qpool_obj_id')) {
63  $this->setPoolObjId($this->request->raw('qpool_obj_id'));
64  }
65  $this->setQuestionId($this->request->getQuestionId());
66  $this->setQuestionType($this->request->raw('q_type'));
67  $this->lng->loadLanguageModule('assessment');
68 
69  $this->ctrl->saveParameter($this, ['qpool_ref_id', 'qpool_obj_id', 'q_id', 'q_type']);
70 
71 
72  $this->new_id_listeners = [];
73  $this->new_id_listener_cnt = 0;
74  }
setQuestionId(?int $a_questionid)
global $DIC
Definition: feed.php:28
setPoolRefId(?int $a_poolrefid)
setPoolObjId(?int $a_poolobjid)
setQuestionType(?string $a_questiontype)
+ Here is the call graph for this function:

Member Function Documentation

◆ addNewIdListener()

ilQuestionEditGUI::addNewIdListener ( object  $a_object,
string  $a_method,
string  $a_parameters = '' 
)

Definition at line 106 of file class.ilQuestionEditGUI.php.

References $new_id_listener_cnt.

106  : void
107  {
109  $this->new_id_listeners[$cnt]['object'] = $a_object;
110  $this->new_id_listeners[$cnt]['method'] = $a_method;
111  $this->new_id_listeners[$cnt]['parameters'] = $a_parameters;
112  $this->new_id_listener_cnt++;
113  }

◆ executeCommand()

ilQuestionEditGUI::executeCommand ( )

Definition at line 115 of file class.ilQuestionEditGUI.php.

References $new_id_listener_cnt, assQuestionGUI\_getQuestionGUI(), ILIAS\Repository\ctrl(), getDefaultNrOfTries(), getPageConfig(), getPoolObjId(), getQuestionId(), getQuestionType(), getSelfAssessmentEditingMode(), and ILIAS\Repository\lng().

115  : string
116  {
117  $cmd = $this->ctrl->getCmd();
118  $next_class = $this->ctrl->getNextClass();
119 
120  switch ($next_class) {
121  default:
123  $this->getQuestionType() ?? '',
124  $this->getQuestionId()
125  );
126  $q_gui->object->setSelfAssessmentEditingMode(
128  );
129  if ($this->getDefaultNrOfTries() > 0) {
130  $q_gui->object->setDefaultNrOfTries(
131  $this->getDefaultNrOfTries()
132  );
133  }
134 
135  if (is_object($this->page_config)) {
136  $q_gui->object->setPreventRteUsage($this->getPageConfig()->getPreventRteUsage());
137  $q_gui->setInLearningModuleContext(get_class($this->page_config) === ilLMPageConfig::class);
138  }
139  $q_gui->object->setObjId((int) $this->getPoolObjId());
140 
141  for ($i = 0; $i < $this->new_id_listener_cnt; $i++) {
142  $object = $this->new_id_listeners[$i]['object'];
143  $method = $this->new_id_listeners[$i]['method'];
144  $parameters = $this->new_id_listeners[$i]['parameters'];
145  $q_gui->addNewIdListener(
146  $object,
147  $method,
148  $parameters
149  );
150  }
151 
152  $count = $this->questioninfo->usageNumber($q_gui->object->getId());
153  if ($count > 0) {
154  if ($this->rbac_system->checkAccess('write', $this->getPoolRefId())) {
155  $this->main_tpl->setOnScreenMessage('info', sprintf($this->lng->txt('qpl_question_is_in_use'), $count));
156  }
157  }
158  $this->ctrl->setCmdClass(get_class($q_gui));
159  $ret = (string) $this->ctrl->forwardCommand($q_gui);
160  break;
161  }
162 
163  return $ret;
164  }
static _getQuestionGUI(string $question_type='', int $question_id=-1)
Creates a question gui representation and returns the alias to the question gui.
+ Here is the call graph for this function:

◆ getDefaultNrOfTries()

ilQuestionEditGUI::getDefaultNrOfTries ( )

Definition at line 91 of file class.ilQuestionEditGUI.php.

References $defaultnroftries.

Referenced by executeCommand().

91  : ?int
92  {
94  }
+ Here is the caller graph for this function:

◆ getPageConfig()

ilQuestionEditGUI::getPageConfig ( )

Definition at line 101 of file class.ilQuestionEditGUI.php.

References $page_config.

Referenced by executeCommand().

101  : ?ilPageConfig
102  {
103  return $this->page_config;
104  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the caller graph for this function:

◆ getPoolObjId()

ilQuestionEditGUI::getPoolObjId ( )

Definition at line 200 of file class.ilQuestionEditGUI.php.

References $poolobjid.

Referenced by executeCommand().

200  : ?int
201  {
202  return $this->poolobjid;
203  }
+ Here is the caller graph for this function:

◆ getPoolRefId()

ilQuestionEditGUI::getPoolRefId ( )

Definition at line 189 of file class.ilQuestionEditGUI.php.

References $poolrefid.

Referenced by setPoolRefId().

189  : ?int
190  {
191  return $this->poolrefid;
192  }
+ Here is the caller graph for this function:

◆ getQuestionId()

ilQuestionEditGUI::getQuestionId ( )

Definition at line 172 of file class.ilQuestionEditGUI.php.

References $questionid.

Referenced by executeCommand().

172  : ?int
173  {
174  return $this->questionid;
175  }
+ Here is the caller graph for this function:

◆ getQuestionType()

ilQuestionEditGUI::getQuestionType ( )

Definition at line 211 of file class.ilQuestionEditGUI.php.

References $questiontype.

Referenced by executeCommand().

211  : ?string
212  {
213  return $this->questiontype;
214  }
+ Here is the caller graph for this function:

◆ getSelfAssessmentEditingMode()

ilQuestionEditGUI::getSelfAssessmentEditingMode ( )

Definition at line 81 of file class.ilQuestionEditGUI.php.

References $selfassessmenteditingmode.

Referenced by executeCommand().

81  : bool
82  {
84  }
+ Here is the caller graph for this function:

◆ setDefaultNrOfTries()

ilQuestionEditGUI::setDefaultNrOfTries ( ?int  $a_defaultnroftries)

Definition at line 86 of file class.ilQuestionEditGUI.php.

86  : void
87  {
88  $this->defaultnroftries = $a_defaultnroftries;
89  }

◆ setPageConfig()

ilQuestionEditGUI::setPageConfig ( ilPageConfig  $a_val)

Definition at line 96 of file class.ilQuestionEditGUI.php.

96  : void
97  {
98  $this->page_config = $a_val;
99  }

◆ setPoolObjId()

ilQuestionEditGUI::setPoolObjId ( ?int  $a_poolobjid)

Definition at line 194 of file class.ilQuestionEditGUI.php.

References ILIAS\Repository\ctrl().

Referenced by __construct(), and setPoolRefId().

194  : void
195  {
196  $this->poolobjid = $a_poolobjid;
197  $this->ctrl->setParameter($this, 'qpool_obj_id', $this->poolobjid);
198  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPoolRefId()

ilQuestionEditGUI::setPoolRefId ( ?int  $a_poolrefid)

Definition at line 177 of file class.ilQuestionEditGUI.php.

References ilObject\_lookupObjId(), ILIAS\Repository\ctrl(), getPoolRefId(), and setPoolObjId().

Referenced by __construct().

177  : void
178  {
179  $this->poolrefid = $a_poolrefid;
180  $this->ctrl->setParameter($this, 'qpool_ref_id', $this->poolrefid);
181 
182  if ($this->getPoolRefId() > 0) {
184  } else {
185  $this->setPoolObjId(null);
186  }
187  }
static _lookupObjId(int $ref_id)
setPoolObjId(?int $a_poolobjid)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setQuestionId()

ilQuestionEditGUI::setQuestionId ( ?int  $a_questionid)

Definition at line 166 of file class.ilQuestionEditGUI.php.

References ILIAS\Repository\ctrl().

Referenced by __construct().

166  : void
167  {
168  $this->questionid = $a_questionid;
169  $this->ctrl->setParameter($this, 'q_id', $this->questionid);
170  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setQuestionType()

ilQuestionEditGUI::setQuestionType ( ?string  $a_questiontype)

Definition at line 205 of file class.ilQuestionEditGUI.php.

References ILIAS\Repository\ctrl().

Referenced by __construct().

205  : void
206  {
207  $this->questiontype = $a_questiontype;
208  $this->ctrl->setParameter($this, 'q_type', $this->questiontype);
209  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSelfAssessmentEditingMode()

ilQuestionEditGUI::setSelfAssessmentEditingMode ( bool  $a_selfassessmenteditingmode)

Definition at line 76 of file class.ilQuestionEditGUI.php.

76  : void
77  {
78  $this->selfassessmenteditingmode = $a_selfassessmenteditingmode;
79  }

Field Documentation

◆ $ctrl

ilCtrlInterface ilQuestionEditGUI::$ctrl
private

Definition at line 34 of file class.ilQuestionEditGUI.php.

◆ $defaultnroftries

int ilQuestionEditGUI::$defaultnroftries = null
private

Definition at line 45 of file class.ilQuestionEditGUI.php.

Referenced by getDefaultNrOfTries().

◆ $lng

ilLanguage ilQuestionEditGUI::$lng
private

Definition at line 35 of file class.ilQuestionEditGUI.php.

◆ $main_tpl

ilGlobalTemplateInterface ilQuestionEditGUI::$main_tpl
private

Definition at line 32 of file class.ilQuestionEditGUI.php.

◆ $new_id_listener_cnt

int ilQuestionEditGUI::$new_id_listener_cnt
private

Definition at line 43 of file class.ilQuestionEditGUI.php.

Referenced by addNewIdListener(), and executeCommand().

◆ $new_id_listeners

array ilQuestionEditGUI::$new_id_listeners
private

Definition at line 42 of file class.ilQuestionEditGUI.php.

◆ $page_config

ilPageConfig ilQuestionEditGUI::$page_config = null
private

Definition at line 46 of file class.ilQuestionEditGUI.php.

Referenced by getPageConfig().

◆ $poolobjid

int ilQuestionEditGUI::$poolobjid = null
private

Definition at line 39 of file class.ilQuestionEditGUI.php.

Referenced by getPoolObjId().

◆ $poolrefid

int ilQuestionEditGUI::$poolrefid = null
private

Definition at line 38 of file class.ilQuestionEditGUI.php.

Referenced by getPoolRefId().

◆ $questionid

int ilQuestionEditGUI::$questionid = null
private

Definition at line 37 of file class.ilQuestionEditGUI.php.

Referenced by getQuestionId().

◆ $questioninfo

ILIAS TestQuestionPool QuestionInfoService ilQuestionEditGUI::$questioninfo
private

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

◆ $questiontype

string ilQuestionEditGUI::$questiontype = null
private

Definition at line 40 of file class.ilQuestionEditGUI.php.

Referenced by getQuestionType().

◆ $rbac_system

ilRbacSystem ilQuestionEditGUI::$rbac_system
private

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

◆ $request

ILIAS TestQuestionPool InternalRequestService ilQuestionEditGUI::$request
private

Definition at line 33 of file class.ilQuestionEditGUI.php.

◆ $selfassessmenteditingmode

bool ilQuestionEditGUI::$selfassessmenteditingmode = false
private

Definition at line 44 of file class.ilQuestionEditGUI.php.

Referenced by getSelfAssessmentEditingMode().


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