ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilPCQuestion Class Reference

Class ilPCQuestion. More...

+ Inheritance diagram for ilPCQuestion:
+ Collaboration diagram for ilPCQuestion:

Public Member Functions

 init ()
 Init page content component. More...
 
 setNode (&$a_node)
 Set node. More...
 
 setQuestionReference ($a_questionreference)
 Set Question Reference. More...
 
 getQuestionReference ()
 Get Question Reference. More...
 
 create (&$a_pg_obj, $a_hier_id)
 Create Question Element. More...
 
 copyPoolQuestionIntoPage ($a_q_id, $a_hier_id)
 Copy question from pool into page. More...
 
 _getPageForQuestionId ($a_q_id, $a_parent_type="")
 Get page for question id. More...
 
 modifyPageContentPostXsl ($a_output, $a_mode)
 Modify page content after xsl. More...
 
 getJavascriptFiles ($a_mode)
 Get Javascript files. More...
 
 getCssFiles ($a_mode)
 Get css files. More...
 
 getOnloadCode ($a_mode)
 Get on load code. More...
 
 getQuestionJsOfPage ($a_no_interaction, $a_mode)
 Get question js. More...
 
- Public Member Functions inherited from ilPageContent
 __construct ($a_pg_obj)
 Constructor. More...
 
 setPage ($a_val)
 Set page. More...
 
 getPage ()
 Get page. More...
 
 init ()
 Init object. More...
 
 getType ()
 Get type of page content. More...
 
 setNode (&$a_node)
 Set xml node of page content. More...
 
getNode ()
 Get xml node of page content. More...
 
 getJavascriptFiles ()
 Get Javascript files. More...
 
 getCssFiles ()
 Get css files. More...
 
 getOnloadCode ()
 Get on load code. More...
 
 setHierId ($a_hier_id)
 Set hierarchical ID in xml structure. More...
 
 getHierId ()
 Get hierarchical id. More...
 
 lookupHierId ()
 Get hierarchical id from dom. More...
 
 readHierId ()
 Read PC Id. More...
 
 setPcId ($a_pcid)
 Set PC Id. More...
 
 getPCId ()
 Get PC Id. More...
 
 readPCId ()
 Read PC Id. More...
 
 writePCId ($a_pc_id)
 Write pc id. More...
 
 isGreaterHierId ($a, $b)
 Check whether Hier ID $a is greater than Hier ID $b. More...
 
 setEnabled ($value)
 Set Enabled value for page content component. More...
 
 enable ()
 Enable page content. More...
 
 disable ()
 Disable page content. More...
 
 isEnabled ()
 Check whether page content is enabled. More...
 
 createPageContentNode ($a_set_this_node=true)
 Create page content node (always use this method first when adding a new element) More...
 
 modifyPageContentPostXsl ($a_output, $a_mode)
 Modify page content after xsl. More...
 

Static Public Member Functions

static getLangVars ()
 Get lang vars needed for editing. More...
 
static afterPageUpdate ($a_page, DOMDocument $a_domdoc, $a_xml, $a_creation)
 After page has been updated (or created) More...
 
static beforePageDelete ($a_page)
 Before page is being deleted. More...
 
static _getQuestionIdsForPage ($a_parent_type, $a_page_id, $a_lang="-")
 Get all questions of a page. More...
 
static resetInitialState ()
 Reset initial state (for exports) More...
 
static getJSTextInitCode ($a_lang)
 Get js txt init code. More...
 
- Static Public Member Functions inherited from ilPageContent
static incEdId ($ed_id)
 Increases an hierarchical editing id at lowest level (last number) More...
 
static decEdId ($ed_id)
 Decreases an hierarchical editing id at lowest level (last number) More...
 
static haveSameContainer ($ed_id1, $ed_id2)
 Check, if two ids are in same container. More...
 
static sortHierIds ($a_array)
 Sort an array of Hier IDS in ascending order. More...
 
static getLangVars ()
 Get lang vars needed for editing. More...
 
static handleCopiedContent (DOMDocument $a_domdoc, $a_self_ass=true, $a_clone_mobs=false)
 Handle copied content. More...
 
static afterPageUpdate ($a_page, DOMDocument $a_domdoc, $a_xml, $a_creation)
 After page has been updated (or created) More...
 
static beforePageDelete ($a_page)
 Before page is being deleted. More...
 
static afterPageHistoryEntry ($a_page, DOMDocument $a_old_domdoc, $a_old_xml, $a_old_nr)
 After page history entry has been created. More...
 

Data Fields

 $dom
 
 $q_node
 
- Data Fields inherited from ilPageContent
 $hier_id
 
 $node
 
 $dom
 

Static Protected Attributes

static $initial_done
 

Additional Inherited Members

- Protected Member Functions inherited from ilPageContent
 setType ($a_type)
 Set Type. More...
 

Detailed Description

Class ilPCQuestion.

Assessment Question of ilPageObject

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 18 of file class.ilPCQuestion.php.

Member Function Documentation

◆ _getPageForQuestionId()

ilPCQuestion::_getPageForQuestionId (   $a_q_id,
  $a_parent_type = "" 
)

Get page for question id.

Parameters

Definition at line 237 of file class.ilPCQuestion.php.

References $ilDB.

Referenced by ilObjMediaObject\getParentObjectIdForUsage().

238  {
239  global $ilDB;
240 
241  $set = $ilDB->query("SELECT * FROM page_question ".
242  " WHERE question_id = ".$ilDB->quote($a_q_id, "integer")
243  );
244  while ($rec = $ilDB->fetchAssoc($set))
245  {
246  if ($a_parent_type == "" || $rec["page_parent_type"] == $a_parent_type)
247  {
248  return array("page_id" => $rec["page_id"], "parent_type" => $rec["page_parent_type"]);
249  }
250  }
251  return false;
252  }
global $ilDB
+ Here is the caller graph for this function:

◆ _getQuestionIdsForPage()

static ilPCQuestion::_getQuestionIdsForPage (   $a_parent_type,
  $a_page_id,
  $a_lang = "-" 
)
static

Get all questions of a page.

Definition at line 214 of file class.ilPCQuestion.php.

References $ilDB, and $res.

Referenced by ilSCORM2004Asset\exportHTMLPageObjects(), ilObjContentObject\exportHTMLPages(), ilSCORM2004Asset\exportPDFPrepareXmlNFiles(), ilSCORM2004Asset\exportXMLPageObjects(), ilObjectivesAlignmentTableGUI\fillRow(), ilLMPageObject\getQuestionIds(), and ilSCORM2004ScoGUI\sahs_questions().

215  {
216  global $ilDB;
217 
218  $res = $ilDB->queryF("SELECT * FROM page_question WHERE page_parent_type = %s ".
219  " AND page_id = %s AND page_lang = %s",
220  array("text", "integer", "text"),
221  array($a_parent_type, $a_page_id, $a_lang));
222  $q_ids = array();
223  while ($rec = $ilDB->fetchAssoc($res))
224  {
225  $q_ids[] = $rec["question_id"];
226  }
227 
228  return $q_ids;
229  }
global $ilDB
+ Here is the caller graph for this function:

◆ afterPageUpdate()

static ilPCQuestion::afterPageUpdate (   $a_page,
DOMDocument  $a_domdoc,
  $a_xml,
  $a_creation 
)
static

After page has been updated (or created)

Parameters
objectpage object
DOMDocument$a_domdocdom document
stringxml
booltrue on creation, otherwise false

Definition at line 160 of file class.ilPCQuestion.php.

References $ilDB, ilPageContent\$node, ilInternalLink\_extractInstOfTarget(), and ilInternalLink\_extractObjIdOfTarget().

161  {
162  global $ilDB;
163 
164  include_once("./Services/Link/classes/class.ilInternalLink.php");
165 
166  $ilDB->manipulateF("DELETE FROM page_question WHERE page_parent_type = %s ".
167  " AND page_id = %s AND page_lang = %s", array("text", "integer", "text"),
168  array($a_page->getParentType(), $a_page->getId(), $a_page->getLanguage()));
169 
170  $xpath = new DOMXPath($a_domdoc);
171  $nodes = $xpath->query('//Question');
172  $q_ids = array();
173  foreach ($nodes as $node)
174  {
175  $q_ref = $node->getAttribute("QRef");
176 
177  $inst_id = ilInternalLink::_extractInstOfTarget($q_ref);
178  if (!($inst_id > 0))
179  {
181  if ($q_id > 0)
182  {
183  $q_ids[$q_id] = $q_id;
184  }
185  }
186  }
187  foreach($q_ids as $qid)
188  {
189  $ilDB->manipulateF("INSERT INTO page_question (page_parent_type, page_id, page_lang, question_id)".
190  " VALUES (%s,%s,%s,%s)",
191  array("text", "integer", "text", "integer"),
192  array($a_page->getParentType(), $a_page->getId(), $a_page->getLanguage(), $qid));
193  }
194 
195  }
global $ilDB
+ Here is the call graph for this function:

◆ beforePageDelete()

static ilPCQuestion::beforePageDelete (   $a_page)
static

Before page is being deleted.

Parameters
objectpage object

Definition at line 202 of file class.ilPCQuestion.php.

References $ilDB.

203  {
204  global $ilDB;
205 
206  $ilDB->manipulateF("DELETE FROM page_question WHERE page_parent_type = %s ".
207  " AND page_id = %s AND page_lang = %s", array("text", "integer", "text"),
208  array($a_page->getParentType(), $a_page->getId(), $a_page->getLanguage()));
209  }
global $ilDB

◆ copyPoolQuestionIntoPage()

ilPCQuestion::copyPoolQuestionIntoPage (   $a_q_id,
  $a_hier_id 
)

Copy question from pool into page.

Parameters

Definition at line 87 of file class.ilPCQuestion.php.

References $t, assQuestion\_instanciateQuestion(), assQuestionGUI\getSelfAssessmentTags(), and ilUtil\secureString().

88  {
89  include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
90  include_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
91  $question = assQuestion::_instanciateQuestion($a_q_id);
92  $duplicate_id = $question->copyObject(0, $question->getTitle());
93  $duplicate = assQuestion::_instanciateQuestion($duplicate_id);
94  $duplicate->setObjId(0);
95 
96  // we remove everything not supported by the non-tiny self
97  // assessment question editor
98  $q = $duplicate->getQuestion();
99 
100  // we try to save all latex tags
101  $try = true;
102  $ls = '<span class="latex">';
103  $le = '</span>';
104  while ($try)
105  {
106  // search position of start tag
107  $pos1 = strpos($q, $ls);
108  if (is_int($pos1))
109  {
110  $pos2 = strpos($q, $le, $pos1);
111  if (is_int($pos2))
112  {
113  // both found: replace end tag
114  $q = substr($q, 0, $pos2)."[/tex]".substr($q, $pos2+7);
115  $q = substr($q, 0, $pos1)."[tex]".substr($q, $pos1+20);
116  }
117  else
118  {
119  $try = false;
120  }
121  }
122  else
123  {
124  $try = false;
125  }
126  }
127 
129  $tstr = "";
130  foreach ($tags as $t)
131  {
132  $tstr.="<".$t.">";
133  }
134  $q = ilUtil::secureString($q, true, $tstr);
135  // self assessment uses nl2br, not p
136  $duplicate->setQuestion($q);
137 
138  $duplicate->saveQuestionDataToDb();
139 
140  $this->q_node->set_attribute("QRef", "il__qst_".$duplicate_id);
141  }
static _instanciateQuestion($question_id)
Creates an instance of a question with a given question id.
getSelfAssessmentTags()
Get tags allowed in question tags in self assessment mode.
static secureString($a_str, $a_strip_html=true, $a_allow="")
Remove unsecure tags.
+ Here is the call graph for this function:

◆ create()

ilPCQuestion::create ( $a_pg_obj,
  $a_hier_id 
)

Create Question Element.

Definition at line 72 of file class.ilPCQuestion.php.

References ilPageContent\createPageContentNode(), and IL_INSERT_AFTER.

73  {
74  $this->createPageContentNode();
75  $a_pg_obj->insertContent($this, $a_hier_id, IL_INSERT_AFTER);
76  $this->q_node = $this->dom->create_element("Question");
77  $this->q_node = $this->node->append_child($this->q_node);
78  $this->q_node->set_attribute("QRef", "");
79  }
const IL_INSERT_AFTER
createPageContentNode($a_set_this_node=true)
Create page content node (always use this method first when adding a new element) ...
+ Here is the call graph for this function:

◆ getCssFiles()

ilPCQuestion::getCssFiles (   $a_mode)

Get css files.

Definition at line 346 of file class.ilPCQuestion.php.

References ilPageContent\getPage().

347  {
348  if ($this->getPage()->getPageConfig()->getEnableSelfAssessment())
349  {
350  return array("./Modules/Scorm2004/templates/default/question_handling.css",
351  "Modules/TestQuestionPool/templates/default/test_javascript.css");
352  }
353  return array();
354  }
+ Here is the call graph for this function:

◆ getJavascriptFiles()

ilPCQuestion::getJavascriptFiles (   $a_mode)

Get Javascript files.

Definition at line 323 of file class.ilPCQuestion.php.

References ilPageContent\getPage(), and IL_PAGE_PREVIEW.

324  {
325  $js_files = array();
326 
327  if ($this->getPage()->getPageConfig()->getEnableSelfAssessment())
328  {
329  $js_files[] = "./Modules/Scorm2004/scripts/questions/pure.js";
330  $js_files[] = "./Modules/Scorm2004/scripts/questions/question_handling.js";
331  $js_files[] = "Modules/TestQuestionPool/js/ilMatchingQuestion.js";
332  }
333 
334  if (!$this->getPage()->getPageConfig()->getEnableSelfAssessmentScorm() && $a_mode != IL_PAGE_PREVIEW
335  && $a_mode != "offline")
336  {
337  $js_files[] = "./Services/COPage/js/ilCOPageQuestionHandler.js";
338  }
339 
340  return $js_files;
341  }
const IL_PAGE_PREVIEW
+ Here is the call graph for this function:

◆ getJSTextInitCode()

static ilPCQuestion::getJSTextInitCode (   $a_lang)
static

Get js txt init code.

Parameters

Definition at line 406 of file class.ilPCQuestion.php.

References $ilUser, and $lng.

Referenced by ilSCORM2004Asset\exportHTMLPageObjects().

407  {
408  global $lng, $ilUser;
409 
410  if ($a_lang == "")
411  {
412  $a_lang = $ilUser->getLanguage();
413  }
414 
415  return
416  '
417  ilias.questions.txt.wrong_answers = "'.$lng->txtlng("content", "cont_wrong_answers", $a_lang).'";
418  ilias.questions.txt.wrong_answers_single = "'.$lng->txtlng("content", "cont_wrong_answers_single", $a_lang).'";
419  ilias.questions.txt.tries_remaining = "'.$lng->txtlng("content", "cont_tries_remaining", $a_lang).'";
420  ilias.questions.txt.please_try_again = "'.$lng->txtlng("content", "cont_please_try_again", $a_lang).'";
421  ilias.questions.txt.all_answers_correct = "'.$lng->txtlng("content", "cont_all_answers_correct", $a_lang).'";
422  ilias.questions.txt.enough_answers_correct = "'.$lng->txtlng("content", "cont_enough_answers_correct", $a_lang).'";
423  ilias.questions.txt.nr_of_tries_exceeded = "'.$lng->txtlng("content", "cont_nr_of_tries_exceeded", $a_lang).'";
424  ilias.questions.txt.correct_answers_shown = "'.$lng->txtlng("content", "cont_correct_answers_shown", $a_lang).'";
425  ilias.questions.txt.correct_answers_also = "'.$lng->txtlng("content", "cont_correct_answers_also", $a_lang).'";
426  ilias.questions.txt.correct_answer_also = "'.$lng->txtlng("content", "cont_correct_answer_also", $a_lang).'";
427  ilias.questions.txt.ov_all_correct = "'.$lng->txtlng("content", "cont_ov_all_correct", $a_lang).'";
428  ilias.questions.txt.ov_some_correct = "'.$lng->txtlng("content", "cont_ov_some_correct", $a_lang).'";
429  ilias.questions.txt.ov_wrong_answered = "'.$lng->txtlng("content", "cont_ov_wrong_answered", $a_lang).'";
430  ilias.questions.txt.please_select = "'.$lng->txtlng("content", "cont_please_select", $a_lang).'";
431  ilias.questions.refresh_lang();
432  ';
433 
434  }
global $ilUser
Definition: imgupload.php:15
global $lng
Definition: privfeed.php:40
+ Here is the caller graph for this function:

◆ getLangVars()

static ilPCQuestion::getLangVars ( )
static

Get lang vars needed for editing.

Returns
array array of lang var keys

Definition at line 147 of file class.ilPCQuestion.php.

148  {
149  return array("ed_insert_pcqst", "empty_question", "pc_qst");
150  }

◆ getOnloadCode()

ilPCQuestion::getOnloadCode (   $a_mode)

Get on load code.

Definition at line 359 of file class.ilPCQuestion.php.

References $ilCtrl, $ilUser, ilPageQuestionProcessor\getAnswerStatus(), ilPageContent\getPage(), and IL_PAGE_PREVIEW.

360  {
361  global $ilCtrl, $ilUser;
362 
363  $code = array();
364 
365  if ($this->getPage()->getPageConfig()->getEnableSelfAssessment())
366  {
367  if (!$this->getPage()->getPageConfig()->getEnableSelfAssessmentScorm() && $a_mode != IL_PAGE_PREVIEW
368  && $a_mode != "offline")
369  {
370  $ilCtrl->setParameterByClass(strtolower(get_class($this->getPage()))."gui", "page_id", $this->getPage()->getId());
371  $url = $ilCtrl->getLinkTargetByClass(strtolower(get_class($this->getPage()))."gui", "processAnswer", "", true, false);
372  $code[] = "ilCOPageQuestionHandler.initCallback('".$url."');";
373  }
374 
375  if ($this->getPage()->getPageConfig()->getDisableDefaultQuestionFeedback())
376  {
377  $code[] = "ilias.questions.default_feedback = false;";
378  }
379 
380  $code[] = self::getJSTextInitCode($this->getPage()->getPageConfig()->getLocalizationLanguage()).' il.COPagePres.updateQuestionOverviews();';
381  }
382 
383  $get_stored_tries = $this->getPage()->getPageConfig()->getUseStoredQuestionTries();
384  if ($get_stored_tries)
385  {
386  $q_ids = $this->getPage()->getQuestionIds();
387  if (count($q_ids) > 0)
388  {
389  foreach ($q_ids as $q_id)
390  {
391  include_once("./Services/COPage/classes/class.ilPageQuestionProcessor.php");
392  $as = ilPageQuestionProcessor::getAnswerStatus($q_id, $ilUser->getId());
393  $code[] = "ilias.questions.initAnswer(".$q_id.", ".(int) $as["try"].", ".($as["passed"] ? "true" : "null").");";
394  }
395  }
396  }
397  return $code;
398  }
const IL_PAGE_PREVIEW
global $ilCtrl
Definition: ilias.php:18
static getAnswerStatus($a_q_id, $a_user_id=0)
Get statistics for question.
global $ilUser
Definition: imgupload.php:15
+ Here is the call graph for this function:

◆ getQuestionJsOfPage()

ilPCQuestion::getQuestionJsOfPage (   $a_no_interaction,
  $a_mode 
)

Get question js.

Definition at line 439 of file class.ilPCQuestion.php.

References ilPageContent\getPage().

Referenced by modifyPageContentPostXsl().

440  {
441  require_once './Modules/Scorm2004/classes/class.ilQuestionExporter.php';
442  $q_ids = $this->getPage()->getQuestionIds();
443  $js = array();
444  if (count($q_ids) > 0)
445  {
446  foreach ($q_ids as $q_id)
447  {
448  $q_exporter = new ilQuestionExporter($a_no_interaction);
449  $image_path = null;
450  if ($a_mode == "offline")
451  {
452  if ($this->getPage()->getParentType() == "sahs")
453  {
454  $image_path = "./objects/";
455  }
456  if ($this->getPage()->getParentType() == "lm")
457  {
458  $image_path = "./assessment/0/".$q_id."/images/";
459  }
460  }
461 
462  $js[$q_id] = $q_exporter->exportQuestion($q_id, $image_path, $a_mode);
463  }
464  }
465  return $js;
466  }
Scorm 2004 Question Exporter.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getQuestionReference()

ilPCQuestion::getQuestionReference ( )

Get Question Reference.

Returns
string Question Reference

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

61  {
62  if (is_object($this->q_node))
63  {
64  return $this->q_node->get_attribute("QRef", $a_questionreference);
65  }
66  return false;
67  }

◆ init()

ilPCQuestion::init ( )

Init page content component.

Definition at line 28 of file class.ilPCQuestion.php.

References ilPageContent\setType().

29  {
30  $this->setType("pcqst");
31  }
setType($a_type)
Set Type.
+ Here is the call graph for this function:

◆ modifyPageContentPostXsl()

ilPCQuestion::modifyPageContentPostXsl (   $a_output,
  $a_mode 
)

Modify page content after xsl.

Parameters
string$a_output
Returns
string

Definition at line 260 of file class.ilPCQuestion.php.

References $lng, assQuestionGUI\_getQuestionGUI(), ilPageContent\getPage(), and getQuestionJsOfPage().

261  {
262  global $lng;
263 
264  if ($this->getPage()->getPageConfig()->getEnableSelfAssessment())
265  {
266  // #14154
267  $q_ids = $this->getPage()->getQuestionIds();
268  if(sizeof($q_ids))
269  {
270  include_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
271  foreach($q_ids as $q_id)
272  {
273  $q_gui = assQuestionGUI::_getQuestionGUI("", $q_id);
274  // object check due to #16557
275  if(is_object($q_gui->object) && !$q_gui->object->isComplete())
276  {
277  $a_output = str_replace("{{{{{Question;il__qst_".$q_id."}}}}}",
278  "<i>".$lng->txt("cont_empty_question")."</i>",
279  $a_output);
280  }
281  }
282 
283  // this exports the questions which is needed below
284  $qhtml = $this->getQuestionJsOfPage(($a_mode == "edit") ? true : false, $a_mode);
285 
286  require_once './Modules/Scorm2004/classes/class.ilQuestionExporter.php';
287  $a_output = "<script>".ilQuestionExporter::questionsJS($q_ids)."</script>".$a_output;
288  if(!self::$initial_done)
289  {
290  $a_output = "<script>var ScormApi=null; var questions = new Array();</script>".$a_output;
291  self::$initial_done = true;
292  }
293  }
294  }
295  else
296  {
297  // set by T&A components
298  $qhtml = $this->getPage()->getPageConfig()->getQuestionHTML();
299  }
300 
301  if (is_array($qhtml))
302  {
303  foreach ($qhtml as $k => $h)
304  {
305  $a_output = str_replace("{{{{{Question;il__qst_$k"."}}}}}", " ".$h, $a_output);
306  }
307  }
308 
309  return $a_output;
310  }
getQuestionJsOfPage($a_no_interaction, $a_mode)
Get question js.
& _getQuestionGUI($question_type, $question_id=-1)
Creates a question gui representation and returns the alias to the question gui note: please do not u...
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ resetInitialState()

static ilPCQuestion::resetInitialState ( )
static

Reset initial state (for exports)

Definition at line 315 of file class.ilPCQuestion.php.

Referenced by ilObjContentObject\exportPageHTML().

316  {
317  self::$initial_done = false;
318  }
+ Here is the caller graph for this function:

◆ setNode()

ilPCQuestion::setNode ( $a_node)

Set node.

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

37  {
38  parent::setNode($a_node); // this is the PageContent node
39  $this->q_node =& $a_node->first_child(); //... and this the Question
40  }

◆ setQuestionReference()

ilPCQuestion::setQuestionReference (   $a_questionreference)

Set Question Reference.

Parameters
string$a_questionreferenceQuestion Reference

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

48  {
49  if (is_object($this->q_node))
50  {
51  $this->q_node->set_attribute("QRef", $a_questionreference);
52  }
53  }

Field Documentation

◆ $dom

ilPCQuestion::$dom

Definition at line 20 of file class.ilPCQuestion.php.

◆ $initial_done

ilPCQuestion::$initial_done
staticprotected

Definition at line 23 of file class.ilPCQuestion.php.

◆ $q_node

ilPCQuestion::$q_node

Definition at line 21 of file class.ilPCQuestion.php.


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