static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'calculatedmulti') { return new self($category); } else { return null; } } if (count($item->list_interactions()) > 1 || !self::has_score($item)) { return null; } if (!self::is_calculated($item)) { return null; } $main = self::get_main_interaction($item); if ($main->is_choiceInteraction()) { return new self($category); } else { return false; } }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'shortanswer') { return new self($category); } else { return null; } } if (count($item->list_interactions()) != 1 || !self::has_score($item)) { return null; } else { $main = self::get_main_interaction($item); $is_text_entry = $main->is_extendedTextInteraction() || $main->is_textEntryInteraction(); $is_numeric = self::is_numeric_interaction($item, $main); $has_answers = self::has_answers($item, $main); if ($is_text_entry && !$is_numeric && $has_answers) { return new self($category); } else { return null; } } }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'truefalse') { return new self($category); } else { return null; } } if (count($item->list_interactions()) > 1 || !self::has_score($item)) { return null; } $main = self::get_main_interaction($item); if (!$main->is_choiceInteraction()) { return null; } $choices = $main->list_simpleChoice(); if (count($choices) != 2) { return null; } $t0 = strtolower($choices[0]->value()); $t1 = strtolower($choices[1]->value()); $true = strtolower(get_string('true', 'qtype_truefalse')); $false = strtolower(get_string('false', 'qtype_truefalse')); if (($t0 == $true || $t0 == $false) && ($t1 == $true || $t1 == $false)) { return new self($category); } else { return null; } }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'numerical') { return new self($category); } else { return null; } } if (count($item->list_interactions()) > 2 || !self::has_score($item)) { return null; } if (self::is_calculated($item)) { return null; } $interactions = $item->list_interactions(); $main = self::get_main_interaction($item); if (count($interactions) == 2) { $second = $interactions[0]->responseIdentifier == $main->responseIdentifier ? $interactions[1] : $interactions[0]; if (strtoupper($second->responseIdentifier) != 'UNIT') { return null; } } if (!self::is_numeric_interaction($item, $main)) { return null; } if (!self::has_answers($item, $main)) { return null; } return new self($category); }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'calculatedsimple') { return new self($category); } else { return null; } } $accept = !is_null(CalculatedBuilder::factory($item, $source_root, $target_root)) && $item->toolName == self::get_tool_name() && $item->toolVersion >= Qti::get_tool_version() && $item->label == 'calculatedsimple'; if ($accept) { return new self($category); } else { return null; } }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'description') { return new self($category); } else { return null; } } $count = count($item->list_interactions()); if ($count == 0) { return new self($category); } else { return null; } }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'essay') { return new self($category); } else { return null; } } $count = count($item->list_interactions()); $main = self::get_main_interaction($item); $has_answers = self::has_answers($item, $main); if ($count == 1 && $main->is_extendedTextInteraction() && !$has_answers) { return new self($category); } else { return null; } }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'multianswer') { return new self($category); } else { return null; } } if ($item->has_templateDeclaration() || !self::has_score($item)) { return null; } else { $interactions = $item->list_interactions(); foreach ($interactions as $interaction) { if (!($interaction->is_inlineChoiceInteraction() || $interaction->is_choiceInteraction() || $interaction->is_textEntryInteraction() || $interaction->is_gapMatchInteraction())) { return null; } } return new self($category); } }
static function factory(QtiImportSettings $settings) { $item = $settings->get_reader(); $category = $settings->get_category(); //if it is a reimport if ($data = $settings->get_data()) { if ($data->qtype == 'match') { return new self($category); } else { return null; } } if (!self::has_score($item)) { return null; } else { $count = count($item->list_interactions()); $main = self::get_main_interaction($item); if ($count == 1 && $main->is_associateInteraction() || $main->is_matchInteraction()) { return new self($category); } else { return null; } } }