ILIAS  release_8 Revision v8.24
assFlashQuestion Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for assFlashQuestion:
+ Collaboration diagram for assFlashQuestion:

Public Member Functions

 __construct ( $title="", $comment="", $author="", $owner=-1, $question="")
 assFlashQuestion constructor More...
 
 isComplete ()
 Returns true, if a single choice question is complete for use. More...
 
 saveToDb ($original_id="")
 Saves a assFlashQuestion object to a database. More...
 
 saveAdditionalQuestionDataToDb ()
 Saves a record to the question types additional data table. More...
 
 loadFromDb ($question_id)
 Loads a assFlashQuestion object from a database. More...
 
 duplicate (bool $for_test=true, string $title="", string $author="", string $owner="", $testObjId=null)
 Duplicates an assFlashQuestion. More...
 
 copyObject ($target_questionpool_id, $title="")
 Copies an assFlashQuestion object. More...
 
 createNewOriginalFromThisDuplicate ($targetParentId, $targetQuestionTitle="")
 
 getMaximumPoints ()
 Returns the maximum points, a learner can reach answering the question. More...
 
 calculateReachedPoints ($active_id, $pass=null, $authorizedSolution=true, $returndetails=false)
 Returns the points, a learner has reached answering the question. More...
 
 calculateReachedPointsFromPreviewSession (ilAssQuestionPreviewSession $previewSession)
 
 sendToHost ($url, $data, $optional_headers=null)
 
 moveUploadedFile ($tmpfile, $flashfile)
 Uploads a flash file. More...
 
 deleteApplet ()
 
 saveWorkingData ($active_id, $pass=null, $authorized=true)
 Saves the learners input of the question to the database. More...
 
 getQuestionType ()
 Returns the question type of the question. More...
 
 getAdditionalTableName ()
 Returns the name of the additional question data table in the database. More...
 
 getAnswerTableName ()
 Returns the name of the answer table in the database. More...
 
 deleteAnswers ($question_id)
 Deletes datasets from answers tables. More...
 
 getRTETextWithMediaObjects ()
 Collects all text in the question which could contain media objects which were created with the Rich Text Editor. More...
 
 setExportDetailsXLS (ilAssExcelFormatHelper $worksheet, int $startrow, int $active_id, int $pass)
 {} More...
 
 fromXML ($item, int $questionpool_id, ?int $tst_id, &$tst_object, int &$question_counter, array $import_mapping, array &$solutionhints=[])
 Creates a question from a QTI file. More...
 
 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 and sets the internal domxml variable with the DOM XML representation of the QTI xml representation. More...
 
 getBestSolution ($active_id, $pass)
 Returns the best solution for a given pass of a participant. More...
 
 setHeight ($a_height)
 
 getHeight ()
 
 setWidth ($a_width)
 
 getWidth ()
 
 setApplet ($a_applet)
 
 getApplet ()
 
 addParameter ($name, $value)
 
 setParameters ($params)
 
 removeParameter ($name)
 
 clearParameters ()
 
 getParameters ()
 
 isAutosaveable ()
 
 buildTestPresentationConfig ()
 Get the test question configuration. More...
 
- Public Member Functions inherited from assQuestion
 __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 ()
 
 saveAdditionalQuestionDataToDb ()
 Saves a record to the question types additional data table. More...
 

Protected Member Functions

 moveAppletIfExists ()
 Moves an applet file (maybe stored in the PHP session) to its final filesystem destination. More...
 
 duplicateApplet (int $question_id, $objectId=null)
 
 copyApplet ($question_id, $source_questionpool)
 Copy the flash applet. More...
 
 savePreviewData (ilAssQuestionPreviewSession $previewSession)
 
- Protected Member Functions inherited from assQuestion
 getQuestionAction ()
 
 isNonEmptyItemListPostSubmission (string $postSubmissionFieldname)
 
 ensureCurrentTestPass (int $active_id, int $pass)
 
 lookupCurrentTestPass (int $active_id, int $pass)
 
 lookupTestId (int $active_id)
 @refactor 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...
 

Private Attributes

 $width
 
 $height
 
 $parameters
 
 $applet
 

Additional Inherited Members

- Static Public Member Functions inherited from assQuestion
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)
 @TODO 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...
 
- Data Fields inherited from assQuestion
const IMG_MIME_TYPE_JPG = 'image/jpeg'
 
const IMG_MIME_TYPE_PNG = 'image/png'
 
const IMG_MIME_TYPE_GIF = 'image/gif'
 
const TRIM_PATTERN = '/^[\p{C}\p{Z}]+|[\p{C}\p{Z}]+$/u'
 
const ADDITIONAL_CONTENT_EDITING_MODE_RTE = 'default'
 
const ADDITIONAL_CONTENT_EDITING_MODE_IPE = 'pageobject'
 
ilAssQuestionFeedback $feedbackOBJ
 
bool $prevent_rte_usage = false
 
bool $selfassessmenteditingmode = false
 
int $defaultnroftries = 0
 
string $questionActionCmd = 'handleQuestionAction'
 
const KEY_VALUES_IMPLOSION_SEPARATOR = ':'
 
- Static Protected Member Functions inherited from assQuestion
static getNumExistingSolutionRecords (int $activeId, int $pass, int $questionId)
 
- Protected Attributes inherited from assQuestion
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
 
- Static Protected Attributes inherited from assQuestion
static $allowedFileExtensionsByMimeType
 
static $allowedCharsetsByMimeType
 
static $allowedImageMaterialFileExtensionsByMimeType
 
static $forcePassResultsUpdateEnabled = false
 
static $imageSourceFixReplaceMap
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Class for Flash based questions

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Björn Heyser bheys.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Maximilian Becker mbeck.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$

Definition at line 35 of file class.assFlashQuestion.php.

Constructor & Destructor Documentation

◆ __construct()

assFlashQuestion::__construct (   $title = "",
  $comment = "",
  $author = "",
  $owner = -1,
  $question = "" 
)

assFlashQuestion constructor

The constructor takes possible arguments an creates an instance of the assFlashQuestion object.

Parameters
string$titleA title string to describe the question
string$commentA comment string to describe the question
string$authorA string containing the name of the questions author
integer$ownerA numerical ID to identify the owner/creator
string$questionThe question string of the single choice question @access public
See also
assQuestion:assQuestion()

Definition at line 55 of file class.assFlashQuestion.php.

61 {
63 $this->parameters = array();
64 $this->width = 540;
65 $this->height = 400;
66 $this->applet = "";
67 }
string $question
The question text.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References assQuestion\$author, assQuestion\$comment, assQuestion\$owner, assQuestion\$question, assQuestion\$title, and ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

Member Function Documentation

◆ addParameter()

assFlashQuestion::addParameter (   $name,
  $value 
)

Definition at line 660 of file class.assFlashQuestion.php.

660 : void
661 {
662 $this->parameters[$name] = $value;
663 }
if($format !==null) $name
Definition: metadata.php:247

References $name.

◆ buildTestPresentationConfig()

assFlashQuestion::buildTestPresentationConfig ( )

Get the test question configuration.

Returns
ilTestQuestionConfig

Reimplemented from assQuestion.

Definition at line 700 of file class.assFlashQuestion.php.

701 // hey.
702 {
703 // hey: refactored identifiers
704 return parent::buildTestPresentationConfig()
705 // hey.
707 ->setBackgroundChangeDetectionEnabled(true);
708 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setFormChangeDetectionEnabled($enableFormChangeDetection)
Set if the detection of form changes is enabled.

References ilTestQuestionConfig\setFormChangeDetectionEnabled().

+ Here is the call graph for this function:

◆ calculateReachedPoints()

assFlashQuestion::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.

@access public

Parameters
integer$active_id
integer$pass
boolean$returndetails(deprecated !!)
Returns
integer/array $points/$details (array $details is deprecated !!)

Reimplemented from assQuestion.

Definition at line 397 of file class.assFlashQuestion.php.

398 {
399 if ($returndetails) {
400 throw new ilTestException('return details not implemented for ' . __METHOD__);
401 }
402
403 global $DIC;
404 $ilDB = $DIC['ilDB'];
405
406 $found_values = array();
407 if (is_null($pass)) {
408 $pass = $this->getSolutionMaxPass($active_id);
409 }
410
411 $result = $this->getCurrentSolutionResultSet($active_id, $pass, $authorizedSolution);
412
413 $points = 0;
414 while ($data = $ilDB->fetchAssoc($result)) {
415 $points += $data["points"];
416 }
417
418 return $points;
419 }
float $points
The maximum available points for the question.
getCurrentSolutionResultSet(int $active_id, int $pass, bool $authorized=true)
getSolutionMaxPass(int $active_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28

References $data, $DIC, $ilDB, assQuestion\$points, assQuestion\getCurrentSolutionResultSet(), and assQuestion\getSolutionMaxPass().

+ Here is the call graph for this function:

◆ calculateReachedPointsFromPreviewSession()

assFlashQuestion::calculateReachedPointsFromPreviewSession ( ilAssQuestionPreviewSession  $previewSession)

Reimplemented from assQuestion.

Definition at line 421 of file class.assFlashQuestion.php.

422 {
423 $points = 0;
424 foreach ($previewSession->getParticipantsSolution() as $solution) {
425 if (isset($solution['points'])) {
426 $points += $solution['points'];
427 }
428 }
429
430 $reachedPoints = $this->deductHintPointsFromReachedPoints($previewSession, $points);
431
432 return $this->ensureNonNegativePoints($reachedPoints);
433 }
deductHintPointsFromReachedPoints(ilAssQuestionPreviewSession $previewSession, $reachedPoints)
ensureNonNegativePoints($points)

References assQuestion\$points, assQuestion\deductHintPointsFromReachedPoints(), assQuestion\ensureNonNegativePoints(), and ilAssQuestionPreviewSession\getParticipantsSolution().

+ Here is the call graph for this function:

◆ clearParameters()

assFlashQuestion::clearParameters ( )

Definition at line 679 of file class.assFlashQuestion.php.

679 : void
680 {
681 $this->parameters = array();
682 }

Referenced by loadFromDb().

+ Here is the caller graph for this function:

◆ copyApplet()

assFlashQuestion::copyApplet (   $question_id,
  $source_questionpool 
)
protected

Copy the flash applet.

@access public

See also
$points

Definition at line 362 of file class.assFlashQuestion.php.

362 : void
363 {
364 $flashpath = $this->getFlashPath();
365 $flashpath_original = preg_replace("/([^\d])$this->id([^\d])/", "\${1}$question_id\${2}", $flashpath);
366 $flashpath_original = str_replace("/$this->obj_id/", "/$source_questionpool/", $flashpath_original);
367 if (!file_exists($flashpath)) {
368 ilFileUtils::makeDirParents($flashpath);
369 }
370 $filename = $this->getApplet();
371 if (!copy($flashpath_original . $filename, $flashpath . $filename)) {
372 print "flash applet could not be copied!!!! ";
373 }
374 }
$filename
Definition: buildRTE.php:78
getFlashPath()
Returns the image path for web accessable flash files of a question.
static makeDirParents(string $a_dir)
Create a new directory and all parent directories.

References $filename, getApplet(), assQuestion\getFlashPath(), and ilFileUtils\makeDirParents().

+ Here is the call graph for this function:

◆ copyObject()

assFlashQuestion::copyObject (   $target_questionpool_id,
  $title = "" 
)

Copies an assFlashQuestion object.

Copies an assFlashQuestion object

@access public

Definition at line 272 of file class.assFlashQuestion.php.

272 : int
273 {
274 if ($this->getId() <= 0) {
275 throw new RuntimeException('The question has not been saved. It cannot be duplicated');
276 }
277 // duplicate the question in database
278 $clone = $this;
279 include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
281 $clone->id = -1;
282 $source_questionpool_id = $this->getObjId();
283 $clone->setObjId($target_questionpool_id);
284 if ($title) {
285 $clone->setTitle($title);
286 }
287 $clone->saveToDb();
288
289 // copy question page content
290 $clone->copyPageOfQuestion($original_id);
291 // copy XHTML media objects
292 $clone->copyXHTMLMediaObjectsOfQuestion($original_id);
293 // duplicate the applet
294 $clone->copyApplet($original_id, $source_questionpool_id);
295
296 $clone->onCopy($source_questionpool_id, $original_id, $clone->getObjId(), $clone->getId());
297
298 return $clone->id;
299 }
static _getOriginalId(int $question_id)

References assQuestion\$original_id, assQuestion\$title, assQuestion\_getOriginalId(), assQuestion\getId(), and assQuestion\getObjId().

+ Here is the call graph for this function:

◆ createNewOriginalFromThisDuplicate()

assFlashQuestion::createNewOriginalFromThisDuplicate (   $targetParentId,
  $targetQuestionTitle = "" 
)

Definition at line 301 of file class.assFlashQuestion.php.

301 : int
302 {
303 if ($this->getId() <= 0) {
304 throw new RuntimeException('The question has not been saved. It cannot be duplicated');
305 }
306
307 include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
308
309 $sourceQuestionId = $this->id;
310 $sourceParentId = $this->getObjId();
311
312 // duplicate the question in database
313 $clone = $this;
314 $clone->id = -1;
315
316 $clone->setObjId($targetParentId);
317
318 if ($targetQuestionTitle) {
319 $clone->setTitle($targetQuestionTitle);
320 }
321
322 $clone->saveToDb();
323 // copy question page content
324 $clone->copyPageOfQuestion($sourceQuestionId);
325 // copy XHTML media objects
326 $clone->copyXHTMLMediaObjectsOfQuestion($sourceQuestionId);
327 // duplicate the applet
328 $clone->copyApplet($sourceQuestionId, $sourceParentId);
329
330 $clone->onCopy($sourceParentId, $sourceQuestionId, $clone->getObjId(), $clone->getId());
331
332 return $clone->id;
333 }

References assQuestion\$id, assQuestion\getId(), and assQuestion\getObjId().

+ Here is the call graph for this function:

◆ deleteAnswers()

assFlashQuestion::deleteAnswers (   $question_id)

Deletes datasets from answers tables.

Parameters
integer$question_idThe question id which should be deleted in the answers table @access public

Definition at line 554 of file class.assFlashQuestion.php.

554 : void
555 {
556 }

◆ deleteApplet()

assFlashQuestion::deleteApplet ( )

Definition at line 480 of file class.assFlashQuestion.php.

480 : void
481 {
482 @unlink($this->getFlashPath() . $this->getApplet());
483 $this->applet = "";
484 }

References getApplet(), and assQuestion\getFlashPath().

+ Here is the call graph for this function:

◆ duplicate()

assFlashQuestion::duplicate ( bool  $for_test = true,
string  $title = "",
string  $author = "",
string  $owner = "",
  $testObjId = null 
)

Duplicates an assFlashQuestion.

Duplicates an assFlashQuestion

@access public

Reimplemented from assQuestion.

Definition at line 217 of file class.assFlashQuestion.php.

217 : int
218 {
219 if ($this->id <= 0) {
220 // The question has not been saved. It cannot be duplicated
221 return -1;
222 }
223 // duplicate the question in database
224 $this_id = $this->getId();
225 $thisObjId = $this->getObjId();
226
227 $clone = $this;
228 include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
230 $clone->id = -1;
231
232 if ((int) $testObjId > 0) {
233 $clone->setObjId($testObjId);
234 }
235
236 if ($title) {
237 $clone->setTitle($title);
238 }
239
240 if ($author) {
241 $clone->setAuthor($author);
242 }
243 if ($owner) {
244 $clone->setOwner($owner);
245 }
246
247 if ($for_test) {
248 $clone->saveToDb($original_id);
249 } else {
250 $clone->saveToDb();
251 }
252
253 // copy question page content
254 $clone->copyPageOfQuestion($this_id);
255 // copy XHTML media objects
256 $clone->copyXHTMLMediaObjectsOfQuestion($this_id);
257 // duplicate the applet
258 $clone->duplicateApplet($this_id, $thisObjId);
259
260 $clone->onDuplicate($thisObjId, $this_id, $clone->getObjId(), $clone->getId());
261
262 return $clone->id;
263 }

References assQuestion\$author, assQuestion\$original_id, assQuestion\$owner, assQuestion\$title, assQuestion\_getOriginalId(), assQuestion\getId(), and assQuestion\getObjId().

+ Here is the call graph for this function:

◆ duplicateApplet()

assFlashQuestion::duplicateApplet ( int  $question_id,
  $objectId = null 
)
protected

Definition at line 338 of file class.assFlashQuestion.php.

338 : void
339 {
340 $flashpath = $this->getFlashPath();
341 $flashpath_original = preg_replace("/([^\d])$this->id([^\d])/", "\${1}$question_id\${2}", $flashpath);
342
343 if ((int) $objectId > 0) {
344 $flashpath_original = str_replace("/$this->obj_id/", "/$objectId/", $flashpath_original);
345 }
346
347 if (!file_exists($flashpath)) {
348 ilFileUtils::makeDirParents($flashpath);
349 }
350 $filename = $this->getApplet();
351 if (!copy($flashpath_original . $filename, $flashpath . $filename)) {
352 print "flash applet could not be duplicated!!!! ";
353 }
354 }

References $filename, getApplet(), assQuestion\getFlashPath(), and ilFileUtils\makeDirParents().

+ Here is the call graph for this function:

◆ fromXML()

assFlashQuestion::fromXML (   $item,
int  $questionpool_id,
?int  $tst_id,
$tst_object,
int &  $question_counter,
array  $import_mapping,
array &  $solutionhints = [] 
)

Creates a question from a QTI file.

Receives parameters from a QTI parser and creates a valid ILIAS question object

Parameters
ilQTIItem$itemThe QTI item object
integer$questionpool_idThe id of the parent questionpool
integer$tst_idThe id of the parent test if the question is part of a test
object$tst_objectA reference to the parent test object
integer$question_counterA reference to a question counter to count the questions of an imported question pool
array$import_mappingAn array containing references to included ILIAS objects @access public

Reimplemented from assQuestion.

Definition at line 591 of file class.assFlashQuestion.php.

591 : array
592 {
593 include_once "./Modules/TestQuestionPool/classes/import/qti12/class.assFlashQuestionImport.php";
594 $import = new assFlashQuestionImport($this);
595 return $import->fromXML($item, $questionpool_id, $tst_id, $tst_object, $question_counter, $import_mapping);
596 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getAdditionalTableName()

assFlashQuestion::getAdditionalTableName ( )

Returns the name of the additional question data table in the database.

Returns the name of the additional question data table in the database

Returns
string The additional table name @access public

Reimplemented from assQuestion.

Definition at line 530 of file class.assFlashQuestion.php.

530 : string
531 {
532 return "qpl_qst_flash";
533 }

Referenced by loadFromDb(), and saveAdditionalQuestionDataToDb().

+ Here is the caller graph for this function:

◆ getAnswerTableName()

assFlashQuestion::getAnswerTableName ( )

Returns the name of the answer table in the database.

Returns the name of the answer table in the database

Returns
string The answer table name @access public

Reimplemented from assQuestion.

Definition at line 543 of file class.assFlashQuestion.php.

543 : string
544 {
545 return "";
546 }

◆ getApplet()

assFlashQuestion::getApplet ( )

Definition at line 655 of file class.assFlashQuestion.php.

655 : string
656 {
657 return $this->applet;
658 }

References $applet.

Referenced by copyApplet(), deleteApplet(), duplicateApplet(), isComplete(), moveAppletIfExists(), and saveAdditionalQuestionDataToDb().

+ Here is the caller graph for this function:

◆ getBestSolution()

assFlashQuestion::getBestSolution (   $active_id,
  $pass 
)

Returns the best solution for a given pass of a participant.

Returns
array An associated array containing the best solution @access public

Definition at line 618 of file class.assFlashQuestion.php.

618 : array
619 {
620 $user_solution = array();
621 return $user_solution;
622 }

◆ getHeight()

assFlashQuestion::getHeight ( )

Definition at line 632 of file class.assFlashQuestion.php.

632 : int
633 {
634 return $this->height;
635 }

References $height.

Referenced by saveAdditionalQuestionDataToDb().

+ Here is the caller graph for this function:

◆ getMaximumPoints()

assFlashQuestion::getMaximumPoints ( )

Returns the maximum points, a learner can reach answering the question.

@access public

See also
$points

Reimplemented from assQuestion.

Definition at line 382 of file class.assFlashQuestion.php.

382 : float
383 {
384 return $this->points;
385 }

References assQuestion\$points.

Referenced by isComplete().

+ Here is the caller graph for this function:

◆ getParameters()

assFlashQuestion::getParameters ( )

Definition at line 684 of file class.assFlashQuestion.php.

684 : array
685 {
686 return $this->parameters;
687 }

References $parameters.

Referenced by saveAdditionalQuestionDataToDb().

+ Here is the caller graph for this function:

◆ getQuestionType()

assFlashQuestion::getQuestionType ( )

Returns the question type of the question.

Returns the question type of the question

Returns
integer The question type of the question @access public

Reimplemented from assQuestion.

Definition at line 517 of file class.assFlashQuestion.php.

517 : string
518 {
519 return "assFlashQuestion";
520 }

◆ getRTETextWithMediaObjects()

assFlashQuestion::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 562 of file class.assFlashQuestion.php.

562 : string
563 {
564 $text = parent::getRTETextWithMediaObjects();
565 return $text;
566 }

◆ getWidth()

assFlashQuestion::getWidth ( )

Definition at line 645 of file class.assFlashQuestion.php.

645 : int
646 {
647 return $this->width;
648 }

References $width.

Referenced by saveAdditionalQuestionDataToDb().

+ Here is the caller graph for this function:

◆ isAutosaveable()

assFlashQuestion::isAutosaveable ( )

Reimplemented from assQuestion.

Definition at line 689 of file class.assFlashQuestion.php.

689 : bool
690 {
691 return false;
692 }

◆ isComplete()

assFlashQuestion::isComplete ( )

Returns true, if a single choice question is complete for use.

Returns
boolean True, if the single choice question is complete for use, otherwise false @access public

Reimplemented from assQuestion.

Definition at line 75 of file class.assFlashQuestion.php.

75 : bool
76 {
77 if (strlen($this->title)
78 && ($this->author)
79 && ($this->question)
80 && ($this->getMaximumPoints() > 0)
81 && (strlen($this->getApplet()))
82 ) {
83 return true;
84 }
85 return false;
86 }
getMaximumPoints()
Returns the maximum points, a learner can reach answering the question.

References getApplet(), and getMaximumPoints().

+ Here is the call graph for this function:

◆ loadFromDb()

assFlashQuestion::loadFromDb (   $question_id)

Loads a assFlashQuestion object from a database.

Parameters
object$dbA pear DB object
integer$question_idA unique key which defines the multiple choice test in the database @access public

Definition at line 153 of file class.assFlashQuestion.php.

153 : void
154 {
155 global $DIC;
156 $ilDB = $DIC['ilDB'];
157 $result = $ilDB->queryF(
158 "SELECT qpl_questions.*, " . $this->getAdditionalTableName() . ".* FROM qpl_questions LEFT JOIN " . $this->getAdditionalTableName() . " ON " . $this->getAdditionalTableName() . ".question_fi = qpl_questions.question_id WHERE qpl_questions.question_id = %s",
159 array("integer"),
160 array($question_id)
161 );
162 if ($result->numRows() == 1) {
163 $data = $ilDB->fetchAssoc($result);
164 $this->setId($question_id);
165 $this->setNrOfTries($data['nr_of_tries']);
166 $this->setTitle((string) $data["title"]);
167 $this->setComment((string) $data["description"]);
168 $this->setSuggestedSolution($data["solution_hint"]);
169 $this->setOriginalId($data["original_id"]);
170 $this->setObjId($data["obj_fi"]);
171 $this->setAuthor($data["author"]);
172 $this->setOwner($data["owner"]);
173 $this->setPoints($data["points"]);
174
175 include_once("./Services/RTE/classes/class.ilRTE.php");
176 $this->setQuestion(ilRTE::_replaceMediaObjectImageSrc((string) $data["question_text"], 1));
177
178 try {
182 }
183
184 try {
185 $this->setAdditionalContentEditingMode($data['add_cont_edit_mode']);
187 }
188
189 // load additional data
190 $result = $ilDB->queryF(
191 "SELECT * FROM " . $this->getAdditionalTableName() . " WHERE question_fi = %s",
192 array("integer"),
193 array($question_id)
194 );
195 if ($result->numRows() == 1) {
196 $data = $ilDB->fetchAssoc($result);
197 $this->setWidth($data["width"]);
198 $this->setHeight($data["height"]);
199 $this->setApplet($data["applet"]);
200 $this->parameters = unserialize($data["params"], ["allowed_classes" => false]);
201 if (!is_array($this->parameters)) {
202 $this->clearParameters();
203 }
204 ilSession::clear('flash_upload_filename');
205 }
206 }
207 parent::loadFromDb($question_id);
208 }
getAdditionalTableName()
Returns the name of the additional question data table in the database.
setOriginalId(?int $original_id)
setId(int $id=-1)
setAdditionalContentEditingMode(?string $additionalContentEditingMode)
setQuestion(string $question="")
setAuthor(string $author="")
setComment(string $comment="")
setObjId(int $obj_id=0)
setSuggestedSolution(string $solution_id="", int $subquestion_index=0, bool $is_import=false)
Sets a suggested solution for the question.
setOwner(int $owner=-1)
setNrOfTries(int $a_nr_of_tries)
setLifecycle(ilAssQuestionLifecycle $lifecycle)
setTitle(string $title="")
setPoints(float $points)
static _replaceMediaObjectImageSrc(string $a_text, int $a_direction=0, string $nic='')
Replaces image source from mob image urls with the mob id or replaces mob id with the correct image s...
static clear(string $a_var)

References $data, $DIC, Vendor\Package\$e, $ilDB, ilRTE\_replaceMediaObjectImageSrc(), ilSession\clear(), clearParameters(), getAdditionalTableName(), ilAssQuestionLifecycle\getDraftInstance(), ilAssQuestionLifecycle\getInstance(), assQuestion\setAdditionalContentEditingMode(), setApplet(), assQuestion\setAuthor(), assQuestion\setComment(), setHeight(), assQuestion\setId(), assQuestion\setLifecycle(), assQuestion\setNrOfTries(), assQuestion\setObjId(), assQuestion\setOriginalId(), assQuestion\setOwner(), assQuestion\setPoints(), assQuestion\setQuestion(), assQuestion\setSuggestedSolution(), assQuestion\setTitle(), and setWidth().

+ Here is the call graph for this function:

◆ moveAppletIfExists()

assFlashQuestion::moveAppletIfExists ( )
protected

Moves an applet file (maybe stored in the PHP session) to its final filesystem destination.

Exceptions

ilFileUtilsException

Definition at line 133 of file class.assFlashQuestion.php.

133 : void
134 {
135 if (ilSession::get('flash_upload_filename') != null &&
136 file_exists(ilSession::get('flash_upload_filename')) && is_file(ilSession::get('flash_upload_filename'))
137 ) {
138 $path = $this->getFlashPath();
140
141 \ilFileUtils::rename(ilSession::get('flash_upload_filename'), $path . $this->getApplet());
142 ilSession::clear('flash_upload_filename');
143 }
144 }
static rename(string $a_source, string $a_target)
static get(string $a_var)
$path
Definition: ltiservices.php:32

References $path, ilSession\clear(), ilSession\get(), getApplet(), assQuestion\getFlashPath(), ilFileUtils\makeDirParents(), and ilFileUtils\rename().

Referenced by saveAdditionalQuestionDataToDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ moveUploadedFile()

assFlashQuestion::moveUploadedFile (   $tmpfile,
  $flashfile 
)

Uploads a flash file.

Parameters
string$flashfileName of the original flash file
string$tmpfileName of the temporary uploaded flash file
Returns
string Name of the file @access public

Definition at line 464 of file class.assFlashQuestion.php.

464 : string
465 {
466 $result = "";
467 if (!empty($tmpfile)) {
468 $flashfile = str_replace(" ", "_", $flashfile);
469 $flashpath = $this->getFlashPath();
470 if (!file_exists($flashpath)) {
471 ilFileUtils::makeDirParents($flashpath);
472 }
473 if (ilFileUtils::moveUploadedFile($tmpfile, $flashfile, $flashpath . $flashfile)) {
474 $result = $flashfile;
475 }
476 }
477 return $result;
478 }
static moveUploadedFile(string $a_file, string $a_name, string $a_target, bool $a_raise_errors=true, string $a_mode="move_uploaded")
move uploaded file

References assQuestion\getFlashPath(), ilFileUtils\makeDirParents(), and ilFileUtils\moveUploadedFile().

+ Here is the call graph for this function:

◆ removeParameter()

assFlashQuestion::removeParameter (   $name)

Definition at line 674 of file class.assFlashQuestion.php.

674 : void
675 {
676 unset($this->parameters[$name]);
677 }

References $name.

◆ saveAdditionalQuestionDataToDb()

assFlashQuestion::saveAdditionalQuestionDataToDb ( )

Saves a record to the question types additional data table.

Returns
mixed

Implements ilObjQuestionScoringAdjustable.

Definition at line 100 of file class.assFlashQuestion.php.

101 {
102 global $DIC;
103 $ilDB = $DIC['ilDB'];
104 $ilDB->manipulateF(
105 "DELETE FROM " . $this->getAdditionalTableName() . " WHERE question_fi = %s",
106 array( "integer" ),
107 array( $this->getId() )
108 );
109 $ilDB->manipulateF(
110 "INSERT INTO " . $this->getAdditionalTableName(
111 ) . " (question_fi, width, height, applet, params) VALUES (%s, %s, %s, %s, %s)",
112 array( "integer", "integer", "integer", "text", "text" ),
113 array(
114 $this->getId(),
115 (strlen($this->getWidth())) ? $this->getWidth() : 550,
116 (strlen($this->getHeight())) ? $this->getHeight() : 400,
117 $this->getApplet(),
118 serialize($this->getParameters())
119 )
120 );
121
122 try {
123 $this->moveAppletIfExists();
124 } catch (\ilFileUtilsException $e) {
125 \ilLoggerFactory::getRootLogger()->error($e->getMessage());
126 }
127 }
moveAppletIfExists()
Moves an applet file (maybe stored in the PHP session) to its final filesystem destination.
static getRootLogger()
The unique root logger has a fixed error level.

References $DIC, Vendor\Package\$e, $ilDB, getAdditionalTableName(), getApplet(), getHeight(), assQuestion\getId(), getParameters(), ilLoggerFactory\getRootLogger(), getWidth(), and moveAppletIfExists().

Referenced by saveToDb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ savePreviewData()

assFlashQuestion::savePreviewData ( ilAssQuestionPreviewSession  $previewSession)
protected

Reimplemented from assQuestion.

Definition at line 505 of file class.assFlashQuestion.php.

505 : void
506 {
507 }

◆ saveToDb()

assFlashQuestion::saveToDb (   $original_id = "")

Saves a assFlashQuestion object to a database.

@access public

Definition at line 93 of file class.assFlashQuestion.php.

93 : void
94 {
97 parent::saveToDb();
98 }
saveAdditionalQuestionDataToDb()
Saves a record to the question types additional data table.
saveQuestionDataToDb(int $original_id=-1)

References assQuestion\$original_id, saveAdditionalQuestionDataToDb(), and assQuestion\saveQuestionDataToDb().

+ Here is the call graph for this function:

◆ saveWorkingData()

assFlashQuestion::saveWorkingData (   $active_id,
  $pass = null,
  $authorized = true 
)

Saves the learners input of the question to the database.

@access public

Parameters
integer$active_idActive id of the user
integer$passTest pass
Returns
boolean $status

Definition at line 494 of file class.assFlashQuestion.php.

494 : bool
495 {
496 // nothing to save!
497
498 //$this->getProcessLocker()->requestUserSolutionUpdateLock();
499 // store in tst_solutions
500 //$this->getProcessLocker()->releaseUserSolutionUpdateLock();
501
502 return true;
503 }

◆ sendToHost()

assFlashQuestion::sendToHost (   $url,
  $data,
  $optional_headers = null 
)

Definition at line 435 of file class.assFlashQuestion.php.

435 : string
436 {
437 $params = array('http' => array(
438 'method' => 'POST',
439 'content' => $data
440 ));
441 if ($optional_headers !== null) {
442 $params['http']['header'] = $optional_headers;
443 }
444 $ctx = stream_context_create($params);
445 $fp = @fopen($url, 'rb', false, $ctx);
446 if (!$fp) {
447 throw new Exception("Problem with $url, " . error_get_last());
448 }
449 $response = @stream_get_contents($fp);
450 if ($response === false) {
451 throw new Exception("Problem reading data from $url, " . error_get_last());
452 }
453 return $response;
454 }
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:33
$url
$response

References $data, $params, $response, and $url.

◆ setApplet()

assFlashQuestion::setApplet (   $a_applet)

Definition at line 650 of file class.assFlashQuestion.php.

650 : void
651 {
652 $this->applet = $a_applet;
653 }

Referenced by loadFromDb().

+ Here is the caller graph for this function:

◆ setExportDetailsXLS()

assFlashQuestion::setExportDetailsXLS ( ilAssExcelFormatHelper  $worksheet,
int  $startrow,
int  $active_id,
int  $pass 
)

{}

Reimplemented from assQuestion.

Definition at line 571 of file class.assFlashQuestion.php.

571 : int
572 {
573 parent::setExportDetailsXLS($worksheet, $startrow, $active_id, $pass);
574
575 return $startrow + 1;
576 }

◆ setHeight()

assFlashQuestion::setHeight (   $a_height)

Definition at line 624 of file class.assFlashQuestion.php.

624 : void
625 {
626 if (!$a_height) {
627 $a_height = 400;
628 }
629 $this->height = $a_height;
630 }

Referenced by loadFromDb().

+ Here is the caller graph for this function:

◆ setParameters()

assFlashQuestion::setParameters (   $params)

Definition at line 665 of file class.assFlashQuestion.php.

665 : void
666 {
667 if (is_array($params)) {
668 $this->parameters = $params;
669 } else {
670 $this->parameters = array();
671 }
672 }

References $params.

◆ setWidth()

assFlashQuestion::setWidth (   $a_width)

Definition at line 637 of file class.assFlashQuestion.php.

637 : void
638 {
639 if (!$a_width) {
640 $a_width = 550;
641 }
642 $this->width = $a_width;
643 }

Referenced by loadFromDb().

+ Here is the caller graph for this function:

◆ toXML()

assFlashQuestion::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 and sets the internal domxml variable with the DOM XML representation of the QTI xml representation.

Returns
string The QTI xml representation of the question @access public

Definition at line 605 of file class.assFlashQuestion.php.

605 : string
606 {
607 include_once "./Modules/TestQuestionPool/classes/export/qti12/class.assFlashQuestionExport.php";
608 $export = new assFlashQuestionExport($this);
609 return $export->toXML($a_include_header, $a_include_binary, $a_shuffle, $test_output, $force_image_references);
610 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

Field Documentation

◆ $applet

assFlashQuestion::$applet
private

Definition at line 40 of file class.assFlashQuestion.php.

Referenced by getApplet().

◆ $height

assFlashQuestion::$height
private

Definition at line 38 of file class.assFlashQuestion.php.

Referenced by getHeight().

◆ $parameters

assFlashQuestion::$parameters
private

Definition at line 39 of file class.assFlashQuestion.php.

Referenced by getParameters().

◆ $width

assFlashQuestion::$width
private

Definition at line 37 of file class.assFlashQuestion.php.

Referenced by getWidth().


The documentation for this class was generated from the following file: