ILIAS
release_8 Revision v8.19
|
Class for matching questions. More...
Public Member Functions | |
__construct ( $title="", $comment="", $author="", $owner=-1, $question="", $matching_type=MT_TERMS_DEFINITIONS) | |
assMatchingQuestion constructor More... | |
getShuffleMode () | |
setShuffleMode (int $shuffle) | |
isComplete () | |
Returns true, if a matching question is complete for use. More... | |
saveToDb ($original_id="") | |
Saves a assMatchingQuestion object to a database. More... | |
saveAnswerSpecificDataToDb () | |
Saves the answer specific records into a question types answer table. More... | |
saveAdditionalQuestionDataToDb () | |
Saves a record to the question types additional data table. More... | |
loadFromDb ($question_id) | |
Loads a assMatchingQuestion object from a database. More... | |
duplicate (bool $for_test=true, string $title="", string $author="", string $owner="", $testObjId=null) | |
Duplicates an assMatchingQuestion. More... | |
copyObject ($target_questionpool_id, $title="") | |
Copies an assMatchingQuestion. More... | |
createNewOriginalFromThisDuplicate ($targetParentId, $targetQuestionTitle="") | |
duplicateImages ($question_id, $objectId=null) | |
copyImages ($question_id, $source_questionpool) | |
insertMatchingPair ($position, $term=null, $definition=null, $points=0.0) | |
Inserts a matching pair for an matching choice question. More... | |
addMatchingPair (assAnswerMatchingTerm $term=null, assAnswerMatchingDefinition $definition=null, $points=0.0) | |
Adds an matching pair for an matching choice question. More... | |
getTermWithIdentifier ($a_identifier) | |
Returns a term with a given identifier. More... | |
getDefinitionWithIdentifier ($a_identifier) | |
Returns a definition with a given identifier. More... | |
getMatchingPair ($index=0) | |
Returns a matching pair with a given index. More... | |
deleteMatchingPair ($index=0) | |
Deletes a matching pair with a given index. More... | |
flushMatchingPairs () | |
Deletes all matching pairs. More... | |
withMatchingPairs (array $pairs) | |
getMatchingPairCount () | |
Returns the number of matching pairs. More... | |
getTerms () | |
Returns the terms of the matching question. More... | |
getDefinitions () | |
Returns the definitions of the matching question. More... | |
getTermCount () | |
Returns the number of terms. More... | |
getDefinitionCount () | |
Returns the number of definitions. More... | |
addTerm (assAnswerMatchingTerm $term) | |
addDefinition ($definition) | |
Adds a definition. More... | |
insertTerm ($position, assAnswerMatchingTerm $term=null) | |
Inserts a term. More... | |
insertDefinition ($position, assAnswerMatchingDefinition $definition=null) | |
Inserts a definition. More... | |
flushTerms () | |
Deletes all terms. More... | |
flushDefinitions () | |
Deletes all definitions. More... | |
deleteTerm ($position) | |
Deletes a term. More... | |
deleteDefinition ($position) | |
Deletes a definition. More... | |
setTerm ($term, $index) | |
Sets a specific term. More... | |
calculateReachedPoints ($active_id, $pass=null, $authorizedSolution=true, $returndetails=false) | |
Returns the points, a learner has reached answering the question. More... | |
getMaximumPoints () | |
Calculates and Returns the maximum points, a learner can reach answering the question. More... | |
getMaximumScoringMatchingPairs () | |
fetchIndexedValuesFromValuePairs (array $valuePairs) | |
getEncryptedFilename ($filename) | |
Returns the encrypted save filename of a matching picture Images are saved with an encrypted filename to prevent users from cheating by guessing the solution from the image filename. More... | |
removeTermImage ($index) | |
removeDefinitionImage ($index) | |
deleteImagefile (string $filename) | |
Deletes an imagefile from the system if the file is deleted manually. More... | |
setImageFile ($image_tempfilename, $image_filename, $previous_filename='') | |
Sets the image file and uploads the image to the object's image directory. More... | |
saveWorkingData ($active_id, $pass=null, $authorized=true) | |
Saves the learners input of the question to the database. More... | |
getRandomId () | |
setShuffle ($shuffle=true) | |
getQuestionType () | |
Returns the question type of the question. More... | |
getAdditionalTableName () | |
getAnswerTableName () | |
getRTETextWithMediaObjects () | |
Collects all text in the question which could contain media objects which were created with the Rich Text Editor. More... | |
& | getMatchingPairs () |
Returns the matchingpairs array. More... | |
setExportDetailsXLS (ilAssExcelFormatHelper $worksheet, int $startrow, int $active_id, int $pass) | |
{} More... | |
getThumbGeometry () | |
Get the thumbnail geometry. More... | |
getThumbSize () | |
Get the thumbnail geometry. More... | |
setThumbGeometry (int $a_geometry) | |
Set the thumbnail geometry. More... | |
rebuildThumbnails () | |
Rebuild the thumbnail images with a new thumbnail size. More... | |
getThumbPrefix () | |
toJSON () | |
Returns a JSON representation of the question. More... | |
supportsJavascriptOutput () | |
supportsNonJsOutput () | |
setMatchingMode ($matchingMode) | |
getMatchingMode () | |
getOperators ($expression) | |
Get all available operations for a specific question. More... | |
getExpressionTypes () | |
Get all available expression types for a specific question. More... | |
getAvailableAnswerOptions ($index=null) | |
If index is null, the function returns an array with all anwser options Else it returns the specific answer option. More... | |
![]() | |
__construct (string $title="", string $comment="", string $author="", int $owner=-1, string $question="") | |
assQuestion constructor More... | |
getShuffler () | |
setShuffler (Transformation $shuffler) | |
setProcessLocker (ilAssQuestionProcessLocker $processLocker) | |
getProcessLocker () | |
fromXML ($item, int $questionpool_id, ?int $tst_id, &$tst_object, int &$question_counter, array $import_mapping, array &$solutionhints=[]) | |
Receives parameters from a QTI parser and creates a valid ILIAS question object. More... | |
toXML (bool $a_include_header=true, bool $a_include_binary=true, bool $a_shuffle=false, bool $test_output=false, bool $force_image_references=false) | |
Returns a QTI xml representation of the question. More... | |
isComplete () | |
Returns true, if a question is complete for use. More... | |
questionTitleExists (int $questionpool_id, string $title) | |
Returns TRUE if the question title exists in a question pool in the database. More... | |
setTitle (string $title="") | |
setId (int $id=-1) | |
setTestId (int $id=-1) | |
setComment (string $comment="") | |
setOutputType (int $outputType=OUTPUT_HTML) | |
setShuffle (?bool $shuffle=true) | |
setAuthor (string $author="") | |
setOwner (int $owner=-1) | |
getTitle () | |
getTitleForHTMLOutput () | |
getTitleFilenameCompliant () | |
getId () | |
getShuffle () | |
getTestId () | |
getComment () | |
getDescriptionForHTMLOutput () | |
getThumbSize () | |
setThumbSize (int $a_size) | |
getMinimumThumbSize () | |
getMaximumThumbSize () | |
getOutputType () | |
supportsJavascriptOutput () | |
supportsNonJsOutput () | |
requiresJsSwitch () | |
getAuthor () | |
getAuthorForHTMLOutput () | |
getOwner () | |
getObjId () | |
setObjId (int $obj_id=0) | |
getLifecycle () | |
setLifecycle (ilAssQuestionLifecycle $lifecycle) | |
setExternalId (?string $external_id) | |
getExternalId () | |
getSuggestedSolutionOutput () | |
_getSuggestedSolution (int $question_id, int $subquestion_index=0) | |
loadSuggestedSolution (int $question_id, int $subquestion_index=0) | |
Returns a suggested solution for a given subquestion index. More... | |
getSuggestedSolutions () | |
getReachedPoints (int $active_id, int $pass) | |
getMaximumPoints () | |
getAdjustedReachedPoints (int $active_id, int $pass, bool $authorizedSolution=true) | |
returns the reached points ... More... | |
calculateResultsFromSolution (int $active_id, int $pass, bool $obligationsEnabled=false) | |
Calculates the question results from a previously saved question solution. More... | |
persistWorkingState (int $active_id, $pass, bool $obligationsEnabled=false, bool $authorized=true) | |
persists the working state for current testactive and testpass More... | |
persistPreviewState (ilAssQuestionPreviewSession $previewSession) | |
persists the preview state for current user and question More... | |
validateSolutionSubmit () | |
saveWorkingData (int $active_id, int $pass, bool $authorized=true) | |
Saves the learners input of the question to the database. More... | |
moveUploadedMediaFile (string $file, string $name) | |
Move an uploaded media file to an public accessible temp dir to present it. More... | |
getSuggestedSolutionPath () | |
getImagePath ($question_id=null, $object_id=null) | |
Returns the image path for web accessable images of a question. More... | |
buildImagePath ($questionId, $parentObjectId) | |
getFlashPath () | |
Returns the image path for web accessable flash files of a question. More... | |
getSuggestedSolutionPathWeb () | |
getImagePathWeb () | |
Returns the web image path for web accessable images of a question. More... | |
getTestOutputSolutions (int $activeId, int $pass) | |
getUserSolutionPreferingIntermediate (int $active_id, $pass=null) | |
getSolutionValues ($active_id, $pass=null, bool $authorized=true) | |
Loads solutions of a given user from the database an returns it. More... | |
isInUse (int $question_id=0) | |
Checks whether the question is in use or not in pools or tests. More... | |
usageNumber (int $question_id=0) | |
Returns the number of place the question is in use in pools or tests. More... | |
isClone (int $question_id=0) | |
Checks whether the question is a clone of another question or not. More... | |
getAdditionalTableName () | |
getAnswerTableName () | |
deleteAnswers (int $question_id) | |
deleteAdditionalTableData (int $question_id) | |
delete (int $question_id) | |
getTotalAnswers () | |
copyXHTMLMediaObjectsOfQuestion (int $a_q_id) | |
syncXHTMLMediaObjectsOfQuestion () | |
createPageObject () | |
copyPageOfQuestion (int $a_q_id) | |
getPageOfQuestion () | |
setOriginalId (?int $original_id) | |
getOriginalId () | |
fixSvgToPng (string $imageFilenameContainingString) | |
fixUnavailableSkinImageSources (string $html) | |
loadFromDb (int $question_id) | |
createNewQuestion (bool $a_create_page=true) | |
Creates a new question without an owner when a new question is created This assures that an ID is given to the question if a file upload or something else occurs. More... | |
saveQuestionDataToDb (int $original_id=-1) | |
saveToDb () | |
setNewOriginalId (int $newId) | |
deleteSuggestedSolutions () | |
getSuggestedSolution (int $subquestion_index=0) | |
Returns a suggested solution for a given subquestion index. More... | |
getSuggestedSolutionTitle (int $subquestion_index=0) | |
Returns the title of a suggested solution at a given subquestion_index. More... | |
setSuggestedSolution (string $solution_id="", int $subquestion_index=0, bool $is_import=false) | |
Sets a suggested solution for the question. More... | |
updateSuggestedSolutions (int $original_id=-1, int $original_obj_id=-1) | |
_resolveInternalLink (string $internal_link) | |
_resolveIntLinks (int $question_id) | |
syncWithOriginal () | |
_questionExists ($question_id) | |
Returns true if the question already exists in the database. More... | |
_questionExistsInPool (int $question_id) | |
getPoints () | |
setPoints (float $points) | |
getSolutionMaxPass (int $active_id) | |
calculateReachedPoints ($active_id, $pass=null, $authorizedSolution=true, $returndetails=false) | |
Returns the points, a learner has reached answering the question. More... | |
deductHintPointsFromReachedPoints (ilAssQuestionPreviewSession $previewSession, $reachedPoints) | |
calculateReachedPointsFromPreviewSession (ilAssQuestionPreviewSession $previewSession) | |
isPreviewSolutionCorrect (ilAssQuestionPreviewSession $previewSession) | |
adjustReachedPointsByScoringOptions ($points, $active_id, $pass=null) | |
Adjust the given reached points by checks for all special scoring options in the test container. More... | |
isHTML ($a_text) | |
Checks if a given string contains HTML or not. More... | |
prepareTextareaOutput (string $txt_output, bool $prepare_for_latex_output=false, bool $omitNl2BrWhenTextArea=false) | |
QTIMaterialToString (ilQTIMaterial $a_material) | |
Reads an QTI material tag and creates a text or XHTML string. More... | |
addQTIMaterial (ilXmlWriter $a_xml_writer, string $a_material, bool $close_material_tag=true, bool $add_mobs=true) | |
buildHashedImageFilename (string $plain_image_filename, bool $unique=false) | |
getQuestion () | |
getQuestionForHTMLOutput () | |
setQuestion (string $question="") | |
getQuestionType () | |
Returns the question type of the question. More... | |
getQuestionTypeID () | |
syncHints () | |
cleanupMediaObjectUsage () | |
getInstances () | |
getActiveUserData (int $active_id) | |
Returns the user id and the test id for a given active id. More... | |
hasSpecificFeedback () | |
setExportDetailsXLS (ilAssExcelFormatHelper $worksheet, int $startrow, int $active_id, int $pass) | |
__get ($value) | |
Object getter. More... | |
__set ($key, $value) | |
Object setter. More... | |
__isset ($key) | |
Object issetter. More... | |
getNrOfTries () | |
setNrOfTries (int $a_nr_of_tries) | |
setExportImagePath (string $path) | |
formatSAQuestion ($a_q) | |
setPreventRteUsage (bool $prevent_rte_usage) | |
getPreventRteUsage () | |
migrateContentForLearningModule (ilAssSelfAssessmentMigrator $migrator) | |
setSelfAssessmentEditingMode (bool $selfassessmenteditingmode) | |
getSelfAssessmentEditingMode () | |
setDefaultNrOfTries (int $defaultnroftries) | |
getDefaultNrOfTries () | |
syncSkillAssignments (int $srcParentId, int $srcQuestionId, int $trgParentId, int $trgQuestionId) | |
ensureHintPageObjectExists ($pageObjectId) | |
isAnswered (int $active_id, int $pass) | |
isAutosaveable () | |
getAdditionalContentEditingMode () | |
setAdditionalContentEditingMode (?string $additionalContentEditingMode) | |
isAdditionalContentEditingModePageObject () | |
isValidAdditionalContentEditingMode (string $additionalContentEditingMode) | |
getValidAdditionalContentEditingModes () | |
getHtmlUserSolutionPurifier () | |
getHtmlQuestionContentPurifier () | |
setLastChange ($lastChange) | |
getLastChange () | |
removeIntermediateSolution (int $active_id, int $pass) | |
removeCurrentSolution (int $active_id, int $pass, bool $authorized=true) | |
saveCurrentSolution (int $active_id, int $pass, $value1, $value2, bool $authorized=true, $tstamp=0) | |
updateCurrentSolution (int $solutionId, $value1, $value2, bool $authorized=true) | |
updateCurrentSolutionsAuthorization (int $activeId, int $pass, bool $authorized, bool $keepTime=false) | |
setStep ($step) | |
getStep () | |
toJSON () | |
duplicate (bool $for_test=true, string $title="", string $author="", string $owner="", $testObjId=null) | |
intermediateSolutionExists (int $active_id, int $pass) | |
authorizedSolutionExists (int $active_id, ?int $pass) | |
authorizedOrIntermediateSolutionExists (int $active_id, int $pass) | |
lookupForExistingSolutions (int $activeId, int $pass) | |
Lookup if an authorized or intermediate solution exists. More... | |
isAddableAnswerOptionValue (int $qIndex, string $answerOptionValue) | |
addAnswerOptionValue (int $qIndex, string $answerOptionValue, float $points) | |
removeAllExistingSolutions () | |
removeExistingSolutions (int $activeId, int $pass) | |
resetUsersAnswer (int $activeId, int $pass) | |
removeResultRecord (int $activeId, int $pass) | |
fetchValuePairsFromIndexedValues (array $indexedValues) | |
fetchIndexedValuesFromValuePairs (array $valuePairs) | |
areObligationsToBeConsidered () | |
setObligationsToBeConsidered (bool $obligationsToBeConsidered) | |
updateTimestamp () | |
getTestPresentationConfig () | |
savePartial () | |
isInActiveTest () | |
![]() | |
getUserQuestionResult ($active_id, $pass) | |
Get the user solution for a question by active_id and the test pass. More... | |
Protected Member Functions | |
savePreviewData (ilAssQuestionPreviewSession $previewSession) | |
generateThumbForFile ($path, $file) | |
calculateReachedPointsForSolution ($found_values) | |
afterSyncWithOriginal ($origQuestionId, $dupQuestionId, $origParentObjId, $dupParentObjId) | |
{} More... | |
createMatchingTerm (string $term='', string $picture='', int $identifier=0) | |
createMatchingDefinition (string $term='', string $picture='', int $identifier=0) | |
createMatchingPair (assAnswerMatchingTerm $term=null, assAnswerMatchingDefinition $definition=null, float $points=0.0) | |
![]() | |
getQuestionAction () | |
isNonEmptyItemListPostSubmission (string $postSubmissionFieldname) | |
ensureCurrentTestPass (int $active_id, int $pass) | |
lookupCurrentTestPass (int $active_id, int $pass) | |
lookupTestId (int $active_id) | |
Move to ilObjTest or similar More... | |
log (int $active_id, string $langVar) | |
savePreviewData (ilAssQuestionPreviewSession $previewSession) | |
deletePageOfQuestion (int $question_id) | |
onDuplicate (int $originalParentId, int $originalQuestionId, int $duplicateParentId, int $duplicateQuestionId) | |
beforeSyncWithOriginal (int $origQuestionId, int $dupQuestionId, int $origParentObjId, int $dupParentObjId) | |
afterSyncWithOriginal (int $origQuestionId, int $dupQuestionId, int $origParentObjId, int $dupParentObjId) | |
onCopy (int $sourceParentId, int $sourceQuestionId, int $targetParentId, int $targetQuestionId) | |
duplicateSuggestedSolutionFiles (int $parent_id, int $question_id) | |
Duplicates the files of a suggested solution if the question is duplicated. More... | |
syncSuggestedSolutionFiles (int $target_question_id, int $target_obj_id) | |
copySuggestedSolutionFiles (int $source_questionpool_id, int $source_question_id) | |
ensureNonNegativePoints ($points) | |
purifyAndPrepareTextAreaOutput (string $content) | |
getRTETextWithMediaObjects () | |
getSelfAssessmentFormatter () | |
lmMigrateQuestionTypeGenericContent (ilAssSelfAssessmentMigrator $migrator) | |
lmMigrateQuestionTypeSpecificContent (ilAssSelfAssessmentMigrator $migrator) | |
duplicateQuestionHints (int $originalQuestionId, int $duplicateQuestionId) | |
duplicateSkillAssignments (int $srcParentId, int $srcQuestionId, int $trgParentId, int $trgQuestionId) | |
buildQuestionDataQuery () | |
getCurrentSolutionResultSet (int $active_id, int $pass, bool $authorized=true) | |
removeSolutionRecordById (int $solutionId) | |
getSolutionRecordById (int $solutionId) | |
deleteDummySolutionRecord (int $activeId, int $passIndex) | |
isDummySolutionRecord (array $solutionRecord) | |
deleteSolutionRecordByValues (int $activeId, int $passIndex, bool $authorized, array $matchValues) | |
duplicateIntermediateSolutionAuthorized (int $activeId, int $passIndex) | |
forceExistingIntermediateSolution (int $activeId, int $passIndex, bool $considerDummyRecordCreation) | |
lookupMaxStep (int $active_id, int $pass) | |
buildTestPresentationConfig () | |
build basic test question configuration instance More... | |
Protected Attributes | |
array | $terms = [] |
$definitions | |
$matchingMode = self::MATCHING_MODE_1_ON_1 | |
![]() | |
const | HAS_SPECIFIC_FEEDBACK = true |
ILIAS HTTP Services | $http |
ILIAS Refinery Factory | $refinery |
ILIAS DI LoggingServices | $ilLog |
int | $id |
string | $title |
string | $comment |
string | $owner |
string | $author |
int | $thumb_size |
string | $question |
The question text. More... | |
float | $points |
The maximum available points for the question. More... | |
bool | $shuffle |
Indicates whether the answers will be shuffled or not. More... | |
int | $test_id |
The database id of a test in which the question is contained. More... | |
int | $obj_id = 0 |
Object id of the container object. More... | |
$ilias | |
ilGlobalPageTemplate | $tpl |
ilLanguage | $lng |
ilDBInterface | $db |
Container | $dic |
int | $outputType = OUTPUT_JAVASCRIPT |
Contains the output type of a question. More... | |
array | $suggested_solutions |
int | $original_id = null |
$page | |
string | $external_id = null |
ilAssQuestionProcessLocker | $processLocker |
$step | |
$lastChange | |
Transformation | $shuffler |
ilTestQuestionConfig | $testQuestionConfig |
ilAssQuestionLifecycle | $lifecycle |
ilObjUser | $current_user |
Private Member Functions | |
getPositiveScoredMatchingPairs () | |
getMostPositiveScoredUniqueTermMatchingPairs () | |
fetchSubmittedMatchingsFromPost () | |
checkSubmittedMatchings ($submittedMatchings) | |
Private Attributes | |
int | $shufflemode = 0 |
RandomGroup | $randomGroup |
Additional Inherited Members | |
![]() | |
static | setForcePassResultUpdateEnabled (bool $forcePassResultsUpdateEnabled) |
static | isForcePassResultUpdateEnabled () |
static | isAllowedImageMimeType ($mimeType) |
static | fetchMimeTypeIdentifier (string $contentType) |
static | getAllowedFileExtensionsForMimeType (string $mimeType) |
static | isAllowedImageFileExtension (string $mimeType, string $fileExtension) |
static | getAllowedImageMaterialFileExtensions () |
static | _getMaximumPoints (int $question_id) |
Returns the maximum points, a learner can reach answering the question. More... | |
static | _getQuestionInfo (int $question_id) |
static | _getSuggestedSolutionCount (int $question_id) |
static | _getSuggestedSolutionOutput (int $question_id) |
static | _getReachedPoints (int $active_id, int $question_id, int $pass) |
static | _updateTestResultCache (int $active_id, ilAssQuestionProcessLocker $processLocker=null) |
Move this to a proper place. More... | |
static | logAction (string $logtext, int $active_id, int $question_id) |
static | getQuestionTypeFromDb (int $question_id) |
static | _getTotalRightAnswers (int $a_q_id) |
static | _getTitle (int $a_q_id) |
static | _getQuestionText (int $a_q_id) |
static | isFileAvailable (string $file) |
static | _getQuestionType (int $question_id) |
static | _getQuestionTitle (int $question_id) |
static | saveOriginalId (int $questionId, int $originalId) |
static | resetOriginalId (int $questionId) |
static | _getInternalLinkHref (string $target="") |
static | _getOriginalId (int $question_id) |
static | originalQuestionExists (int $questionId) |
static | _instanciateQuestion (int $question_id) |
static | _instantiateQuestion (int $question_id) |
static | instantiateQuestion (int $question_id) |
static | _getSolutionMaxPass (int $question_id, int $active_id) |
Returns the maximum pass a users question solution. More... | |
static | _isWriteable (int $question_id, int $user_id) |
static | _isUsedInRandomTest (int $question_id) |
static | _isWorkedThrough (int $active_id, int $question_id, int $pass) |
Returns true if the question was worked through in the given pass Worked through means that the user entered at least one value. More... | |
static | _areAnswered (int $a_user_id, array $a_question_ids) |
Checks if an array of question ids is answered by a user or not. More... | |
static | _setReachedPoints (int $active_id, int $question_id, float $points, float $maxpoints, int $pass, bool $manualscoring, bool $obligationsEnabled) |
Sets the points, a learner has reached answering the question Additionally objective results are updated. More... | |
static | _needsManualScoring (int $question_id) |
static | _includeClass (string $question_type, int $gui=0) |
static | getFeedbackClassNameByQuestionType (string $questionType) |
static | isCoreQuestionType (string $questionType) |
static | includeCoreClass ($questionType, $withGuiClass) |
static | _getQuestionTypeName ($type_tag) |
static | _instanciateQuestionGUI (int $question_id) |
static | instantiateQuestionGUI (int $a_question_id) |
static | _questionExistsInTest (int $question_id, int $test_id) |
static | lookupParentObjId (int $questionId) |
static | lookupOriginalParentObjId (int $originalQuestionId) |
returns the parent object id for given original question id (should be a qpl id, but theoretically it can be a tst id, too) More... | |
static | isObligationPossible (int $questionId) |
static | implodeKeyValues (array $keyValues) |
static | explodeKeyValues (string $keyValues) |
static | convertISO8601FormatH_i_s_ExtendedToSeconds (string $time) |
static | missingResultRecordExists (int $activeId, int $pass, array $questionIds) |
static | getQuestionsMissingResultRecord (int $activeId, int $pass, array $questionIds) |
static | lookupResultRecordExist (int $activeId, int $questionId, int $pass) |
static | extendedTrim (string $value) |
Trim non-printable characters from the beginning and end of a string. More... | |
![]() | |
static | getNumExistingSolutionRecords (int $activeId, int $pass, int $questionId) |
![]() | |
static | $allowedFileExtensionsByMimeType |
static | $allowedCharsetsByMimeType |
static | $allowedImageMaterialFileExtensionsByMimeType |
static | $forcePassResultsUpdateEnabled = false |
static | $imageSourceFixReplaceMap |
Class for matching questions.
assMatchingQuestion is a class for matching questions.
Definition at line 39 of file class.assMatchingQuestion.php.
assMatchingQuestion::__construct | ( | $title = "" , |
|
$comment = "" , |
|||
$author = "" , |
|||
$owner = -1 , |
|||
$question = "" , |
|||
$matching_type = MT_TERMS_DEFINITIONS |
|||
) |
assMatchingQuestion constructor
The constructor takes possible arguments an creates an instance of the assMatchingQuestion object.
string | $title | A title string to describe the question |
string | $comment | A comment string to describe the question |
string | $author | A string containing the name of the questions author |
integer | $owner | A numerical ID to identify the owner/creator |
string | $question | The question string of the matching question |
int | $matching_type |
Definition at line 102 of file class.assMatchingQuestion.php.
References assQuestion\$author, assQuestion\$comment, $DIC, $matching_type, assQuestion\$owner, assQuestion\$question, assQuestion\$title, and ILIAS\GlobalScreen\Provider\__construct().
assMatchingQuestion::addDefinition | ( | $definition | ) |
Adds a definition.
object | $definition | The definition |
Definition at line 766 of file class.assMatchingQuestion.php.
assMatchingQuestion::addMatchingPair | ( | assAnswerMatchingTerm | $term = null , |
assAnswerMatchingDefinition | $definition = null , |
||
$points = 0.0 |
|||
) |
Adds an matching pair for an matching choice question.
The students have to fill in an order for the matching pair. The matching pair is an ASS_AnswerMatching object that will be created and assigned to the array $this->matchingpairs.
assAnswerMatchingTerm | null | $term | A matching term |
assAnswerMatchingDefinition | null | $definition | A matching definition |
float | $points | The points for selecting the matching pair, incl. negative. |
Definition at line 604 of file class.assMatchingQuestion.php.
References assQuestion\$points, and createMatchingPair().
assMatchingQuestion::addTerm | ( | assAnswerMatchingTerm | $term | ) |
Definition at line 755 of file class.assMatchingQuestion.php.
|
protected |
{}
Definition at line 1593 of file class.assMatchingQuestion.php.
References assQuestion\buildImagePath(), ilFileUtils\delDir(), ilFileUtils\makeDirParents(), and ilFileUtils\rCopy().
assMatchingQuestion::calculateReachedPoints | ( | $active_id, | |
$pass = null , |
|||
$authorizedSolution = true , |
|||
$returndetails = false |
|||
) |
Returns the points, a learner has reached answering the question.
The points are calculated from the given answers.
public
integer | $active_id | |
integer | $pass | |
boolean | $returndetails | (deprecated !!) |
Definition at line 875 of file class.assMatchingQuestion.php.
References $data, $DIC, $ilDB, assQuestion\$points, calculateReachedPointsForSolution(), assQuestion\getCurrentSolutionResultSet(), and assQuestion\getSolutionMaxPass().
Referenced by getExpressionTypes().
|
protected |
$found_values |
Definition at line 1459 of file class.assMatchingQuestion.php.
References assQuestion\$points.
Referenced by calculateReachedPoints().
|
private |
Definition at line 1095 of file class.assMatchingQuestion.php.
References $i, getMatchingMode(), and ILIAS\Repository\lng().
Referenced by savePreviewData(), and saveWorkingData().
assMatchingQuestion::copyImages | ( | $question_id, | |
$source_questionpool | |||
) |
Definition at line 526 of file class.assMatchingQuestion.php.
References $DIC, $filename, assQuestion\$ilLog, assQuestion\getImagePath(), getThumbPrefix(), assQuestion\isFileAvailable(), and ilFileUtils\makeDirParents().
assMatchingQuestion::copyObject | ( | $target_questionpool_id, | |
$title = "" |
|||
) |
Copies an assMatchingQuestion.
Definition at line 419 of file class.assMatchingQuestion.php.
References assQuestion\$original_id, assQuestion\$title, assQuestion\_getOriginalId(), assQuestion\getId(), and assQuestion\getObjId().
|
protected |
Definition at line 1611 of file class.assMatchingQuestion.php.
Referenced by createMatchingPair(), insertDefinition(), and loadFromDb().
|
protected |
Definition at line 1615 of file class.assMatchingQuestion.php.
References assQuestion\$points, createMatchingDefinition(), and createMatchingTerm().
Referenced by addMatchingPair(), insertMatchingPair(), and loadFromDb().
|
protected |
Definition at line 1607 of file class.assMatchingQuestion.php.
Referenced by createMatchingPair(), insertTerm(), and loadFromDb().
assMatchingQuestion::createNewOriginalFromThisDuplicate | ( | $targetParentId, | |
$targetQuestionTitle = "" |
|||
) |
Definition at line 447 of file class.assMatchingQuestion.php.
References assQuestion\$id, assQuestion\getId(), and assQuestion\getObjId().
assMatchingQuestion::deleteDefinition | ( | $position | ) |
Deletes a definition.
integer | $position | The position of the definition in the definition array |
Definition at line 847 of file class.assMatchingQuestion.php.
assMatchingQuestion::deleteImagefile | ( | string | $filename | ) |
Deletes an imagefile from the system if the file is deleted manually.
string | $filename | Image file filename |
Definition at line 1026 of file class.assMatchingQuestion.php.
References Vendor\Package\$e, $filename, assQuestion\getImagePath(), and getThumbPrefix().
Referenced by removeDefinitionImage(), removeTermImage(), and setImageFile().
assMatchingQuestion::deleteMatchingPair | ( | $index = 0 | ) |
Deletes a matching pair with a given index.
The index of the first matching pair is 0, the index of the second matching pair is 1 and so on.
integer | $index | A nonnegative index of the n-th matching pair |
Definition at line 665 of file class.assMatchingQuestion.php.
References $index.
assMatchingQuestion::deleteTerm | ( | $position | ) |
Deletes a term.
string | $term_id | The id of the term to delete |
Definition at line 835 of file class.assMatchingQuestion.php.
assMatchingQuestion::duplicate | ( | bool | $for_test = true , |
string | $title = "" , |
||
string | $author = "" , |
||
string | $owner = "" , |
||
$testObjId = null |
|||
) |
Duplicates an assMatchingQuestion.
Definition at line 370 of file class.assMatchingQuestion.php.
References assQuestion\$author, assQuestion\$original_id, assQuestion\$owner, assQuestion\$title, assQuestion\_getOriginalId(), assQuestion\getId(), and assQuestion\getObjId().
assMatchingQuestion::duplicateImages | ( | $question_id, | |
$objectId = null |
|||
) |
Definition at line 481 of file class.assMatchingQuestion.php.
References $DIC, $filename, assQuestion\$ilLog, assQuestion\getImagePath(), getThumbPrefix(), and ilFileUtils\makeDirParents().
assMatchingQuestion::fetchIndexedValuesFromValuePairs | ( | array | $valuePairs | ) |
array | $valuePairs |
Definition at line 969 of file class.assMatchingQuestion.php.
|
private |
Definition at line 1070 of file class.assMatchingQuestion.php.
References $post, getDefinitions(), assQuestion\getId(), and getTerms().
Referenced by savePreviewData(), and saveWorkingData().
assMatchingQuestion::flushDefinitions | ( | ) |
Deletes all definitions.
Definition at line 824 of file class.assMatchingQuestion.php.
assMatchingQuestion::flushMatchingPairs | ( | ) |
Deletes all matching pairs.
Definition at line 684 of file class.assMatchingQuestion.php.
assMatchingQuestion::flushTerms | ( | ) |
|
protected |
Definition at line 1338 of file class.assMatchingQuestion.php.
References $filename, $path, ilShellUtil\convertImage(), getThumbGeometry(), and getThumbPrefix().
Referenced by rebuildThumbnails().
assMatchingQuestion::getAdditionalTableName | ( | ) |
Definition at line 1220 of file class.assMatchingQuestion.php.
Referenced by saveAdditionalQuestionDataToDb().
assMatchingQuestion::getAnswerTableName | ( | ) |
Definition at line 1225 of file class.assMatchingQuestion.php.
assMatchingQuestion::getAvailableAnswerOptions | ( | $index = null | ) |
If index is null, the function returns an array with all anwser options Else it returns the specific answer option.
null | int | $index |
Implements iQuestionCondition.
Definition at line 1581 of file class.assMatchingQuestion.php.
References $index, getMatchingPair(), and getMatchingPairs().
assMatchingQuestion::getDefinitionCount | ( | ) |
Returns the number of definitions.
Definition at line 750 of file class.assMatchingQuestion.php.
assMatchingQuestion::getDefinitions | ( | ) |
Returns the definitions of the matching question.
Definition at line 728 of file class.assMatchingQuestion.php.
References $definitions.
Referenced by fetchSubmittedMatchingsFromPost(), and toJSON().
assMatchingQuestion::getDefinitionWithIdentifier | ( | $a_identifier | ) |
Returns a definition with a given identifier.
Definition at line 626 of file class.assMatchingQuestion.php.
assMatchingQuestion::getEncryptedFilename | ( | $filename | ) |
Returns the encrypted save filename of a matching picture Images are saved with an encrypted filename to prevent users from cheating by guessing the solution from the image filename.
string | $filename | Original filename |
Definition at line 992 of file class.assMatchingQuestion.php.
References $filename.
assMatchingQuestion::getExpressionTypes | ( | ) |
Get all available expression types for a specific question.
Implements iQuestionCondition.
Definition at line 1497 of file class.assMatchingQuestion.php.
References $data, $definitions, $DIC, $ilDB, $index, assQuestion\$points, calculateReachedPoints(), iQuestionCondition\EmptyAnswerExpression, assQuestion\getId(), getMaximumPoints(), iQuestionCondition\getUserQuestionResult(), assQuestion\lookupMaxStep(), iQuestionCondition\MatchingResultExpression, iQuestionCondition\NumericResultExpression, and iQuestionCondition\PercentageResultExpression.
assMatchingQuestion::getMatchingMode | ( | ) |
Definition at line 1450 of file class.assMatchingQuestion.php.
References $matchingMode.
Referenced by checkSubmittedMatchings(), getMaximumScoringMatchingPairs(), saveAdditionalQuestionDataToDb(), and toJSON().
assMatchingQuestion::getMatchingPair | ( | $index = 0 | ) |
Returns a matching pair with a given index.
The index of the first matching pair is 0, the index of the second matching pair is 1 and so on.
integer | $index | A nonnegative index of the n-th matching pair |
Definition at line 644 of file class.assMatchingQuestion.php.
References $index.
Referenced by getAvailableAnswerOptions().
assMatchingQuestion::getMatchingPairCount | ( | ) |
Returns the number of matching pairs.
Definition at line 706 of file class.assMatchingQuestion.php.
& assMatchingQuestion::getMatchingPairs | ( | ) |
Returns the matchingpairs array.
Definition at line 1242 of file class.assMatchingQuestion.php.
References $matchingpairs.
Referenced by getAvailableAnswerOptions(), saveAnswerSpecificDataToDb(), setExportDetailsXLS(), and toJSON().
assMatchingQuestion::getMaximumPoints | ( | ) |
Calculates and Returns the maximum points, a learner can reach answering the question.
Definition at line 907 of file class.assMatchingQuestion.php.
References assQuestion\$points, and getMaximumScoringMatchingPairs().
Referenced by getExpressionTypes(), and isComplete().
assMatchingQuestion::getMaximumScoringMatchingPairs | ( | ) |
Definition at line 918 of file class.assMatchingQuestion.php.
References getMatchingMode(), getMostPositiveScoredUniqueTermMatchingPairs(), and getPositiveScoredMatchingPairs().
Referenced by getMaximumPoints().
|
private |
Definition at line 944 of file class.assMatchingQuestion.php.
Referenced by getMaximumScoringMatchingPairs().
assMatchingQuestion::getOperators | ( | $expression | ) |
Get all available operations for a specific question.
$expression |
Implements iQuestionCondition.
Definition at line 1488 of file class.assMatchingQuestion.php.
References ilOperatorsExpressionMapping\getOperatorsByExpression().
|
private |
Definition at line 929 of file class.assMatchingQuestion.php.
Referenced by getMaximumScoringMatchingPairs().
assMatchingQuestion::getQuestionType | ( | ) |
Returns the question type of the question.
Definition at line 1215 of file class.assMatchingQuestion.php.
Referenced by toJSON().
assMatchingQuestion::getRandomId | ( | ) |
Definition at line 1188 of file class.assMatchingQuestion.php.
References ILIAS\LTI\ToolProvider\$key.
assMatchingQuestion::getRTETextWithMediaObjects | ( | ) |
Collects all text in the question which could contain media objects which were created with the Rich Text Editor.
Definition at line 1234 of file class.assMatchingQuestion.php.
assMatchingQuestion::getShuffleMode | ( | ) |
Definition at line 120 of file class.assMatchingQuestion.php.
References $shufflemode.
Referenced by saveAdditionalQuestionDataToDb().
assMatchingQuestion::getTermCount | ( | ) |
Returns the number of terms.
Definition at line 739 of file class.assMatchingQuestion.php.
assMatchingQuestion::getTerms | ( | ) |
Returns the terms of the matching question.
Definition at line 717 of file class.assMatchingQuestion.php.
References $terms.
Referenced by fetchSubmittedMatchingsFromPost(), and toJSON().
assMatchingQuestion::getTermWithIdentifier | ( | $a_identifier | ) |
Returns a term with a given identifier.
Definition at line 613 of file class.assMatchingQuestion.php.
assMatchingQuestion::getThumbGeometry | ( | ) |
Get the thumbnail geometry.
Definition at line 1291 of file class.assMatchingQuestion.php.
References $thumb_geometry.
Referenced by generateThumbForFile(), getThumbSize(), saveAdditionalQuestionDataToDb(), and setImageFile().
assMatchingQuestion::getThumbPrefix | ( | ) |
Definition at line 1333 of file class.assMatchingQuestion.php.
Referenced by copyImages(), deleteImagefile(), duplicateImages(), generateThumbForFile(), and setImageFile().
assMatchingQuestion::getThumbSize | ( | ) |
Get the thumbnail geometry.
Definition at line 1301 of file class.assMatchingQuestion.php.
References getThumbGeometry().
assMatchingQuestion::insertDefinition | ( | $position, | |
assAnswerMatchingDefinition | $definition = null |
||
) |
Inserts a definition.
object | $definition | The definition |
Definition at line 797 of file class.assMatchingQuestion.php.
References createMatchingDefinition().
assMatchingQuestion::insertMatchingPair | ( | $position, | |
$term = null , |
|||
$definition = null , |
|||
$points = 0.0 |
|||
) |
Inserts a matching pair for an matching choice question.
The students have to fill in an order for the matching pair. The matching pair is an ASS_AnswerMatching object that will be created and assigned to the array $this->matchingpairs.
integer | $position | The insert position in the matching pairs array |
object | $term | A matching term |
object | $definition | A matching definition |
double | $points | The points for selecting the matching pair (even negative points can be used) |
Definition at line 580 of file class.assMatchingQuestion.php.
References assQuestion\$points, and createMatchingPair().
assMatchingQuestion::insertTerm | ( | $position, | |
assAnswerMatchingTerm | $term = null |
||
) |
Inserts a term.
string | $term | The text of the term |
Definition at line 777 of file class.assMatchingQuestion.php.
References createMatchingTerm().
assMatchingQuestion::isComplete | ( | ) |
Returns true, if a matching question is complete for use.
Definition at line 135 of file class.assMatchingQuestion.php.
References getMaximumPoints().
assMatchingQuestion::loadFromDb | ( | $question_id | ) |
Loads a assMatchingQuestion object from a database.
object | $db | A pear DB object |
integer | $question_id | A unique key which defines the multiple choice test in the database |
Definition at line 266 of file class.assMatchingQuestion.php.
References $data, $DIC, Vendor\Package\$e, $ilDB, $query, ilRTE\_replaceMediaObjectImageSrc(), createMatchingDefinition(), createMatchingPair(), createMatchingTerm(), ilAssQuestionLifecycle\getDraftInstance(), ilAssQuestionLifecycle\getInstance(), assQuestion\setAdditionalContentEditingMode(), assQuestion\setAuthor(), assQuestion\setComment(), assQuestion\setId(), assQuestion\setLifecycle(), setMatchingMode(), assQuestion\setNrOfTries(), assQuestion\setObjId(), assQuestion\setOriginalId(), assQuestion\setOwner(), assQuestion\setPoints(), assQuestion\setQuestion(), setShuffle(), setShuffleMode(), setThumbGeometry(), and assQuestion\setTitle().
assMatchingQuestion::rebuildThumbnails | ( | ) |
Rebuild the thumbnail images with a new thumbnail size.
Definition at line 1319 of file class.assMatchingQuestion.php.
References generateThumbForFile(), and assQuestion\getImagePath().
Referenced by saveAnswerSpecificDataToDb().
assMatchingQuestion::removeDefinitionImage | ( | $index | ) |
Definition at line 1010 of file class.assMatchingQuestion.php.
References $index, and deleteImagefile().
assMatchingQuestion::removeTermImage | ( | $index | ) |
Definition at line 1001 of file class.assMatchingQuestion.php.
References $index, and deleteImagefile().
assMatchingQuestion::saveAdditionalQuestionDataToDb | ( | ) |
Saves a record to the question types additional data table.
Implements ilObjQuestionScoringAdjustable.
Definition at line 238 of file class.assMatchingQuestion.php.
References $DIC, $ilDB, getAdditionalTableName(), assQuestion\getId(), getMatchingMode(), getShuffleMode(), and getThumbGeometry().
Referenced by saveToDb().
assMatchingQuestion::saveAnswerSpecificDataToDb | ( | ) |
Saves the answer specific records into a question types answer table.
Implements ilObjAnswerScoringAdjustable.
Definition at line 168 of file class.assMatchingQuestion.php.
References $DIC, $ilDB, ILIAS\LTI\ToolProvider\$key, $matchingpairs, assQuestion\getId(), getMatchingPairs(), and rebuildThumbnails().
Referenced by saveToDb().
|
protected |
Definition at line 1179 of file class.assMatchingQuestion.php.
References checkSubmittedMatchings(), fetchSubmittedMatchingsFromPost(), and ilAssQuestionPreviewSession\setParticipantsSolution().
assMatchingQuestion::saveToDb | ( | $original_id = "" | ) |
Saves a assMatchingQuestion object to a database.
string | $original_id |
Definition at line 154 of file class.assMatchingQuestion.php.
References assQuestion\$original_id, saveAdditionalQuestionDataToDb(), saveAnswerSpecificDataToDb(), and assQuestion\saveQuestionDataToDb().
assMatchingQuestion::saveWorkingData | ( | $active_id, | |
$pass = null , |
|||
$authorized = true |
|||
) |
Saves the learners input of the question to the database.
public
integer | $active_id | Active id of the user |
integer | $pass | Test pass |
Definition at line 1130 of file class.assMatchingQuestion.php.
References $i, ilObjAssessmentFolder\_enabledAssessmentLogging(), ilObjAssessmentFolder\_getLogLanguage(), ilObjTest\_getPass(), checkSubmittedMatchings(), fetchSubmittedMatchingsFromPost(), assQuestion\getId(), assQuestion\getProcessLocker(), ILIAS\Repository\lng(), assQuestion\logAction(), assQuestion\removeCurrentSolution(), and assQuestion\saveCurrentSolution().
assMatchingQuestion::setExportDetailsXLS | ( | ilAssExcelFormatHelper | $worksheet, |
int | $startrow, | ||
int | $active_id, | ||
int | $pass | ||
) |
{}
Definition at line 1250 of file class.assMatchingQuestion.php.
References $i, assQuestion\getImagePath(), getMatchingPairs(), assQuestion\getSolutionValues(), ILIAS\Repository\lng(), and ilAssExcelFormatHelper\setCell().
assMatchingQuestion::setImageFile | ( | $image_tempfilename, | |
$image_filename, | |||
$previous_filename = '' |
|||
) |
Sets the image file and uploads the image to the object's image directory.
string | $image_filename | Name of the original image file |
string | $image_tempfilename | Name of the temporary uploaded image file |
Definition at line 1046 of file class.assMatchingQuestion.php.
References ilShellUtil\convertImage(), deleteImagefile(), assQuestion\getImagePath(), getThumbGeometry(), getThumbPrefix(), ilFileUtils\makeDirParents(), and ilFileUtils\moveUploadedFile().
assMatchingQuestion::setMatchingMode | ( | $matchingMode | ) |
Definition at line 1445 of file class.assMatchingQuestion.php.
References $matchingMode.
Referenced by loadFromDb().
assMatchingQuestion::setShuffle | ( | $shuffle = true | ) |
Definition at line 1205 of file class.assMatchingQuestion.php.
References assQuestion\$shuffle.
Referenced by loadFromDb().
assMatchingQuestion::setShuffleMode | ( | int | $shuffle | ) |
Definition at line 125 of file class.assMatchingQuestion.php.
References assQuestion\$shuffle.
Referenced by loadFromDb().
assMatchingQuestion::setTerm | ( | $term, | |
$index | |||
) |
Sets a specific term.
string | $term | The text of the term |
string | $index | The index of the term |
Definition at line 860 of file class.assMatchingQuestion.php.
References $index.
assMatchingQuestion::setThumbGeometry | ( | int | $a_geometry | ) |
Set the thumbnail geometry.
integer | $a_geometry | Geometry |
Definition at line 1311 of file class.assMatchingQuestion.php.
Referenced by loadFromDb().
assMatchingQuestion::supportsJavascriptOutput | ( | ) |
Definition at line 1435 of file class.assMatchingQuestion.php.
assMatchingQuestion::supportsNonJsOutput | ( | ) |
Definition at line 1440 of file class.assMatchingQuestion.php.
assMatchingQuestion::toJSON | ( | ) |
Returns a JSON representation of the question.
Definition at line 1363 of file class.assMatchingQuestion.php.
References $definitions, $mobs, $terms, ilObjMediaObject\_getMobsOfObject(), assQuestion\formatSAQuestion(), getDefinitions(), assQuestion\getId(), getMatchingMode(), getMatchingPairs(), assQuestion\getNrOfTries(), assQuestion\getQuestion(), getQuestionType(), assQuestion\getShuffler(), getTerms(), assQuestion\getTitleForHTMLOutput(), ILIAS\Repository\int(), ILIAS\Repository\lng(), and assQuestion\setShuffler().
assMatchingQuestion::withMatchingPairs | ( | array | $pairs | ) |
assAnswerMatchingPair[] |
Definition at line 692 of file class.assMatchingQuestion.php.
|
protected |
Definition at line 68 of file class.assMatchingQuestion.php.
Referenced by getDefinitions(), getExpressionTypes(), and toJSON().
assMatchingQuestion::$element_height |
Definition at line 81 of file class.assMatchingQuestion.php.
assMatchingQuestion::$matching_type |
Definition at line 59 of file class.assMatchingQuestion.php.
Referenced by __construct().
|
protected |
Definition at line 86 of file class.assMatchingQuestion.php.
Referenced by getMatchingMode(), and setMatchingMode().
assMatchingQuestion::$matchingpairs |
Definition at line 50 of file class.assMatchingQuestion.php.
Referenced by getMatchingPairs(), and saveAnswerSpecificDataToDb().
|
private |
Definition at line 88 of file class.assMatchingQuestion.php.
|
private |
Definition at line 41 of file class.assMatchingQuestion.php.
Referenced by getShuffleMode().
|
protected |
Definition at line 66 of file class.assMatchingQuestion.php.
Referenced by getTerms(), and toJSON().
assMatchingQuestion::$thumb_geometry = 100 |
Definition at line 74 of file class.assMatchingQuestion.php.
Referenced by getThumbGeometry().
const assMatchingQuestion::MATCHING_MODE_1_ON_1 = '1:1' |
Definition at line 83 of file class.assMatchingQuestion.php.
Referenced by assMatchingQuestionImport\fromXML(), and assMatchingQuestionGUI\populateQuestionSpecificFormPart().
const assMatchingQuestion::MATCHING_MODE_N_ON_N = 'n:n' |
Definition at line 84 of file class.assMatchingQuestion.php.
Referenced by assMatchingQuestionGUI\isValidTermAndDefinitionAmount(), and assMatchingQuestionGUI\populateQuestionSpecificFormPart().