ILIAS  trunk Revision v11.0_alpha-1744-gb0451eebef4
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilQuestionEditGUI Class Reference

Class ilQuestionEditGUI. More...

+ Collaboration diagram for ilQuestionEditGUI:

Public Member Functions

 setSelfAssessmentEditingMode (bool $a_selfassessmenteditingmode)
 
 getSelfAssessmentEditingMode ()
 
 setDefaultNrOfTries (?int $a_defaultnroftries)
 
 getDefaultNrOfTries ()
 
 setPageConfig (ilPageConfig $a_val)
 
 getPageConfig ()
 
 executeCommand ()
 
 forwardToFeedbackEditGUI (assQuestionGUI $question_gui)
 
 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
 
ilTabsGUI $tabs
 
readonly ilHelpGUI $help
 
readonly ilCtrlInterface $ctrl
 
readonly ilAccessHandler $access
 
readonly ilLanguage $lng
 
readonly ilRbacSystem $rbac_system
 
readonly ContentStyle $content_style
 
readonly RequestDataCollector $request
 
readonly GeneralQuestionPropertiesRepository $questionrepository
 
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
 

Detailed Description

Member Function Documentation

◆ executeCommand()

ilQuestionEditGUI::executeCommand ( )

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

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

126  : string
127  {
128  $cmd = $this->ctrl->getCmd();
129  $next_class = $this->ctrl->getNextClass();
130 
131  switch ($next_class) {
132  default:
133  $question_gui = assQuestionGUI::_getQuestionGUI(
134  $this->getQuestionType() ?? '',
135  $this->getQuestionId()
136  );
137  $question = $question_gui->getObject();
138  $question->setSelfAssessmentEditingMode(
140  );
141  if ($this->getDefaultNrOfTries() > 0) {
142  $question->setDefaultNrOfTries(
143  $this->getDefaultNrOfTries()
144  );
145  }
146 
147  if (is_object($this->page_config)) {
148  $question->setPreventRteUsage($this->getPageConfig()->getPreventRteUsage());
149  $question_gui->setInLearningModuleContext(get_class($this->page_config) === ilLMPageConfig::class);
150  }
151  $question->setObjId((int) $this->getPoolObjId());
152  $question_gui->setObject($question);
153 
154  $count = $this->questionrepository->usageCount($question_gui->getObject()->getId());
155  if ($count > 0) {
156  if ($this->rbac_system->checkAccess('write', $this->getPoolRefId())) {
157  $this->main_tpl->setOnScreenMessage('info', sprintf($this->lng->txt('qpl_question_is_in_use'), $count));
158  }
159  }
160 
161  $this->tabs->activateTab('question');
162  if ($cmd !== 'save') {
163  return (string) $this->ctrl->forwardCommand($question_gui);
164  }
165  if ($question_gui->saveQuestion()) {
166  $this->main_tpl->setOnScreenMessage('success', $this->lng->txt('msg_obj_modified'), true);
167  }
168 
169  return (string) $question_gui->editQuestion();
170  }
171  }
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:

◆ forwardToFeedbackEditGUI()

ilQuestionEditGUI::forwardToFeedbackEditGUI ( assQuestionGUI  $question_gui)

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

References ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ILIAS\Repository\help(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

173  : void
174  {
175  $this->ctrl->forwardCommand(
177  $question_gui,
178  $this->ctrl,
179  $this->access,
180  $this->main_tpl,
181  $this->tabs,
182  $this->lng,
183  $this->help,
184  $this->request,
185  $this->content_style
186  )
187  );
188  }
+ Here is the call graph for this function:

◆ getDefaultNrOfTries()

ilQuestionEditGUI::getDefaultNrOfTries ( )

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

References $defaultnroftries.

Referenced by executeCommand().

111  : ?int
112  {
114  }
+ Here is the caller graph for this function:

◆ getPageConfig()

ilQuestionEditGUI::getPageConfig ( )

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

References $page_config.

Referenced by executeCommand().

121  : ?ilPageConfig
122  {
123  return $this->page_config;
124  }
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 224 of file class.ilQuestionEditGUI.php.

References $poolobjid.

Referenced by executeCommand().

224  : ?int
225  {
226  return $this->poolobjid;
227  }
+ Here is the caller graph for this function:

◆ getPoolRefId()

ilQuestionEditGUI::getPoolRefId ( )

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

References $poolrefid.

Referenced by setPoolRefId().

213  : ?int
214  {
215  return $this->poolrefid;
216  }
+ Here is the caller graph for this function:

◆ getQuestionId()

ilQuestionEditGUI::getQuestionId ( )

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

References $questionid.

Referenced by executeCommand().

196  : ?int
197  {
198  return $this->questionid;
199  }
+ Here is the caller graph for this function:

◆ getQuestionType()

ilQuestionEditGUI::getQuestionType ( )

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

References $questiontype.

Referenced by executeCommand().

235  : ?string
236  {
237  return $this->questiontype;
238  }
+ Here is the caller graph for this function:

◆ getSelfAssessmentEditingMode()

ilQuestionEditGUI::getSelfAssessmentEditingMode ( )

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

References $selfassessmenteditingmode.

Referenced by executeCommand().

101  : bool
102  {
104  }
+ Here is the caller graph for this function:

◆ setDefaultNrOfTries()

ilQuestionEditGUI::setDefaultNrOfTries ( ?int  $a_defaultnroftries)

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

106  : void
107  {
108  $this->defaultnroftries = $a_defaultnroftries;
109  }

◆ setPageConfig()

ilQuestionEditGUI::setPageConfig ( ilPageConfig  $a_val)

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

116  : void
117  {
118  $this->page_config = $a_val;
119  }

◆ setPoolObjId()

ilQuestionEditGUI::setPoolObjId ( ?int  $a_poolobjid)

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

References ILIAS\Repository\ctrl().

Referenced by setPoolRefId().

218  : void
219  {
220  $this->poolobjid = $a_poolobjid;
221  $this->ctrl->setParameter($this, 'qpool_obj_id', $this->poolobjid);
222  }
+ 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 201 of file class.ilQuestionEditGUI.php.

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

201  : void
202  {
203  $this->poolrefid = $a_poolrefid;
204  $this->ctrl->setParameter($this, 'qpool_ref_id', $this->poolrefid);
205 
206  if ($this->getPoolRefId() > 0) {
208  } else {
209  $this->setPoolObjId(null);
210  }
211  }
static _lookupObjId(int $ref_id)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
setPoolObjId(?int $a_poolobjid)
+ Here is the call graph for this function:

◆ setQuestionId()

ilQuestionEditGUI::setQuestionId ( ?int  $a_questionid)

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

References ILIAS\Repository\ctrl().

190  : void
191  {
192  $this->questionid = $a_questionid;
193  $this->ctrl->setParameter($this, 'q_id', $this->questionid);
194  }
+ Here is the call graph for this function:

◆ setQuestionType()

ilQuestionEditGUI::setQuestionType ( ?string  $a_questiontype)

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

References ILIAS\Repository\ctrl().

229  : void
230  {
231  $this->questiontype = $a_questiontype;
232  $this->ctrl->setParameter($this, 'q_type', $this->questiontype);
233  }
+ Here is the call graph for this function:

◆ setSelfAssessmentEditingMode()

ilQuestionEditGUI::setSelfAssessmentEditingMode ( bool  $a_selfassessmenteditingmode)

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

96  : void
97  {
98  $this->selfassessmenteditingmode = $a_selfassessmenteditingmode;
99  }

Field Documentation

◆ $access

readonly ilAccessHandler ilQuestionEditGUI::$access
private

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

◆ $content_style

readonly ContentStyle ilQuestionEditGUI::$content_style
private

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

◆ $ctrl

readonly ilCtrlInterface ilQuestionEditGUI::$ctrl
private

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

◆ $defaultnroftries

int ilQuestionEditGUI::$defaultnroftries = null
private

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

Referenced by getDefaultNrOfTries().

◆ $help

readonly ilHelpGUI ilQuestionEditGUI::$help
private

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

◆ $lng

readonly ilLanguage ilQuestionEditGUI::$lng
private

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

◆ $main_tpl

ilGlobalTemplateInterface ilQuestionEditGUI::$main_tpl
private

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

◆ $new_id_listener_cnt

int ilQuestionEditGUI::$new_id_listener_cnt
private

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

◆ $new_id_listeners

array ilQuestionEditGUI::$new_id_listeners
private

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

◆ $page_config

ilPageConfig ilQuestionEditGUI::$page_config = null
private

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

Referenced by getPageConfig().

◆ $poolobjid

int ilQuestionEditGUI::$poolobjid = null
private

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

Referenced by getPoolObjId().

◆ $poolrefid

int ilQuestionEditGUI::$poolrefid = null
private

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

Referenced by getPoolRefId().

◆ $questionid

int ilQuestionEditGUI::$questionid = null
private

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

Referenced by getQuestionId().

◆ $questionrepository

readonly GeneralQuestionPropertiesRepository ilQuestionEditGUI::$questionrepository
private

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

◆ $questiontype

string ilQuestionEditGUI::$questiontype = null
private

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

Referenced by getQuestionType().

◆ $rbac_system

readonly ilRbacSystem ilQuestionEditGUI::$rbac_system
private

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

◆ $request

readonly RequestDataCollector ilQuestionEditGUI::$request
private

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

◆ $selfassessmenteditingmode

bool ilQuestionEditGUI::$selfassessmenteditingmode = false
private

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

Referenced by getSelfAssessmentEditingMode().

◆ $tabs

ilTabsGUI ilQuestionEditGUI::$tabs
private

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


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