4 include_once
"./Services/COPage/classes/class.ilPageContentGUI.php";
5 include_once
"./Services/COPage/classes/class.ilPCQuestion.php";
49 public function __construct(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id =
"")
53 $this->ctrl = $DIC->ctrl();
54 $this->access = $DIC->access();
55 $this->tpl = $DIC[
"tpl"];
56 $this->tabs = $DIC->tabs();
57 $this->lng = $DIC->language();
58 $this->
user = $DIC->user();
59 $this->tree = $DIC->repositoryTree();
60 $this->toolbar = $DIC->toolbar();
62 $this->scormlmid = $a_pg_obj->parent_id;
63 parent::__construct($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
64 $ilCtrl->saveParameter($this, array(
"qpool_ref_id"));
80 $next_class =
$ilCtrl->getNextClass($this);
82 $q_type = (
$_POST[
"q_type"] !=
"")
86 switch ($next_class) {
89 if ($cmd !=
"insert") {
91 } elseif (
$_GET[
"subCmd"] !=
"") {
92 $cmd =
$_GET[
"subCmd"];
110 $this->selfassessmentmode = $a_selfassessmentmode;
120 return $this->selfassessmentmode;
137 $lng->txt(
"cont_new_question"),
138 $ilCtrl->getLinkTarget($this,
"insert")
142 $ilCtrl->setParameter($this,
"subCmd",
"insertFromPool");
145 $lng->txt(
"cont_copy_question_from_pool"),
146 $ilCtrl->getLinkTarget($this,
"insert")
149 $ilTabs->activateSubTab($a_active);
151 $ilCtrl->setParameter($this,
"subCmd",
"");
157 public function insert($a_mode =
"create")
169 include_once(
"./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php");
174 foreach ($all_types as $k => $v) {
179 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
181 $this->form_gui->setFormAction(
$ilCtrl->getFormAction($this));
182 $this->form_gui->setTitle(
$lng->txt(
"cont_ed_insert_pcqst"));
187 $qtype_input->setRequired(
true);
188 $this->form_gui->addItem($qtype_input);
192 include_once(
"./Modules/Test/classes/class.ilObjAssessmentFolder.php");
194 $ri =
new ilRadioGroupInputGUI($this->lng->txt(
"tst_add_quest_cont_edit_mode"),
"add_quest_cont_edit_mode");
197 $this->lng->txt(
'tst_add_quest_cont_edit_mode_default'),
202 $this->lng->txt(
'tst_add_quest_cont_edit_mode_page_object'),
208 $this->form_gui->addItem($ri,
true);
212 $this->form_gui->addItem($hi,
true);
240 if ($a_mode ==
"edit_empty") {
241 $this->form_gui->addCommandButton(
"edit",
$lng->txt(
"save"));
243 $this->form_gui->addCommandButton(
"create_pcqst",
$lng->txt(
"save"));
244 $this->form_gui->addCommandButton(
"cancelCreate",
$lng->txt(
"cancel"));
247 $this->tpl->setContent($this->form_gui->getHTML());
258 $ilTabs->setTabActive(
'question');
261 $this->content_obj->create($this->pg_obj, $this->hier_id);
263 $this->updated = $this->pg_obj->update();
265 if ($this->updated) {
276 $this->pg_obj->stripHierIDs();
277 $this->pg_obj->addHierIDs();
278 $hier_id = $this->content_obj->lookupHierId();
279 $ilCtrl->setParameter($this,
"q_type",
$_POST[
"q_type"]);
280 $ilCtrl->setParameter($this,
"add_quest_cont_edit_mode",
$_POST[
"add_quest_cont_edit_mode"]);
283 $ilCtrl->setParameter($this,
"hier_id", $this->content_obj->readHierId());
284 $ilCtrl->setParameter($this,
"pc_id", $this->content_obj->readPCId());
286 $ilCtrl->redirect($this,
"edit");
297 if ($a_par[
"new_id"] > 0) {
298 $this->content_obj->setQuestionReference(
"il__qst_" . $a_par[
"new_id"]);
299 $this->pg_obj->update();
311 $ilTabs->setTabActive(
'question');
315 $q_ref = $this->content_obj->getQuestionReference();
319 if (!($inst_id > 0)) {
324 $q_type = (
$_POST[
"q_type"] !=
"")
327 $ilCtrl->setParameter($this,
"q_type", $q_type);
329 if ($q_id ==
"" && $q_type ==
"") {
330 return $this->
insert(
"edit_empty");
333 include_once(
"./Modules/TestQuestionPool/classes/class.ilQuestionEditGUI.php");
334 include_once(
"./Modules/TestQuestionPool/classes/class.assQuestion.php");
335 include_once(
"./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php");
342 if ($q_id < 1 && $q_type) {
343 include_once
"./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
347 include_once(
"./Modules/Test/classes/class.ilObjAssessmentFolder.php");
349 && $_REQUEST[
'add_quest_cont_edit_mode'] !=
"") {
350 $addContEditMode =
$_GET[
'add_quest_cont_edit_mode'];
354 $q_gui->object->setAdditionalContentEditingMode($addContEditMode);
358 $q_id = $q_gui->object->createNewQuestion(
true);
359 $this->content_obj->setQuestionReference(
"il__qst_" . $q_id);
360 $this->pg_obj->update();
363 $ilCtrl->setParameterByClass(
"ilQuestionEditGUI",
"q_id", $q_id);
364 $ilCtrl->redirectByClass(array(get_class($this->pg_obj) .
"GUI",
"ilQuestionEditGUI"),
"editQuestion");
375 require_once(
"./Modules/TestQuestionPool/classes/class.assQuestionGUI.php");
377 $this->ctrl->redirectByClass(array(
"ilobjquestionpoolgui", get_class($q_gui)),
"editQuestion");
386 include_once(
"./Modules/TestQuestionPool/classes/class.ilQuestionEditGUI.php");
387 include_once(
"./Modules/TestQuestionPool/classes/class.assQuestion.php");
389 $ilTabs->setTabActive(
'feedback');
391 $q_ref = $this->content_obj->getQuestionReference();
395 if (!($inst_id > 0)) {
400 $ilCtrl->setCmdClass(
"ilquestioneditgui");
404 $edit_gui->setQuestionId($q_id);
407 $edit_gui->setSelfAssessmentEditingMode(
true);
410 $this->tpl->setContent(
$ret);
424 $parent_ref =
$tree->getParentId(
$_GET[
"ref_id"]);
425 include_once
"./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php";
427 $qpl->setType(
"qpl");
428 $qpl->setTitle(
$name);
429 $qpl->setDescription(
"");
431 $qpl->createReference();
432 $qpl->putInTree($parent_ref);
433 $qpl->setPermissions($parent_ref);
436 return $qpl->getRefId();
451 include_once(
"./Modules/TestQuestionPool/classes/class.assQuestion.php");
453 if ($this->content_obj !=
"") {
454 $q_ref = $this->content_obj->getQuestionReference();
459 if (!($inst_id > 0)) {
466 $ilCtrl->getLinkTarget($this,
"edit"),
467 array(
"editQuestion",
"save",
"cancel",
"addSuggestedSolution",
468 "cancelExplorer",
"linkChilds",
"removeSuggestedSolution",
469 "addPair",
"addTerm",
"delete",
"deleteTerms",
"editMode",
"upload",
470 "saveEdit",
"uploadingImage",
"uploadingImagemap",
"addArea",
471 "deletearea",
"saveShape",
"back",
"saveEdit",
"changeGapType",
"createGaps",
"addItem",
"addYesNo",
"addTrueFalse",
472 "toggleGraphicalAnswers",
"setMediaMode"),
478 require_once
'Modules/TestQuestionPool/classes/class.assQuestionGUI.php';
479 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php';
483 "q_id=" . (int) $q_id
485 $ilTabs->addTarget(
'feedback', $tabLink, $tabCommands,
$ilCtrl->getCmdClass(),
'');
507 $ilAccess->checkAccess(
"write",
"",
$_SESSION[
"cont_qst_pool"])
530 include_once
"./Services/COPage/classes/class.ilPoolSelectorGUI.php";
532 $ilCtrl->setParameter($this,
"subCmd",
"poolSelection");
536 $exp->setTypeWhiteList(array(
"root",
"cat",
"grp",
"fold",
"crs",
"qpl"));
537 $exp->setClickableTypes(array(
'qpl'));
539 if (!$exp->handleCommand()) {
540 $tpl->setContent($exp->getHTML());
552 $ilCtrl->setParameter($this,
"subCmd",
"insertFromPool");
553 $ilCtrl->redirect($this,
"insert");
571 $ilCtrl->setParameter($this,
"subCmd",
"poolSelection");
572 $ilToolbar->addButton(
573 $lng->txt(
"cont_select_other_qpool"),
574 $ilCtrl->getLinkTarget($this,
"insert")
576 $ilCtrl->setParameter($this,
"subCmd",
"");
580 include_once
"./Services/COPage/classes/class.ilCopySelfAssQuestionTableGUI.php";
582 $ilCtrl->setParameter($this,
"subCmd",
"listPoolQuestions");
589 $tpl->setContent($table_gui->getHTML());
603 $this->content_obj->create($this->pg_obj,
$_GET[
"hier_id"]);
605 $this->content_obj->copyPoolQuestionIntoPage(
610 $this->updated = $this->pg_obj->update();
612 $ilCtrl->returnToParent($this);
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
This class represents an option in a radio group.
setInsertTabs($a_active)
Set insert tabs.
static _getQuestionType($question_id)
Returns the question type of a question with a given id.
const ADDITIONAL_CONTENT_EDITING_MODE_PAGE_OBJECT
constant for additional content editing mode "pageobject"
static _extractInstOfTarget($a_target)
Extract installation id out of target.
static _extractObjIdOfTarget($a_target)
Extract object id out of target.
setSelfAssessmentMode($a_selfassessmentmode)
Set Self Assessment Mode.
create()
Create new question.
getPageConfig()
Get Page Config.
setNewQuestionId($a_par)
Set new question id.
const CMD_SHOW
command constants
poolSelection()
Pool selection.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getCommandsFromClassConstants($guiClassName, $cmdConstantNameBegin='CMD_')
extracts values of all constants of given class with given prefix as array can be used to get all pos...
User Interface for Editing of Page Content Objects (Paragraphs, Tables, ...)
static & _getSelfAssessmentQuestionTypes($all_tags=false)
Get all self assessment question types.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
createQuestionPool($name="Dummy")
Creates a new questionpool and returns the reference id.
static _getQuestionGUI($question_type, $question_id=-1)
Creates a question gui representation and returns the alias to the question gui note: please do not u...
static _lookupObjId($a_id)
displayValidationError()
display validation errors
insert($a_mode="create")
Insert new question form.
selectPool()
Select concrete question pool.
executeCommand()
execute command
Table to select self assessment questions for copying into learning resources.
static _lookupType($a_id, $a_reference=false)
lookup object type
const ADDITIONAL_CONTENT_EDITING_MODE_DEFAULT
constant for additional content editing mode "default"
listPoolQuestions()
List questions of pool.
insertFromPool()
Insert question from ppol.
getSelfAssessmentMode()
Get Self Assessment Mode.
Select media pool for adding objects into pages.
static isAdditionalQuestionContentEditingModePageObjectEnabled()
returns the fact wether content editing with ilias page editor is enabled for questions or not ...
__construct(&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id="")
Constructor public.
copyQuestion()
Copy question into page.