5include_once 
'./Modules/Course/classes/Objectives/class.ilLOSettings.php';
 
    6include_once 
'./Services/Table/classes/class.ilTable2GUI.php';
 
    7include_once 
'./Modules/Course/exceptions/class.ilLOInvalidConfiguationException.php';
 
   34    public function __construct($a_parent_obj, $a_parent_cmd, $a_container_id, $a_test_type, $a_assignment_type = self::TYPE_SINGLE_ASSIGNMENTS)
 
   36        $this->test_type = $a_test_type;
 
   37        $this->assignment_type = $a_assignment_type;
 
   38        $this->container_id = $a_container_id;
 
   40        $this->
setId(
'obj_loc_' . $a_container_id);
 
   41        parent::__construct($a_parent_obj, $a_parent_cmd);
 
   50        switch ($this->test_type) {
 
   53                    if ($this->
getSettings()->isInitialTestQualifying()) {
 
   54                        $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_its_q_all'));
 
   56                        $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_its_nq_all'));
 
   59                    if ($this->
getSettings()->isInitialTestQualifying()) {
 
   60                        $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_it_q'));
 
   62                        $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_it_nq'));
 
   70                    $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_qts_all'));
 
   72                    $this->
setTitle($this->lng->txt(
'crs_loc_settings_tbl_qt'));
 
   98        $this->
addColumn($this->lng->txt(
'title'), 
'title');
 
  101            $this->
addColumn($this->lng->txt(
'crs_objectives'), 
'objective');
 
  104        $this->
addColumn($this->lng->txt(
'crs_loc_tbl_tst_type'), 
'ttype');
 
  105        $this->
addColumn($this->lng->txt(
'crs_loc_tbl_tst_qst_qpl'), 
'qstqpl');
 
  108        $this->
setRowTemplate(
"tpl.crs_loc_tst_row.html", 
"Modules/Course");
 
  112            $this->
addMultiCommand(
'confirmDeleteTests', $this->lng->txt(
'crs_loc_delete_assignment'));
 
  116            $this->
addMultiCommand(
'confirmDeleteTest', $this->lng->txt(
'crs_loc_delete_assignment'));
 
  131            $this->tpl->setVariable(
'VAL_ID', $set[
'assignment_id']);
 
  133            $this->tpl->setVariable(
'VAL_ID', $set[
'ref_id']);
 
  135        $this->tpl->setVariable(
'VAL_TITLE', $set[
'title']);
 
  136        include_once 
'./Services/Link/classes/class.ilLink.php';
 
  138        $ilCtrl->setParameterByClass(
'ilobjtestgui', 
'ref_id', $set[
'ref_id']);
 
  139        $ilCtrl->setParameterByClass(
'ilobjtestgui', 
'cmd', 
'questionsTabGateway');
 
  140        $this->tpl->setVariable(
 
  142            $ilCtrl->getLinkTargetByClass(
'ilobjtestgui')
 
  146            $this->tpl->setCurrentBlock(
'objectives');
 
  147            $this->tpl->setVariable(
'VAL_OBJECTIVE', (
string) $set[
'objective']);
 
  148            $this->tpl->parseCurrentBlock();
 
  153        #$this->tpl->setVariable('TITLE_LINK',ilLink::_getLink($set['ref_id'])); 
  154        if (strlen($set[
'description'])) {
 
  155            $this->tpl->setVariable(
'VAL_DESC', $set[
'description']);
 
  158        switch ($set[
'ttype']) {
 
  160                $type = $this->lng->txt(
'tst_question_set_type_fixed');
 
  164                $type = $this->lng->txt(
'tst_question_set_type_random');
 
  168        $this->tpl->setVariable(
'VAL_TTYPE', 
$type);
 
  169        $this->tpl->setVariable(
'VAL_QST_QPL', $set[
'qst_info']);
 
  171        if (isset($set[
'qpls']) && is_array($set[
'qpls']) && count($set[
'qpls']) > 0) {
 
  172            foreach ($set[
'qpls'] as 
$title) {
 
  173                $this->tpl->setCurrentBlock(
'qpl');
 
  174                $this->tpl->setVariable(
'MAT_TITLE', 
$title);
 
  175                $this->tpl->parseCurrentBlock();
 
  177            $this->tpl->touchBlock(
'ul_begin');
 
  178            $this->tpl->touchBlock(
'ul_end');
 
  184        include_once 
'./Modules/Course/classes/Objectives/class.ilLOTestAssignments.php';
 
  187        $available = $assignments->getAssignmentsByType($this->test_type);
 
  189        foreach ($available as $assignment) {
 
  191                $tmp = $this->doParse($assignment->getTestRefId(), $assignment->getObjectiveId());
 
  193                $assignment->delete();
 
  198                $tmp[
'assignment_id'] = $assignment->getAssignmentId();
 
  211    public function parse($a_tst_ref_id)
 
  213        $this->
setData(array($this->doParse($a_tst_ref_id)));
 
  221    protected function doParse($a_tst_ref_id, $a_objective_id = 0)
 
  223        include_once 
'./Modules/Test/classes/class.ilObjTest.php';
 
  229        $tst_data[
'ref_id'] = $tst->getRefId();
 
  230        $tst_data[
'title'] = $tst->getTitle();
 
  231        $tst_data[
'description'] = $tst->getLongDescription();
 
  232        $tst_data[
'ttype'] = $tst->getQuestionSetType();
 
  236            include_once 
'./Modules/Course/classes/class.ilCourseObjective.php';
 
  240        switch ($tst->getQuestionSetType()) {
 
  242                $tst_data[
'qst_info'] = $this->lng->txt(
'crs_loc_tst_num_qst');
 
  243                $tst_data[
'qst_info'] .= (
' ' . count($tst->getAllQuestions()));
 
  248                include_once 
'./Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionFactory.php';
 
  249                include_once 
'./Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionList.php';
 
  260                $list->loadDefinitions();
 
  263                include_once 
'./Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
 
  265                $translater->loadLabels(
$list);
 
  267                $tst_data[
'qst_info'] = $this->lng->txt(
'crs_loc_tst_qpls');
 
  269                foreach (
$list as $definition) {
 
  271                    $title = $definition->getPoolTitle();
 
  273                    $filterTitle = array();
 
  274                    $filterTitle[] = $translater->getTaxonomyFilterLabel($definition->getMappedTaxonomyFilter());
 
  275                    $filterTitle[] = $translater->getTypeFilterLabel($definition->getTypeFilter());
 
  276                    if (!empty($filterTitle)) {
 
  277                        $title .= 
' -> ' . implode(
' / ', $filterTitle);
 
  279                    #$tax_id = $definition->getMappedFilterTaxId(); 
  282                    #   $title .= (' -> '. $translater->getTaxonomyTreeLabel($tax_id)); 
  284                    #$tax_node = $definition->getMappedFilterTaxNodeId(); 
  287                    #   $title .= (' -> ' .$translater->getTaxonomyNodeLabel($tax_node)); 
  290                    $tst_data[
'qpls'][] = 
$title;
 
  294                    $tst_data[
'qst_info'] .= (
' ' . (int) 0);
 
An exception for terminatinating execution or to throw for unit testing.
static lookupObjectiveTitle($a_objective_id, $a_add_description=false)
Class ilLOInvalidConfigurationException.
const TYPE_TEST_QUALIFIED
static getInstanceByObjId($a_obj_id)
get singleton instance
Class ilLOTestAssignmentTableGUI.
parseMultipleAssignments()
const TYPE_SINGLE_ASSIGNMENTS
const TYPE_MULTIPLE_ASSIGNMENTS
__construct($a_parent_obj, $a_parent_cmd, $a_container_id, $a_test_type, $a_assignment_type=self::TYPE_SINGLE_ASSIGNMENTS)
Constructor.
getSettings()
Get settings.
parse($a_tst_ref_id)
Parse single test assignment.
static getInstance($a_container_id)
Get instance by container id.
const QUESTION_SET_TYPE_RANDOM
type setting value for random question set
const QUESTION_SET_TYPE_FIXED
type setting value for fixed question set
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
getParentObject()
Get parent object.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
getFormAction()
Get Form action parameter.
setData($a_data)
set table data @access public
setRowTemplate($a_template, $a_template_dir="")
Set row template.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
if(isset($_REQUEST['delete'])) $list