ILIAS
Release_4_1_x_branch Revision 61804
|
Class for text questions. More...
Public Member Functions | |
__construct ($title="", $comment="", $author="", $owner=-1, $question="") | |
assTextQuestion constructor | |
isComplete () | |
Returns true, if a multiple choice question is complete for use. | |
saveToDb ($original_id="") | |
Saves a assTextQuestion object to a database. | |
loadFromDb ($question_id) | |
Loads a assTextQuestion object from a database. | |
duplicate ($for_test=true, $title="", $author="", $owner="") | |
Duplicates an assTextQuestion. | |
copyObject ($target_questionpool, $title="") | |
Copies an assTextQuestion object. | |
getMaxNumOfChars () | |
Gets the maximum number of characters for the text solution. | |
setMaxNumOfChars ($maxchars=0) | |
Sets the maximum number of characters for the text solution. | |
getMaximumPoints () | |
Returns the maximum points, a learner can reach answering the question. | |
setReachedPoints ($active_id, $points, $pass=NULL) | |
Sets the points, a learner has reached answering the question. | |
isKeywordMatching ($answertext, $a_keyword) | |
Checks if one of the keywords matches the answertext. | |
calculateReachedPoints ($active_id, $pass=NULL) | |
Returns the points, a learner has reached answering the question The points are calculated from the given answers including checks for all special scoring options in the test container. | |
saveWorkingData ($active_id, $pass=NULL) | |
Saves the learners input of the question to the database. | |
createRandomSolution ($test_id, $user_id) | |
getQuestionType () | |
Returns the question type of the question. | |
getKeywords () | |
Returns the keywords of the question. | |
setKeywords ($a_keywords) | |
Sets the keywords of the question. | |
& | getKeywordList () |
Returns the keywords of the question in an array. | |
getTextRating () | |
Returns the rating option for text comparisons. | |
setTextRating ($a_text_rating) | |
Sets the rating option for text comparisons. | |
getAdditionalTableName () | |
Returns the name of the additional question data table in the database. | |
getRTETextWithMediaObjects () | |
Collects all text in the question which could contain media objects which were created with the Rich Text Editor. | |
setExportDetailsXLS (&$worksheet, $startrow, $active_id, $pass, &$format_title, &$format_bold) | |
Creates an Excel worksheet for the detailed cumulated results of this question. | |
toJSON () | |
Returns a JSON representation of the question. | |
Public Member Functions inherited from assQuestion | |
fromXML (&$item, &$questionpool_id, &$tst_id, &$tst_object, &$question_counter, &$import_mapping) | |
Receives parameters from a QTI parser and creates a valid ILIAS question object. | |
toXML ($a_include_header=true, $a_include_binary=true, $a_shuffle=false, $test_output=false, $force_image_references=false) | |
Returns a QTI xml representation of the question. | |
questionTitleExists ($questionpool_id, $title) | |
Returns TRUE if the question title exists in the database. | |
setTitle ($title="") | |
Sets the title string of the assQuestion object. | |
setId ($id=-1) | |
Sets the id of the assQuestion object. | |
setTestId ($id=-1) | |
Sets the test id of the assQuestion object. | |
setComment ($comment="") | |
Sets the comment string of the assQuestion object. | |
setOutputType ($outputType=OUTPUT_HTML) | |
Sets the output type. | |
setShuffle ($shuffle=true) | |
Sets the shuffle flag. | |
setEstimatedWorkingTime ($hour=0, $min=0, $sec=0) | |
Sets the estimated working time of a question. | |
keyInArray ($searchkey, $array) | |
returns TRUE if the key occurs in an array | |
setAuthor ($author="") | |
Sets the authors name of the assQuestion object. | |
setOwner ($owner="") | |
Sets the creator/owner ID of the assQuestion object. | |
getTitle () | |
Gets the title string of the assQuestion object. | |
getId () | |
Gets the id of the assQuestion object. | |
getShuffle () | |
Gets the shuffle flag. | |
getTestId () | |
Gets the test id of the assQuestion object. | |
getComment () | |
Gets the comment string of the assQuestion object. | |
getOutputType () | |
Gets the output type. | |
supportsJavascriptOutput () | |
Returns true if the question type supports JavaScript output. | |
getEstimatedWorkingTime () | |
Gets the estimated working time of a question. | |
getAuthor () | |
Gets the authors name of the assQuestion object. | |
getOwner () | |
Gets the creator/owner ID of the assQuestion object. | |
getObjId () | |
Get the object id of the container object. | |
setObjId ($obj_id=0) | |
Set the object id of the container object. | |
_getMaximumPoints ($question_id) | |
Returns the maximum points, a learner can reach answering the question. | |
& | _getQuestionInfo ($question_id) |
Returns question information from the database. | |
getSuggestedSolutionOutput () | |
& | _getSuggestedSolution ($question_id, $subquestion_index=0) |
Returns a suggested solution for a given subquestion index. | |
getSuggestedSolutions () | |
Return the suggested solutions. | |
_getReachedPoints ($active_id, $question_id, $pass=NULL) | |
Returns the points, a learner has reached answering the question. | |
getReachedPoints ($active_id, $pass=NULL) | |
Returns the points, a learner has reached answering the question This is the fast way to get the points directly from the database. | |
calculateResultsFromSolution ($active_id, $pass=NULL) | |
Calculates the question results from a previously saved question solution. | |
_updateTestResultCache ($active_id) | |
_updateTestPassResults ($active_id, $pass) | |
logAction ($logtext="", $active_id="", $question_id="") | |
Logs an action into the Test&Assessment log. | |
_logAction ($logtext="", $active_id="", $question_id="") | |
Logs an action into the Test&Assessment log. | |
moveUploadedMediaFile ($file, $name) | |
Move an uploaded media file to an public accessible temp dir to present it. | |
getSuggestedSolutionPath () | |
Returns the path for a suggested solution. | |
getJavaPath () | |
Returns the image path for web accessable images of a question. | |
getImagePath () | |
Returns the image path for web accessable images of a question. | |
getFlashPath () | |
Returns the image path for web accessable flash files of a question. | |
getJavaPathWeb () | |
Returns the web image path for web accessable java applets of a question. | |
getSuggestedSolutionPathWeb () | |
Returns the web path for a suggested solution. | |
getImagePathWeb () | |
Returns the web image path for web accessable images of a question. | |
getFlashPathWeb () | |
Returns the web image path for web accessable flash applications of a question. | |
& | getSolutionValues ($active_id, $pass=NULL) |
Loads solutions of a given user from the database an returns it. | |
isInUse ($question_id="") | |
Checks whether the question is in use or not. | |
isClone ($question_id="") | |
Checks whether the question is a clone of another question or not. | |
pcArrayShuffle ($array) | |
Shuffles the values of a given array. | |
getQuestionTypeFromDb ($question_id) | |
get question type for question id | |
getAnswerTableName () | |
Returns the name of the answer table in the database. | |
deleteAnswers ($question_id) | |
Deletes datasets from answers tables. | |
deleteAdditionalTableData ($question_id) | |
Deletes datasets from the additional question table in the database. | |
delete ($question_id) | |
Deletes a question and all materials from the database. | |
getTotalAnswers () | |
get total number of answers | |
_getTotalAnswers ($a_q_id) | |
get number of answers for question id (static) note: do not use $this inside this method | |
_getTotalRightAnswers ($a_q_id) | |
get number of answers for question id (static) note: do not use $this inside this method | |
_getTitle ($a_q_id) | |
Returns the title of a question. | |
_getQuestionText ($a_q_id) | |
Returns question text. | |
copyXHTMLMediaObjectsOfQuestion ($a_q_id) | |
syncXHTMLMediaObjectsOfQuestion () | |
createPageObject () | |
create page object of question | |
copyPageOfQuestion ($a_q_id) | |
getPageOfQuestion () | |
_getQuestionType ($question_id) | |
Returns the question type of a question with a given id. | |
_getQuestionTitle ($question_id) | |
Returns the question title of a question with a given id. | |
setOriginalId ($original_id) | |
getOriginalId () | |
createNewQuestion () | |
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. | |
saveQuestionDataToDb ($original_id="") | |
deleteSuggestedSolutions () | |
Deletes all suggestes solutions in the database. | |
getSuggestedSolution ($subquestion_index=0) | |
Returns a suggested solution for a given subquestion index. | |
getSuggestedSolutionTitle ($subquestion_index=0) | |
Returns the title of a suggested solution at a given subquestion_index. | |
setSuggestedSolution ($solution_id="", $subquestion_index=0, $is_import=false) | |
Sets a suggested solution for the question. | |
updateSuggestedSolutions ($original_id="") | |
Update the suggested solutions of a question based on the suggested solution array attribute. | |
saveSuggestedSolution ($type, $solution_id="", $subquestion_index=0, $value="") | |
Saves a suggested solution for the question. | |
_resolveInternalLink ($internal_link) | |
_resolveIntLinks ($question_id) | |
_getInternalLinkHref ($target="") | |
_getOriginalId ($question_id) | |
Returns the original id of a question. | |
syncWithOriginal () | |
_questionExists ($question_id) | |
Returns true if the question already exists in the database. | |
& | _instanciateQuestion ($question_id) |
Creates an instance of a question with a given question id. | |
getPoints () | |
Returns the maximum available points for the question. | |
setPoints ($a_points) | |
Sets the maximum available points for the question. | |
getSolutionMaxPass ($active_id) | |
Returns the maximum pass a users question solution. | |
_getSolutionMaxPass ($question_id, $active_id) | |
Returns the maximum pass a users question solution. | |
_isWriteable ($question_id, $user_id) | |
Returns true if the question is writeable by a certain user. | |
_isUsedInRandomTest ($question_id="") | |
Checks whether the question is used in a random test or not. | |
calculateReachedPoints ($active_id, $pass=NULL, $points=0) | |
Returns the points, a learner has reached answering the question The points are calculated from the given answers including checks for all special scoring options in the test container. | |
isHTML ($a_text) | |
Checks if a given string contains HTML or not. | |
prepareTextareaOutput ($txt_output, $prepare_for_latex_output=FALSE) | |
Prepares a string for a text area output in tests. | |
QTIMaterialToString ($a_material) | |
Reads an QTI material tag an creates a text string. | |
addQTIMaterial (&$a_xml_writer, $a_material, $close_material_tag=TRUE, $add_mobs=TRUE) | |
Creates a QTI material tag from a plain text or xhtml text. | |
createNewImageFileName ($image_filename) | |
_setReachedPoints ($active_id, $question_id, $points, $maxpoints, $pass=NULL, $manualscoring=FALSE) | |
Sets the points, a learner has reached answering the question Additionally objective results are updated. | |
getQuestion () | |
Gets the question string of the question object. | |
setQuestion ($question="") | |
Sets the question string of the question object. | |
getQuestionTypeID () | |
Returns the question type of the question. | |
saveFeedbackGeneric ($correctness, $feedback) | |
Saves generic feedback to the database. | |
getFeedbackGeneric ($correctness) | |
Returns the generic feedback for a given question state. | |
duplicateFeedbackGeneric ($original_id) | |
Duplicates the generic feedback of a question. | |
syncFeedbackGeneric () | |
cleanupMediaObjectUsage () | |
synchronises appearances of media objects in the question with media object usage table | |
& | getInstances () |
Gets all instances of the question. | |
_needsManualScoring ($question_id) | |
getActiveUserData ($active_id) | |
Returns the user id and the test id for a given active id. | |
& | _instanciateQuestionGUI ($question_id) |
Creates an instance of a question gui with a given question id. | |
__get ($value) | |
Object getter. | |
__set ($key, $value) | |
Object setter. | |
getNrOfTries () | |
setNrOfTries ($a_nr_of_tries) |
Data Fields | |
$maxNumOfChars | |
$keywords | |
$text_rating |
Private Attributes | |
$matchcondition |
Additional Inherited Members | |
Static Public Member Functions inherited from assQuestion | |
static | _getSuggestedSolutionCount ($question_id) |
Returns the number of suggested solutions associated with a question. | |
static | _getSuggestedSolutionOutput ($question_id) |
Returns the output of the suggested solution. | |
static | _isWorkedThrough ($active_id, $question_id, $pass=NULL) |
Returns true if the question was worked through in the given pass Worked through means that the user entered at least one value. | |
static | _areAnswered ($a_user_id, $a_question_ids) |
Checks if an array of question ids is answered by an user or not. | |
static | _includeClass ($question_type, $gui=0) |
Include the php class file for a given question type. | |
static | _getQuestionTypeName ($type_tag) |
Return the translation for a given question type tag. | |
Protected Member Functions inherited from assQuestion | |
deletePageOfQuestion ($question_id) | |
Deletes the page object of a question with a given ID. | |
onDuplicate ($source_question_id) | |
Will be called when a question is duplicated (inside a question pool or for insertion in a test) | |
onCopy ($source_questionpool_id, $source_question_id) | |
Will be called when a question is copied (into another question pool) | |
duplicateSuggestedSolutionFiles ($question_id) | |
Duplicates the files of a suggested solution if the question is duplicated. | |
syncSuggestedSolutionFiles ($original_id) | |
Syncs the files of a suggested solution if the question is synced. | |
copySuggestedSolutionFiles ($source_questionpool_id, $source_question_id) | |
Protected Attributes inherited from assQuestion | |
$id | |
$title | |
$comment | |
$owner | |
$author | |
$question | |
$points | |
$est_working_time | |
$shuffle | |
$test_id | |
$obj_id | |
$ilias | |
$tpl | |
$lng | |
$outputType | |
$suggested_solutions | |
$original_id | |
$page |
Class for text questions.
assTextQuestion is a class for text questions
Definition at line 35 of file class.assTextQuestion.php.
assTextQuestion::__construct | ( | $title = "" , |
|
$comment = "" , |
|||
$author = "" , |
|||
$owner = -1 , |
|||
$question = "" |
|||
) |
assTextQuestion constructor
The constructor takes possible arguments an creates an instance of the assTextQuestion 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 text question public |
Reimplemented from assQuestion.
Definition at line 79 of file class.assTextQuestion.php.
References assQuestion\$author, assQuestion\$comment, assQuestion\$owner, assQuestion\$question, and assQuestion\$title.
assTextQuestion::calculateReachedPoints | ( | $active_id, | |
$pass = NULL |
|||
) |
Returns the points, a learner has reached answering the question The points are calculated from the given answers including checks for all special scoring options in the test container.
integer | $user_id | The database ID of the learner |
integer | $test_id | The database Id of the test containing the question public |
Definition at line 408 of file class.assTextQuestion.php.
References $ilDB, $keywords, $pass, assQuestion\$points, $result, $row, assQuestion\getId(), getKeywordList(), getMaximumPoints(), assQuestion\getSolutionMaxPass(), and isKeywordMatching().
assTextQuestion::copyObject | ( | $target_questionpool, | |
$title = "" |
|||
) |
Copies an assTextQuestion object.
public
Definition at line 240 of file class.assTextQuestion.php.
References assQuestion\$original_id, assQuestion\$title, assQuestion\_getOriginalId(), assQuestion\getId(), and assQuestion\getObjId().
assTextQuestion::createRandomSolution | ( | $test_id, | |
$user_id | |||
) |
assTextQuestion::duplicate | ( | $for_test = true , |
|
$title = "" , |
|||
$author = "" , |
|||
$owner = "" |
|||
) |
Duplicates an assTextQuestion.
public
Definition at line 188 of file class.assTextQuestion.php.
References assQuestion\$author, assQuestion\$original_id, assQuestion\$owner, assQuestion\$title, assQuestion\_getOriginalId(), and assQuestion\getId().
assTextQuestion::getAdditionalTableName | ( | ) |
Returns the name of the additional question data table in the database.
Reimplemented from assQuestion.
Definition at line 644 of file class.assTextQuestion.php.
Referenced by loadFromDb(), and saveToDb().
& assTextQuestion::getKeywordList | ( | ) |
Returns the keywords of the question in an array.
Definition at line 587 of file class.assTextQuestion.php.
References $keywords.
Referenced by calculateReachedPoints().
assTextQuestion::getKeywords | ( | ) |
Returns the keywords of the question.
Definition at line 565 of file class.assTextQuestion.php.
References $keywords.
Referenced by saveToDb().
assTextQuestion::getMaximumPoints | ( | ) |
Returns the maximum points, a learner can reach answering the question.
public
Reimplemented from assQuestion.
Definition at line 308 of file class.assTextQuestion.php.
References assQuestion\$points.
Referenced by calculateReachedPoints(), and isComplete().
assTextQuestion::getMaxNumOfChars | ( | ) |
Gets the maximum number of characters for the text solution.
Definition at line 278 of file class.assTextQuestion.php.
References $maxNumOfChars.
Referenced by saveToDb(), saveWorkingData(), and toJSON().
assTextQuestion::getQuestionType | ( | ) |
Returns the question type of the question.
Reimplemented from assQuestion.
Definition at line 554 of file class.assTextQuestion.php.
Referenced by toJSON().
assTextQuestion::getRTETextWithMediaObjects | ( | ) |
Collects all text in the question which could contain media objects which were created with the Rich Text Editor.
Reimplemented from assQuestion.
Definition at line 653 of file class.assTextQuestion.php.
assTextQuestion::getTextRating | ( | ) |
Returns the rating option for text comparisons.
Definition at line 607 of file class.assTextQuestion.php.
References $text_rating.
Referenced by isKeywordMatching(), and saveToDb().
assTextQuestion::isComplete | ( | ) |
Returns true, if a multiple choice question is complete for use.
Reimplemented from assQuestion.
Definition at line 100 of file class.assTextQuestion.php.
References getMaximumPoints().
assTextQuestion::isKeywordMatching | ( | $answertext, | |
$a_keyword | |||
) |
Checks if one of the keywords matches the answertext.
string | $answertext | The answertext of the user |
string | $a_keyword | The keyword which should be checked |
Definition at line 353 of file class.assTextQuestion.php.
References $result, getTextRating(), ilStr\strPos(), ilStr\strToLower(), TEXTGAP_RATING_CASEINSENSITIVE, TEXTGAP_RATING_CASESENSITIVE, TEXTGAP_RATING_LEVENSHTEIN1, TEXTGAP_RATING_LEVENSHTEIN2, TEXTGAP_RATING_LEVENSHTEIN3, TEXTGAP_RATING_LEVENSHTEIN4, and TEXTGAP_RATING_LEVENSHTEIN5.
Referenced by calculateReachedPoints().
assTextQuestion::loadFromDb | ( | $question_id | ) |
Loads a assTextQuestion object from a database.
object | $db | A pear DB object |
integer | $question_id | A unique key which defines the text question in the database public |
Reimplemented from assQuestion.
Definition at line 151 of file class.assTextQuestion.php.
References $data, $ilDB, $result, ilRTE\_replaceMediaObjectImageSrc(), getAdditionalTableName(), assQuestion\setAuthor(), assQuestion\setComment(), assQuestion\setEstimatedWorkingTime(), assQuestion\setId(), setKeywords(), setMaxNumOfChars(), assQuestion\setNrOfTries(), assQuestion\setObjId(), assQuestion\setOriginalId(), assQuestion\setOwner(), assQuestion\setPoints(), assQuestion\setQuestion(), assQuestion\setShuffle(), setTextRating(), and assQuestion\setTitle().
assTextQuestion::saveToDb | ( | $original_id = "" | ) |
Saves a assTextQuestion object to a database.
object | $db | A pear DB object public |
Reimplemented from assQuestion.
Definition at line 118 of file class.assTextQuestion.php.
References $ilDB, assQuestion\$original_id, getAdditionalTableName(), assQuestion\getId(), getKeywords(), getMaxNumOfChars(), getTextRating(), and assQuestion\saveQuestionDataToDb().
assTextQuestion::saveWorkingData | ( | $active_id, | |
$pass = NULL |
|||
) |
Saves the learners input of the question to the database.
@param integer $test_id The database id of the test containing this question
Reimplemented from assQuestion.
Definition at line 471 of file class.assTextQuestion.php.
References $_POST, $ilDB, $pass, ilObjAssessmentFolder\_enabledAssessmentLogging(), ilObjAssessmentFolder\_getLogLanguage(), ilObjTest\_getPass(), assQuestion\getId(), getMaxNumOfChars(), assQuestion\isHTML(), assQuestion\logAction(), ilUtil\stripSlashes(), ilStr\strLen(), and ilStr\subStr().
assTextQuestion::setExportDetailsXLS | ( | & | $worksheet, |
$startrow, | |||
$active_id, | |||
$pass, | |||
& | $format_title, | ||
& | $format_bold | ||
) |
Creates an Excel worksheet for the detailed cumulated results of this question.
object | $worksheet | Reference to the parent excel worksheet |
object | $startrow | Startrow of the output in the excel worksheet |
object | $active_id | Active id of the participant |
object | $pass | Test pass |
object | $format_title | Excel title format |
object | $format_bold | Excel bold format |
array | $eval_data | Cumulated evaluation data public |
Reimplemented from assQuestion.
Definition at line 670 of file class.assTextQuestion.php.
References $pass, ilExcelUtils\_convert_text(), assQuestion\getSolutionValues(), and assQuestion\getTitle().
assTextQuestion::setKeywords | ( | $a_keywords | ) |
Sets the keywords of the question.
string | $a_keywords | The keywords of the question public |
Definition at line 576 of file class.assTextQuestion.php.
Referenced by loadFromDb().
assTextQuestion::setMaxNumOfChars | ( | $maxchars = 0 | ) |
Sets the maximum number of characters for the text solution.
integer | $maxchars | The maximum number of characters for the text solution public |
Definition at line 297 of file class.assTextQuestion.php.
Referenced by loadFromDb().
assTextQuestion::setReachedPoints | ( | $active_id, | |
$points, | |||
$pass = NULL |
|||
) |
Sets the points, a learner has reached answering the question.
integer | $user_id | The database ID of the learner |
integer | $test_id | The database Id of the test containing the question |
integer | $points | The points the user has reached answering the question |
Definition at line 322 of file class.assTextQuestion.php.
References $ilDB, $pass, assQuestion\$points, assQuestion\_updateTestPassResults(), assQuestion\getId(), assQuestion\getPoints(), and assQuestion\getSolutionMaxPass().
assTextQuestion::setTextRating | ( | $a_text_rating | ) |
Sets the rating option for text comparisons.
string | $a_textgap_rating | The rating option for text comparisons |
Definition at line 619 of file class.assTextQuestion.php.
References TEXTGAP_RATING_CASEINSENSITIVE, TEXTGAP_RATING_CASESENSITIVE, TEXTGAP_RATING_LEVENSHTEIN1, TEXTGAP_RATING_LEVENSHTEIN2, TEXTGAP_RATING_LEVENSHTEIN3, TEXTGAP_RATING_LEVENSHTEIN4, and TEXTGAP_RATING_LEVENSHTEIN5.
Referenced by loadFromDb().
assTextQuestion::toJSON | ( | ) |
Returns a JSON representation of the question.
Definition at line 689 of file class.assTextQuestion.php.
References $result, ilRTE\_replaceMediaObjectImageSrc(), assQuestion\getId(), getMaxNumOfChars(), assQuestion\getNrOfTries(), assQuestion\getQuestion(), getQuestionType(), assQuestion\getShuffle(), and assQuestion\getTitle().
assTextQuestion::$keywords |
Definition at line 54 of file class.assTextQuestion.php.
Referenced by calculateReachedPoints(), getKeywordList(), and getKeywords().
|
private |
Definition at line 64 of file class.assTextQuestion.php.
assTextQuestion::$maxNumOfChars |
Definition at line 44 of file class.assTextQuestion.php.
Referenced by getMaxNumOfChars().
assTextQuestion::$text_rating |
Definition at line 61 of file class.assTextQuestion.php.
Referenced by getTextRating().