• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

assessment/classes/class.assQuestionGUI.php

Go to the documentation of this file.
00001 <?php
00002  /*
00003    +----------------------------------------------------------------------------+
00004    | ILIAS open source                                                          |
00005    +----------------------------------------------------------------------------+
00006    | Copyright (c) 1998-2001 ILIAS open source, University of Cologne           |
00007    |                                                                            |
00008    | This program is free software; you can redistribute it and/or              |
00009    | modify it under the terms of the GNU General Public License                |
00010    | as published by the Free Software Foundation; either version 2             |
00011    | of the License, or (at your option) any later version.                     |
00012    |                                                                            |
00013    | This program is distributed in the hope that it will be useful,            |
00014    | but WITHOUT ANY WARRANTY; without even the implied warranty of             |
00015    | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              |
00016    | GNU General Public License for more details.                               |
00017    |                                                                            |
00018    | You should have received a copy of the GNU General Public License          |
00019    | along with this program; if not, write to the Free Software                |
00020    | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
00021    +----------------------------------------------------------------------------+
00022 */
00023 
00024 require_once "./assessment/classes/class.assQuestion.php";
00025 
00037 class ASS_QuestionGUI
00038 {
00046         var $object;
00047 
00048         var $tpl;
00049         var $lng;
00050         var $error;
00051         
00059         function ASS_QuestionGUI()
00060         {
00061                 global $lng, $tpl, $ilCtrl;
00062 
00063 
00064                 $this->lng =& $lng;
00065                 $this->tpl =& $tpl;
00066                 $this->ctrl =& $ilCtrl;
00067                 $this->ctrl->saveParameter($this, "q_id");
00068 
00069                 $this->object = new ASS_Question();
00070         }
00071 
00075         function &executeCommand()
00076         {
00077                 $cmd = $this->ctrl->getCmd("editQuestion");
00078                 $next_class = $this->ctrl->getNextClass($this);
00079 
00080                 $cmd = $this->getCommand($cmd);
00081 
00082                 switch($next_class)
00083                 {
00084                         default:
00085                                 $ret =& $this->$cmd();
00086                                 break;
00087                 }
00088                 return $ret;
00089         }
00090 
00091         function getCommand($cmd)
00092         {
00093                 return $cmd;
00094         }
00095 
00096 
00105         function getQuestionType()
00106         {
00107                 return "";
00108         }
00109 
00113         function getType()
00114         {
00115                 return $this->getQuestionType();
00116         }
00117 
00125         function outOtherQuestionData()
00126         {
00127         }
00128 
00137         function writePostData()
00138         {
00139         }
00140 
00148         function outWorkingForm($test_id = "", $is_postponed = false)
00149         {
00150         }
00151 
00155         function assessment()
00156         {
00157                 $this->tpl->addBlockFile("CONTENT", "content", "tpl.il_as_qpl_content.html", true);
00158                 $this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
00159 
00160                 // catch feedback message
00161                 sendInfo();
00162 
00163                 //$this->setLocator();
00164 
00165                 $title = $this->lng->txt("qpl_assessment_of_questions");
00166                 if (!empty($title))
00167                 {
00168                         $this->tpl->setVariable("HEADER", $title);
00169                 }
00170                 //$question =& $this->object->createQuestion("", $_GET["edit"]);
00171                 $total_of_answers = $this->object->getTotalAnswers();
00172                 $counter = 0;
00173                 $color_class = array("tblrow1", "tblrow2");
00174                 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_as_qpl_assessment_of_questions.html", true);
00175                 if (!$total_of_answers)
00176                 {
00177                         $this->tpl->setCurrentBlock("emptyrow");
00178                         $this->tpl->setVariable("TXT_NO_ASSESSMENT", $this->lng->txt("qpl_assessment_no_assessment_of_questions"));
00179                         $this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
00180                         $this->tpl->parseCurrentBlock();
00181                 }
00182                 else
00183                 {
00184                         $this->tpl->setCurrentBlock("row");
00185                         $this->tpl->setVariable("TXT_RESULT", $this->lng->txt("qpl_assessment_total_of_answers"));
00186                         $this->tpl->setVariable("TXT_VALUE", $total_of_answers);
00187                         $this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
00188                         $counter++;
00189                         $this->tpl->parseCurrentBlock();
00190                         $this->tpl->setCurrentBlock("row");
00191                         $this->tpl->setVariable("TXT_RESULT", $this->lng->txt("qpl_assessment_total_of_right_answers"));
00192                         $this->tpl->setVariable("TXT_VALUE", sprintf("%2.2f", $this->object->_getTotalRightAnswers($_GET["q_id"]) * 100.0) . " %");
00193                         $this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
00194                         $this->tpl->parseCurrentBlock();
00195                 }
00196                 $this->tpl->setCurrentBlock("adm_content");
00197                 $this->tpl->setVariable("TXT_QUESTION_TITLE", $this->object->getTitle());
00198                 $this->tpl->setVariable("TXT_RESULT", $this->lng->txt("result"));
00199                 $this->tpl->setVariable("TXT_VALUE", $this->lng->txt("value"));
00200                 $this->tpl->parseCurrentBlock();
00201         }
00202 
00203 
00212         function writeOtherPostData($result = 0)
00213         {
00214                 $this->object->setEstimatedWorkingTime(
00215                         ilUtil::stripSlashes($_POST["Estimated"][h]),
00216                         ilUtil::stripSlashes($_POST["Estimated"][m]),
00217                         ilUtil::stripSlashes($_POST["Estimated"][s])
00218                 );
00219 
00220                 $saved = false;
00221                 return $saved;
00222         }
00223 
00235         function &_getQuestionGUI($question_type, $question_id = -1)
00236         {
00237                 if ((!$question_type) and ($question_id > 0))
00238                 {
00239                         $question_type = ASS_Question::getQuestionTypeFromDb($question_id);
00240 // echo ":".$question_type;
00241                 }
00242                 switch ($question_type)
00243                 {
00244                         case "qt_multiple_choice_sr":
00245                                 $question =& new ASS_MultipleChoiceGUI();
00246                                 $question->object->set_response(RESPONSE_SINGLE);
00247                                 break;
00248 
00249                         case "qt_multiple_choice_mr":
00250                                 $question =& new ASS_MultipleChoiceGUI();
00251                                 $question->object->set_response(RESPONSE_MULTIPLE);
00252                                 break;
00253 
00254                         case "qt_cloze":
00255                                 $question =& new ASS_ClozeTestGUI();
00256                                 break;
00257 
00258                         case "qt_matching":
00259                                 $question =& new ASS_MatchingQuestionGUI();
00260                                 break;
00261 
00262                         case "qt_ordering":
00263                                 $question =& new ASS_OrderingQuestionGUI();
00264                                 break;
00265 
00266                         case "qt_imagemap":
00267                                 $question =& new ASS_ImagemapQuestionGUI();
00268                                 break;
00269 
00270                         case "qt_javaapplet":
00271                                 $question =& new ASS_JavaAppletGUI();
00272                                 break;
00273                         case "qt_text":
00274                                 $question =& new ASS_TextQuestionGUI();
00275                                 break;
00276                 }
00277                 if ($question_id > 0)
00278                 {
00279                         $question->object->loadFromDb($question_id);
00280                 }
00281 
00282                 return $question;
00283         }
00284 
00285         function _getGUIClassNameForId($a_q_id)
00286         {
00287                 $q_type =  ASS_Question::getQuestionTypeFromDb($a_q_id);
00288                 $class_name = ASS_QuestionGUI::_getClassNameForQType($q_type);
00289                 return $class_name;
00290         }
00291 
00292         function _getClassNameForQType($q_type)
00293         {
00294                 switch ($q_type)
00295                 {
00296                         case "qt_multiple_choice_sr":
00297                                 return "ASS_MultipleChoiceGUI";
00298                                 break;
00299 
00300                         case "qt_multiple_choice_mr":
00301                                 return "ASS_MultipleChoiceGUI";
00302                                 break;
00303 
00304                         case "qt_cloze":
00305                                 return "ASS_ClozeTestGUI";
00306                                 break;
00307 
00308                         case "qt_matching":
00309                                 return "ASS_MatchingQuestionGUI";
00310                                 break;
00311 
00312                         case "qt_ordering":
00313                                 return "ASS_OrderingQuestionGUI";
00314                                 break;
00315 
00316                         case "qt_imagemap":
00317                                 return "ASS_ImagemapQuestionGUI";
00318                                 break;
00319 
00320                         case "qt_javaapplet":
00321                                 return "ASS_JavaAppletGUI";
00322                                 break;
00323 
00324                         case "qt_text":
00325                                 return "ASS_TextQuestionGUI";
00326                                 break;
00327                 }
00328 
00329         }
00330 
00341         function &createQuestionGUI($question_type, $question_id = -1)
00342         {
00343                 $this->question =& ASS_QuestionGUI::_getQuestionGUI($question_type, $question_id);
00344         }
00345 
00349         function getQuestionTemplate($q_type)
00350         {
00351                 $this->tpl->addBlockFile("CONTENT", "content", "tpl.il_as_qpl_content.html", true);
00352                 $this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
00353                 // set screen title (Edit/Create Question)
00354                 if ($this->object->id > 0)
00355                 {
00356                         $title = $this->lng->txt("edit") . " " . $this->lng->txt($q_type);
00357                 }
00358                 else
00359                 {
00360                         $title = $this->lng->txt("create_new") . " " . $this->lng->txt($q_type);
00361                         $this->tpl->setVariable("HEADER", $title);
00362                 }
00363                 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_as_question.html", true);
00364         }
00365 
00369         function outQuestionPage($a_temp_var, $a_postponed = false, $test_id = "")
00370         {
00371                 $postponed = "";
00372                 if ($a_postponed)
00373                 {
00374                         $postponed = " (" . $this->lng->txt("postponed") . ")";
00375                 }
00376 
00377                 include_once("content/classes/Pages/class.ilPageObjectGUI.php");
00378                 $this->lng->loadLanguageModule("content");
00379                 $page =& new ilPageObject("qpl", $this->object->getId());
00380                 $page_gui =& new ilPageObjectGUI($page);
00381                 $page_gui->setQuestionXML($this->object->to_xml(false, false, true, $test_id));
00382                 $page_gui->setTemplateTargetVar($a_temp_var);
00383                 $page_gui->setFileDownloadLink("test.php?cmd=downloadFile".
00384                         "&amp;ref_id=".$_GET["ref_id"]);
00385                 $page_gui->setFullscreenLink("test.php?cmd=fullscreen".
00386                         "&amp;ref_id=".$_GET["ref_id"]);
00387                 $page_gui->setSourcecodeDownloadScript("test.php?ref_id=".$_GET["ref_id"]);
00388                 $page_gui->setOutputMode("presentation");
00389                 //$page_gui->setHeader($this->object->getTitle());
00390                 $page_gui->setPresentationTitle($this->object->getTitle().$postponed);
00391                 return $page_gui->presentation();
00392         }
00393 
00397         function cancel()
00398         {
00399                 if ($_GET["calling_test"])
00400                 {
00401                         $_GET["ref_id"] = $_GET["calling_test"];
00402                         ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["calling_test"]);
00403                 }
00404                 elseif ($_GET["test_ref_id"])
00405                 {
00406                         $_GET["ref_id"] = $_GET["test_ref_id"];
00407                         ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["test_ref_id"]);
00408                 }
00409                 else
00410                 {
00411                         if ($_GET["q_id"] > 0)
00412                         {
00413                                 $this->ctrl->setParameterByClass("ilpageobjectgui", "q_id", $_GET["q_id"]);
00414                                 $this->ctrl->redirectByClass("ilpageobjectgui", "view");
00415                         }
00416                         else
00417                         {
00418                                 $this->ctrl->redirectByClass("ilobjquestionpoolgui", "questions");
00419                         }
00420                 }
00421         }
00422 
00423         function originalSyncForm()
00424         {
00425                 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_tst_sync_original.html", true);
00426                 $this->tpl->setCurrentBlock("adm_content");
00427                 $this->tpl->setVariable("BUTTON_YES", $this->lng->txt("yes"));
00428                 $this->tpl->setVariable("BUTTON_NO", $this->lng->txt("no"));
00429                 $this->tpl->setVariable("FORM_ACTION", $this->ctrl->getFormAction($this));
00430                 $this->tpl->setVariable("TEXT_SYNC", $this->lng->txt("confirm_sync_questions"));
00431                 $this->tpl->parseCurrentBlock();
00432         }
00433         
00434         function sync()
00435         {
00436                 $original_id = $this->object->original_id;
00437                 if ($original_id)
00438                 {
00439                         $this->object->syncWithOriginal();
00440                 }
00441                 $_GET["ref_id"] = $_GET["calling_test"];
00442                 ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["calling_test"]);
00443         }
00444 
00445         function cancelSync()
00446         {
00447                 $_GET["ref_id"] = $_GET["calling_test"];
00448                 ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["calling_test"]);
00449         }
00450                 
00454         function saveEdit()
00455         {
00456                 $result = $this->writePostData();
00457                 if ($result == 0)
00458                 {
00459                         $this->object->saveToDb();
00460                         $originalexists = $this->object->_questionExists($this->object->original_id);
00461                         if ($_GET["calling_test"] && $originalexists)
00462                         {
00463                                 $this->originalSyncForm();
00464                         }
00465                         elseif ($_GET["calling_test"] && !$originalexists)
00466                         {
00467                                 $_GET["ref_id"] = $_GET["calling_test"];
00468                                 ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["calling_test"]);
00469                                 return;
00470                         }
00471                         elseif ($_GET["test_ref_id"])
00472                         {
00473                                 require_once ("assessment/classes/class.ilObjTest.php");
00474                                 $_GET["ref_id"] = $_GET["test_ref_id"];
00475                                 $test =& new ilObjTest($_GET["test_ref_id"], true);
00476                                 $test->insertQuestion($this->object->getId());
00477                                 ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["test_ref_id"]);
00478                         }
00479                         else
00480                         {
00481                                 $_GET["q_id"] = $this->object->getId();
00482                                 $this->editQuestion();
00483                                 if (strcmp($_SESSION["info"], "") != 0)
00484                                 {
00485                                         sendInfo($_SESSION["info"] . "<br />" . $this->lng->txt("msg_obj_modified"), false);
00486                                 }
00487                                 else
00488                                 {
00489                                         sendInfo($this->lng->txt("msg_obj_modified"), false);
00490                                 }
00491                                 $this->ctrl->setParameterByClass("ilpageobjectgui", "q_id", $this->object->getId());
00492                                 $this->ctrl->redirectByClass("ilpageobjectgui", "view");
00493                         }
00494                 }
00495                 else
00496                 {
00497       sendInfo($this->lng->txt("fill_out_all_required_fields"));
00498                         $this->editQuestion();
00499                 }
00500         }
00501 
00505         function save()
00506         {
00507                 $old_id = $_GET["q_id"];
00508                 $result = $this->writePostData();
00509                 if ($result == 0)
00510                 {
00511                         $this->object->saveToDb();
00512                         $originalexists = $this->object->_questionExists($this->object->original_id);
00513                         if ($_GET["calling_test"] && $originalexists)
00514                         {
00515                                 $this->originalSyncForm();
00516                         }
00517                         elseif ($_GET["calling_test"] && !$originalexists)
00518                         {
00519                                 $_GET["ref_id"] = $_GET["calling_test"];
00520                                 ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["calling_test"]);
00521                                 return;
00522                         }
00523                         elseif ($_GET["test_ref_id"])
00524                         {
00525                                 require_once ("assessment/classes/class.ilObjTest.php");
00526                                 $_GET["ref_id"] = $_GET["test_ref_id"];
00527                                 $test =& new ilObjTest($_GET["test_ref_id"], true);
00528                                 $test->insertQuestion($this->object->getId());
00529                                 ilUtil::redirect("test.php?cmd=questions&ref_id=".$_GET["test_ref_id"]);
00530                         }
00531                         else
00532                         {
00533                                 $_GET["q_id"] = $this->object->getId();
00534                                 if ($_GET["q_id"] !=  $old_id)
00535                                 {
00536                                         // first save
00537                                         $this->ctrl->setParameterByClass($_GET["cmdClass"], "q_id", $this->object->getId());
00538                                         $this->ctrl->setParameterByClass($_GET["cmdClass"], "sel_question_types", $_GET["sel_question_types"]);
00539                                         $this->ctrl->redirectByClass($_GET["cmdClass"], "editQuestion");
00540                                 }
00541                                 $this->editQuestion();
00542                                 if (strcmp($_SESSION["info"], "") != 0)
00543                                 {
00544                                         sendInfo($_SESSION["info"] . "<br />" . $this->lng->txt("msg_obj_modified"), false);
00545                                 }
00546                                 else
00547                                 {
00548                                         sendInfo($this->lng->txt("msg_obj_modified"), false);
00549                                 }
00550         //                      $this->ctrl->setParameterByClass("ilpageobjectgui", "q_id", $this->object->getId());
00551         //                      $this->ctrl->redirectByClass("ilpageobjectgui", "view");
00552                         }
00553                 }
00554                 else
00555                 {
00556       sendInfo($this->lng->txt("fill_out_all_required_fields"));
00557                         $this->editQuestion();
00558                 }
00559         }
00560 
00564         function apply()
00565         {
00566                 $this->writePostData();
00567                 $this->object->saveToDb();
00568                 $_GET["q_id"] = $this->object->getId();
00569                 $this->editQuestion();
00570         }
00571         
00572         function cancelExplorer()
00573         {
00574                 unset($_SESSION["subquestion_index"]);
00575                 unset($_SESSION["link_new_type"]);
00576                 $this->editQuestion();
00577         }
00578         
00579         function addSuggestedSolution()
00580         {
00581                 global $tree;
00582 
00583                 require_once("./assessment/classes/class.ilSolutionExplorer.php");
00584                 switch ($_POST["internalLinkType"])
00585                 {
00586                         case "lm":
00587                                 $_SESSION["link_new_type"] = "lm";
00588                                 $_SESSION["search_link_type"] = "lm";
00589                                 break;
00590                         case "glo":
00591                                 $_SESSION["link_new_type"] = "glo";
00592                                 $_SESSION["search_link_type"] = "glo";
00593                                 break;
00594                         case "st":
00595                                 $_SESSION["link_new_type"] = "lm";
00596                                 $_SESSION["search_link_type"] = "st";
00597                                 break;
00598                         case "pg":
00599                                 $_SESSION["link_new_type"] = "lm";
00600                                 $_SESSION["search_link_type"] = "pg";
00601                                 break;
00602                         default:
00603                                 if (!$_SESSION["link_new_type"])
00604                                 {
00605                                         $_SESSION["link_new_type"] = "lm";
00606                                 }
00607                                 break;
00608                 }
00609 
00610                 sendInfo($this->lng->txt("select_object_to_link"));
00611                 
00612                 $exp = new ilSolutionExplorer($this->ctrl->getLinkTarget($this,'addSuggestedSolution'), get_class($this));
00613 
00614                 $exp->setExpand($_GET["expand"] ? $_GET["expand"] : $tree->readRootId());
00615                 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,'addSuggestedSolution'));
00616                 $exp->setTargetGet("ref_id");
00617                 $exp->setRefId($this->cur_ref_id);
00618                 $exp->addFilter($_SESSION["link_new_type"]);
00619                 $exp->setSelectableType($_SESSION["link_new_type"]);
00620 
00621                 // build html-output
00622                 $exp->setOutput(0);
00623 
00624                 $this->tpl->addBlockFile("EXPLORER", "explorer", "tpl.il_as_qpl_explorer.html", true);
00625                 $this->tpl->setVariable("EXPLORER_TREE",$exp->getOutput());
00626                 $this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("cancel"));
00627                 $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
00628                 $this->tpl->parseCurrentBlock();
00629         }
00630         
00631         function removeSuggestedSolution()
00632         {
00633                 $this->object->suggested_solutions = array();
00634                 $this->object->saveToDb();
00635                 $this->editQuestion();
00636         }
00637         
00638         function addPG()
00639         {
00640                 $subquestion_index = 0;
00641                 if ($_SESSION["subquestion_index"] >= 0)
00642                 {
00643                         $subquestion_index = $_SESSION["subquestion_index"];
00644                 }
00645                 $this->object->setSuggestedSolution("il__pg_" . $_GET["pg"], $subquestion_index);
00646                 unset($_SESSION["subquestion_index"]);
00647                 unset($_SESSION["link_new_type"]);
00648                 unset($_SESSION["search_link_type"]);
00649                 sendInfo($this->lng->txt("suggested_solution_added_successfully"));
00650                 $this->editQuestion();
00651         }
00652         
00653         function addST()
00654         {
00655                 $subquestion_index = 0;
00656                 if ($_SESSION["subquestion_index"] >= 0)
00657                 {
00658                         $subquestion_index = $_SESSION["subquestion_index"];
00659                 }
00660                 $this->object->setSuggestedSolution("il__st_" . $_GET["st"], $subquestion_index);
00661                 unset($_SESSION["subquestion_index"]);
00662                 unset($_SESSION["link_new_type"]);
00663                 unset($_SESSION["search_link_type"]);
00664                 sendInfo($this->lng->txt("suggested_solution_added_successfully"));
00665                 $this->editQuestion();
00666         }
00667 
00668         function addGIT()
00669         {
00670                 $subquestion_index = 0;
00671                 if ($_SESSION["subquestion_index"] >= 0)
00672                 {
00673                         $subquestion_index = $_SESSION["subquestion_index"];
00674                 }
00675                 $this->object->setSuggestedSolution("il__git_" . $_GET["git"], $subquestion_index);
00676                 unset($_SESSION["subquestion_index"]);
00677                 unset($_SESSION["link_new_type"]);
00678                 unset($_SESSION["search_link_type"]);
00679                 sendInfo($this->lng->txt("suggested_solution_added_successfully"));
00680                 $this->editQuestion();
00681         }
00682         
00683         function linkChilds()
00684         {
00685                 switch ($_SESSION["search_link_type"])
00686                 {
00687                         case "pg":
00688                         case "st":
00689                                 $_GET["q_id"] = $this->object->getId();
00690                                 $this->tpl->setVariable("HEADER", $this->object->getTitle());
00691                                 $this->getQuestionTemplate($_GET["sel_question_types"]);
00692                                 $color_class = array("tblrow1", "tblrow2");
00693                                 $counter = 0;
00694                                 require_once("./content/classes/class.ilObjContentObject.php");
00695                                 $cont_obj =& new ilObjContentObject($_GET["source_id"], true);
00696                                 // get all chapters
00697                                 $ctree =& $cont_obj->getLMTree();
00698                                 $nodes = $ctree->getSubtree($ctree->getNodeData($ctree->getRootId()));
00699                                 $this->tpl->addBlockFile("LINK_SELECTION", "link_selection", "tpl.il_as_qpl_internallink_selection.html", true);
00700                                 foreach($nodes as $node)
00701                                 {
00702                                         if($node["type"] == $_SESSION["search_link_type"])
00703                                         {
00704                                                 $this->tpl->setCurrentBlock("linktable_row");
00705                                                 $this->tpl->setVariable("TEXT_LINK", $node["title"]);
00706                                                 $this->tpl->setVariable("TEXT_ADD", $this->lng->txt("add"));
00707                                                 $this->tpl->setVariable("LINK_HREF", $this->ctrl->getLinkTargetByClass(get_class($this), "add" . strtoupper($node["type"])) . "&" . $node["type"] . "=" . $node["obj_id"]);
00708                                                 $this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
00709                                                 $this->tpl->parseCurrentBlock();
00710                                                 $counter++;
00711                                         }
00712                                 }
00713                                 $this->tpl->setCurrentBlock("link_selection");
00714                                 $this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("cancel"));
00715                                 $this->tpl->setVariable("TEXT_LINK_TYPE", $this->lng->txt("obj_" . $_SESSION["search_link_type"]));
00716                                 $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
00717                                 $this->tpl->parseCurrentBlock();
00718                                 break;
00719                         case "glo":
00720                                 $_GET["q_id"] = $this->object->getId();
00721                                 $this->tpl->setVariable("HEADER", $this->object->getTitle());
00722                                 $this->getQuestionTemplate($_GET["sel_question_types"]);
00723                                 $color_class = array("tblrow1", "tblrow2");
00724                                 $counter = 0;
00725                                 $this->tpl->addBlockFile("LINK_SELECTION", "link_selection", "tpl.il_as_qpl_internallink_selection.html", true);
00726                                 require_once "./content/classes/class.ilObjGlossary.php";
00727                                 $glossary =& new ilObjGlossary($_GET["source_id"], true);
00728                                 // get all glossary items
00729                                 $terms = $glossary->getTermList();
00730                                 foreach($terms as $term)
00731                                 {
00732                                         $this->tpl->setCurrentBlock("linktable_row");
00733                                         $this->tpl->setVariable("TEXT_LINK", $term["term"]);
00734                                         $this->tpl->setVariable("TEXT_ADD", $this->lng->txt("add"));
00735                                         $this->tpl->setVariable("LINK_HREF", $this->ctrl->getLinkTargetByClass(get_class($this), "addGIT") . "&git=" . $term["id"]);
00736                                         $this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
00737                                         $this->tpl->parseCurrentBlock();
00738                                         $counter++;
00739                                 }
00740                                 $this->tpl->setCurrentBlock("link_selection");
00741                                 $this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("cancel"));
00742                                 $this->tpl->setVariable("TEXT_LINK_TYPE", $this->lng->txt("glossary_term"));
00743                                 $this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
00744                                 $this->tpl->parseCurrentBlock();
00745                                 break;
00746                         case "lm":
00747                                 $subquestion_index = 0;
00748                                 if ($_SESSION["subquestion_index"] >= 0)
00749                                 {
00750                                         $subquestion_index = $_SESSION["subquestion_index"];
00751                                 }
00752                                 $this->object->setSuggestedSolution("il__lm_" . $_GET["source_id"], $subquestion_index);
00753                                 unset($_SESSION["subquestion_index"]);
00754                                 unset($_SESSION["link_new_type"]);
00755                                 unset($_SESSION["search_link_type"]);
00756                                 sendInfo($this->lng->txt("suggested_solution_added_successfully"));
00757                                 $this->editQuestion();
00758                                 break;
00759                 }
00760         }
00761 }
00762 ?>

Generated on Fri Dec 13 2013 09:06:33 for ILIAS Release_3_4_x_branch .rev 46804 by  doxygen 1.7.1