Basic class for all survey question types. More...
Public Member Functions | |
SurveyQuestion ($title="", $description="", $author="", $questiontext="", $owner=-1) | |
SurveyQuestion constructor. | |
_SurveyQuestion () | |
isComplete () | |
Returns true, if a question is complete for use. | |
questionTitleExists ($title, $questionpool_object="") | |
Returns TRUE if the question title exists in the database. | |
setTitle ($title="") | |
Sets the title string. | |
setObligatory ($obligatory=1) | |
Sets the obligatory state of the question. | |
setOrientation ($orientation=0) | |
Sets the orientation of the question output. | |
setId ($id=-1) | |
Sets the id. | |
setSurveyId ($id=-1) | |
Sets the survey id. | |
setDescription ($description="") | |
Sets the description. | |
addMaterials ($materials_file, $materials_name="") | |
Sets the materials uri. | |
keyInArray ($searchkey, $array) | |
returns TRUE if the key occurs in an array | |
setMaterialsfile ($materials_filename, $materials_tempfilename="", $materials_name="") | |
Sets and uploads the materials uri. | |
deleteMaterial ($materials_name="") | |
Deletes a materials uri. | |
flushMaterials () | |
Deletes all materials uris. | |
setAuthor ($author="") | |
Sets the authors name. | |
setQuestiontext ($questiontext="") | |
Sets the questiontext. | |
setOwner ($owner="") | |
Sets the creator/owner. | |
getTitle () | |
Gets the title string. | |
getId () | |
Gets the id. | |
getObligatory () | |
Gets the obligatory state of the question. | |
getSurveyId () | |
Gets the survey id. | |
getOrientation () | |
Gets the orientation of the question output. | |
getDescription () | |
Gets the description. | |
getAuthor () | |
Gets the authors name. | |
getOwner () | |
Gets the creator/owner. | |
getQuestiontext () | |
Gets the questiontext. | |
getObjId () | |
Get the reference id of the container object. | |
setObjId ($obj_id=0) | |
Set the reference id of the container object. | |
duplicate ($for_survey=true, $title="", $author="", $owner="") | |
Duplicates a survey question. | |
copyXHTMLMediaObjectsOfQuestion ($a_q_id) | |
Increases the media object usage counter when a question is duplicated. | |
duplicateMaterials ($question_id) | |
Duplicates the materials of a question. | |
loadFromDb ($question_id) | |
Loads a SurveyQuestion object from the database. | |
_isComplete ($question_id) | |
Checks wheather the question is complete or not. | |
saveCompletionStatus () | |
Saves the complete flag to the database. | |
saveToDb ($original_id="") | |
Saves a SurveyQuestion object to a database. | |
saveWorkingData ($limit_to=LIMIT_NO_LIMIT) | |
Saves the learners input of the question to the database. | |
getImagePath () | |
Returns the image path for web accessable images of a question. | |
getMaterialsPath () | |
Returns the materials path for web accessable material of a question. | |
getImagePathWeb () | |
Returns the web image path for web accessable images of a question. | |
getMaterialsPathWeb () | |
Returns the web image path for web accessable images of a question. | |
saveMaterialsToDb () | |
Saves a materials to a database. | |
loadMaterialFromDb ($question_id) | |
Loads materials uris from a database. | |
saveCategoryToDb ($categorytext) | |
Saves a category to the database. | |
deleteAdditionalTableData ($question_id) | |
Deletes datasets from the additional question table in the database. | |
delete ($question_id) | |
Deletes a question from the database. | |
_getQuestionType ($question_id) | |
Returns the question type of a question with a given id. | |
_getOriginalId ($question_id) | |
Returns the original id of a question. | |
_getRefIdFromObjId ($obj_id) | |
syncWithOriginal () | |
getPhrase ($phrase_id) | |
Returns a phrase for a given database id. | |
phraseExists ($title) | |
Returns true if the phrase title already exists for the current user. | |
_questionExists ($question_id) | |
Returns true if the question already exists in the database. | |
setMaterial ($material_id="", $is_import=false, $material_title="") | |
Sets a material link for the question. | |
_resolveInternalLink ($internal_link) | |
_resolveIntLinks ($question_id) | |
_getInternalLinkHref ($target="") | |
saveCategoriesToDb () | |
_isWriteable ($question_id, $user_id) | |
Returns true if the question is writeable by a certain user. | |
getQuestionType () | |
Returns the question type of the question. | |
& | _instanciateQuestion ($question_id) |
Creates an instance of a question with a given question id. | |
& | outEvaluationCumulatedResults (&$cumulated_results) |
isHTML ($a_text) | |
Checks if a given string contains HTML or not. | |
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. | |
prepareTextareaOutput ($txt_output, $prepare_for_latex_output=FALSE) | |
Prepares a string for a text area output in surveys. | |
_getQuestionDataArray ($id) | |
Returns the question data fields from the database. | |
Data Fields | |
$id | |
$title | |
$description | |
$owner | |
$author | |
$materials | |
$survey_id | |
$obj_id | |
$questiontext | |
$obligatory | |
$ilias | |
$tpl | |
$lng | |
$domxml | |
$orientation | |
$material |
Basic class for all survey question types.
The SurveyQuestion class defines and encapsulates basic methods and attributes for survey question types to be used for all parent classes.
class.SurveyQuestion.php Survey
Definition at line 37 of file class.SurveyQuestion.php.
SurveyQuestion::_getInternalLinkHref | ( | $ | target = "" |
) |
Definition at line 1558 of file class.SurveyQuestion.php.
References $target_id, $type, and ilUtil::removeTrailingPathSeparators().
Referenced by SurveyTextQuestionGUI::editQuestion(), SurveyOrdinalQuestionGUI::editQuestion(), SurveyNominalQuestionGUI::editQuestion(), SurveyMetricQuestionGUI::editQuestion(), SurveyTextQuestionGUI::outWorkingForm(), SurveyOrdinalQuestionGUI::outWorkingForm(), SurveyNominalQuestionGUI::outWorkingForm(), and SurveyMetricQuestionGUI::outWorkingForm().
{ global $ilDB; $linktypes = array( "lm" => "LearningModule", "pg" => "PageObject", "st" => "StructureObject", "git" => "GlossaryItem", "mob" => "MediaObject" ); $href = ""; if (preg_match("/il__(\w+)_(\d+)/", $target, $matches)) { $type = $matches[1]; $target_id = $matches[2]; include_once "./classes/class.ilUtil.php"; switch($linktypes[$matches[1]]) { case "LearningModule": $href = ilUtil::removeTrailingPathSeparators(ILIAS_HTTP_PATH) ."/goto.php?target=" . $type . "_" . $target_id; break; case "PageObject": case "StructureObject": $href = ilUtil::removeTrailingPathSeparators(ILIAS_HTTP_PATH) ."/goto.php?target=" . $type . "_" . $target_id; break; case "GlossaryItem": $href = ilUtil::removeTrailingPathSeparators(ILIAS_HTTP_PATH) ."/goto.php?target=" . $type . "_" . $target_id; break; case "MediaObject": $href = ilUtil::removeTrailingPathSeparators(ILIAS_HTTP_PATH) . "/content/lm_presentation.php?obj_type=" . $linktypes[$type] . "&cmd=media&ref_id=".$_GET["ref_id"]."&mob_id=".$target_id; break; } } return $href; }
SurveyQuestion::_getOriginalId | ( | $ | question_id | ) |
Returns the original id of a question.
Returns the original id of a question
integer | $question_id The database id of the question |
Definition at line 1254 of file class.SurveyQuestion.php.
References $query, $result, and $row.
Referenced by ilObjSurvey::_clone().
{ global $ilDB; $query = sprintf("SELECT * FROM survey_question WHERE question_id = %s", $ilDB->quote($question_id . "") ); $result = $ilDB->query($query); if ($result->numRows() > 0) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); if ($row["original_id"] > 0) { return $row["original_id"]; } else { return $row["question_id"]; } } else { return ""; } }
SurveyQuestion::_getQuestionDataArray | ( | $ | id | ) |
Returns the question data fields from the database.
Returns the question data fields from the database
integer | $id The question ID from the database |
Reimplemented in SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.
Definition at line 1847 of file class.SurveyQuestion.php.
{
return array();
}
SurveyQuestion::_getQuestionType | ( | $ | question_id | ) |
Returns the question type of a question with a given id.
Returns the question type of a question with a given id
integer | $question_id The database id of the question |
Definition at line 1223 of file class.SurveyQuestion.php.
References $data, $query, and $result.
Referenced by _instanciateQuestion(), ilObjSurvey::_instanciateQuestion(), ilSurveyEvaluationGUI::evaluation(), ilSurveyEvaluationGUI::exportCumulatedResults(), and ilObjSurveyQuestionPoolGUI::questionsObject().
{ global $ilDB; if ($question_id < 1) return ""; $query = sprintf("SELECT type_tag FROM survey_question, survey_questiontype WHERE survey_question.question_id = %s AND survey_question.questiontype_fi = survey_questiontype.questiontype_id", $ilDB->quote($question_id) ); $result = $ilDB->query($query); if ($result->numRows() == 1) { $data = $result->fetchRow(DB_FETCHMODE_OBJECT); return $data->type_tag; } else { return ""; } }
SurveyQuestion::_getRefIdFromObjId | ( | $ | obj_id | ) |
Definition at line 1279 of file class.SurveyQuestion.php.
References $obj_id, $query, $result, and $row.
Referenced by ilObjSurveyGUI::questionsObject().
{ global $ilDB; $query = sprintf("SELECT ref_id FROM object_reference WHERE obj_id=%s", $ilDB->quote($obj_id) ); $result = $ilDB->query($query); if ($result->numRows()) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); return $row["ref_id"]; } return 0; }
& SurveyQuestion::_instanciateQuestion | ( | $ | question_id | ) |
Creates an instance of a question with a given question id.
Creates an instance of a question with a given question id
integer | $question_id The question id |
Definition at line 1676 of file class.SurveyQuestion.php.
References _getQuestionType().
Referenced by ilObjSurveyQuestionPool::removeQuestion(), and ilSurveyExecutionGUI::saveActiveQuestionData().
{ $question_type = SurveyQuestion::_getQuestionType($question_id); include_once "./survey/classes/class.$question_type.php"; $question = new $question_type(); $question->loadFromDb($question_id); return $question; }
SurveyQuestion::_isComplete | ( | $ | question_id | ) |
Checks wheather the question is complete or not.
Checks wheather the question is complete or not
Definition at line 823 of file class.SurveyQuestion.php.
References $query, $result, and $row.
Referenced by ilObjSurvey::insertQuestion().
{ global $ilDB; $query = sprintf("SELECT complete FROM survey_question WHERE question_id = %s", $ilDB->quote($question_id . "") ); $result = $ilDB->query($query); if ($result->numRows()) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); if ($row["complete"] == 1) { return TRUE; } } return FALSE; }
SurveyQuestion::_isWriteable | ( | $ | question_id, | |
$ | user_id | |||
) |
Returns true if the question is writeable by a certain user.
Returns true if the question is writeable by a certain user
integer | $question_id The database id of the question | |
integer | $user_id The database id of the user |
Definition at line 1628 of file class.SurveyQuestion.php.
References $query, $result, $row, and $user_id.
Referenced by SurveyQuestionGUI::save(), and SurveyQuestionGUI::saveCategories().
{ global $ilDB; if (($question_id < 1) || ($user_id < 1)) { return false; } $query = sprintf("SELECT obj_fi FROM survey_question WHERE question_id = %s", $ilDB->quote($question_id . "") ); $result = $ilDB->query($query); if ($result->numRows() == 1) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); $qpl_object_id = $row["obj_fi"]; include_once "./survey/classes/class.ilObjSurveyQuestionPool.php"; return ilObjSurveyQuestionPool::_isWriteable($qpl_object_id, $user_id); } else { return false; } }
SurveyQuestion::_questionExists | ( | $ | question_id | ) |
Returns true if the question already exists in the database.
Returns true if the question already exists in the database
integer | $question_id The database id of the question |
Definition at line 1378 of file class.SurveyQuestion.php.
SurveyQuestion::_resolveInternalLink | ( | $ | internal_link | ) |
Definition at line 1469 of file class.SurveyQuestion.php.
References ilInternalLink::_getIdForImportId(), and ilLMObject::_getIdForImportId().
Referenced by _resolveIntLinks(), and setMaterial().
{ if (preg_match("/il_(\d+)_(\w+)_(\d+)/", $internal_link, $matches)) { include_once "./content/classes/Pages/class.ilInternalLink.php"; include_once "./content/classes/class.ilLMObject.php"; include_once "./content/classes/class.ilGlossaryTerm.php"; switch ($matches[2]) { case "lm": $resolved_link = ilLMObject::_getIdForImportId($internal_link); break; case "pg": $resolved_link = ilInternalLink::_getIdForImportId("PageObject", $internal_link); break; case "st": $resolved_link = ilInternalLink::_getIdForImportId("StructureObject", $internal_link); break; case "git": $resolved_link = ilInternalLink::_getIdForImportId("GlossaryItem", $internal_link); break; case "mob": $resolved_link = ilInternalLink::_getIdForImportId("MediaObject", $internal_link); break; } if (strcmp($resolved_link, "") == 0) { $resolved_link = $internal_link; } } else { $resolved_link = $internal_link; } return $resolved_link; }
SurveyQuestion::_resolveIntLinks | ( | $ | question_id | ) |
Definition at line 1506 of file class.SurveyQuestion.php.
References $query, $result, $row, ilInternalLink::_deleteAllLinksOfSource(), _resolveInternalLink(), and ilInternalLink::_saveLink().
{ global $ilDB; $resolvedlinks = 0; $query = sprintf("SELECT * FROM survey_material WHERE question_fi = %s", $ilDB->quote($question_id . "") ); $result = $ilDB->query($query); if ($result->numRows()) { while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { $internal_link = $row["internal_link"]; include_once "./survey/classes/class.SurveyQuestion.php"; $resolved_link = SurveyQuestion::_resolveInternalLink($internal_link); if (strcmp($internal_link, $resolved_link) != 0) { // internal link was resolved successfully $queryupdate = sprintf("UPDATE survey_material SET internal_link = %s WHERE material_id = %s", $ilDB->quote($resolved_link), $ilDB->quote($row["material_id"] . "") ); $updateresult = $ilDB->query($queryupdate); $resolvedlinks++; } } } if ($resolvedlinks) { // there are resolved links -> reenter theses links to the database // delete all internal links from the database include_once "./content/classes/Pages/class.ilInternalLink.php"; ilInternalLink::_deleteAllLinksOfSource("sqst", $question_id); $query = sprintf("SELECT * FROM survey_material WHERE question_fi = %s", $ilDB->quote($question_id . "") ); $result = $ilDB->query($query); if ($result->numRows()) { while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { if (preg_match("/il_(\d*?)_(\w+)_(\d+)/", $row["internal_link"], $matches)) { ilInternalLink::_saveLink("sqst", $question_id, $matches[2], $matches[3], $matches[1]); } } } } }
SurveyQuestion::_SurveyQuestion | ( | ) |
Definition at line 224 of file class.SurveyQuestion.php.
{
if (!empty($this->domxml))
{
$this->domxml->free();
}
}
SurveyQuestion::addMaterials | ( | $ | materials_file, | |
$ | materials_name = "" | |||
) |
Sets the materials uri.
Sets the materials uri
string | $materials_file An uri to additional materials | |
string | $materials_name An uri name to additional materials public |
Definition at line 381 of file class.SurveyQuestion.php.
References keyInArray().
Referenced by loadMaterialFromDb(), and setMaterialsfile().
{ if(empty($materials_name)) { $materials_name = $materials_file; } if ((!empty($materials_name))&&(!$this->keyInArray($materials_name, $this->materials))) { $this->materials[$materials_name] = $materials_file; } }
SurveyQuestion::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.
object | $a_xml_writer Reference to the ILIAS XML writer | |
string | $a_material plain text or html text containing the material |
Definition at line 1760 of file class.SurveyQuestion.php.
References $mobs, ilObjMediaObject::_getMobsOfObject(), ilRTE::_replaceMediaObjectImageSrc(), getId(), and isHTML().
Referenced by SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{ include_once "./Services/RTE/classes/class.ilRTE.php"; include_once("./content/classes/Media/class.ilObjMediaObject.php"); $a_xml_writer->xmlStartTag("material"); $attrs = array( "texttype" => "text/plain" ); if ($this->isHTML($a_material)) { $attrs["texttype"] = "text/xhtml"; } $a_xml_writer->xmlElement("mattext", $attrs, ilRTE::_replaceMediaObjectImageSrc($a_material, 0)); if ($add_mobs) { $mobs = ilObjMediaObject::_getMobsOfObject("spl:html", $this->getId()); foreach ($mobs as $mob) { $mob_obj =& new ilObjMediaObject($mob); $imgattrs = array( "label" => "il_" . IL_INST_ID . "_mob_" . $mob, "uri" => "objects/" . "il_" . IL_INST_ID . "_mob_" . $mob . "/" . $mob_obj->getTitle() ); $a_xml_writer->xmlElement("matimage", $imgattrs, NULL); } } if ($close_material_tag) $a_xml_writer->xmlEndTag("material"); }
SurveyQuestion::copyXHTMLMediaObjectsOfQuestion | ( | $ | a_q_id | ) |
Increases the media object usage counter when a question is duplicated.
Increases the media object usage counter when a question is duplicated
integer | $a_q_id The question id of the original question public |
Definition at line 750 of file class.SurveyQuestion.php.
References $mobs, ilObjMediaObject::_getMobsOfObject(), ilObjMediaObject::_saveUsage(), and getId().
{ include_once("./content/classes/Media/class.ilObjMediaObject.php"); $mobs = ilObjMediaObject::_getMobsOfObject("spl:html", $a_q_id); foreach ($mobs as $mob) { ilObjMediaObject::_saveUsage($mob, "spl:html", $this->getId()); } }
SurveyQuestion::delete | ( | $ | question_id | ) |
Deletes a question from the database.
Deletes a question and all materials from the database
integer | $question_id The database id of the question private |
Definition at line 1097 of file class.SurveyQuestion.php.
References $mobs, $obj_id, $query, $result, $row, ilInternalLink::_deleteAllLinksOfSource(), ilObjMediaObject::_getMobsOfObject(), ilObjMediaObject::_removeUsage(), ilUtil::delDir(), and deleteAdditionalTableData().
{ if ($question_id < 1) return; $query = sprintf("SELECT obj_fi FROM survey_question WHERE question_id = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); if ($result->numRows() == 1) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); $obj_id = $row["obj_fi"]; } else { return; } $query = sprintf("DELETE FROM survey_answer WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("SELECT constraint_id FROM survey_constraint WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) { $query = sprintf("DELETE FROM survey_question_constraint WHERE constraint_fi = %s", $this->ilias->db->quote($row->constraint_id) ); $delresult = $this->ilias->db->query($query); } $query = sprintf("DELETE FROM survey_constraint WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("SELECT constraint_fi FROM survey_question_constraint WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) { $query = sprintf("DELETE FROM survey_constraint WHERE constraint_id = %s", $this->ilias->db->quote($row->constraint_fi) ); $delresult = $this->ilias->db->query($query); } $query = sprintf("DELETE FROM survey_question_constraint WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("DELETE FROM survey_question_material WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("DELETE FROM survey_questionblock_question WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("DELETE FROM survey_question_obligatory WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("DELETE FROM survey_survey_question WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("DELETE FROM survey_variable WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $query = sprintf("DELETE FROM survey_question WHERE question_id = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); $this->deleteAdditionalTableData($question_id); $query = sprintf("DELETE FROM survey_material WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); include_once "./content/classes/Pages/class.ilInternalLink.php"; ilInternalLink::_deleteAllLinksOfSource("sqst", $question_id); $directory = CLIENT_WEB_DIR . "/survey/" . $obj_id . "/$question_id"; if (preg_match("/\d+/", $obj_id) and preg_match("/\d+/", $question_id) and is_dir($directory)) { include_once "./classes/class.ilUtil.php"; ilUtil::delDir($directory); } include_once("./content/classes/Media/class.ilObjMediaObject.php"); $mobs = ilObjMediaObject::_getMobsOfObject("spl:html", $question_id); // remaining usages are not in text anymore -> delete them // and media objects (note: delete method of ilObjMediaObject // checks whether object is used in another context; if yes, // the object is not deleted!) foreach($mobs as $mob) { ilObjMediaObject::_removeUsage($mob, "spl:html", $question_id); $mob_obj =& new ilObjMediaObject($mob); $mob_obj->delete(); } }
SurveyQuestion::deleteAdditionalTableData | ( | $ | question_id | ) |
Deletes datasets from the additional question table in the database.
Deletes datasets from the additional question table in the database
integer | $question_id The question id which should be deleted in the additional question table public |
Definition at line 1079 of file class.SurveyQuestion.php.
References $query, and $result.
Referenced by delete().
{ global $ilDB; $additional_table_name = $this->getAdditionalTableName(); $query = sprintf("DELETE FROM $additional_table_name WHERE question_fi = %s", $ilDB->quote($question_id . "") ); $result = $ilDB->query($query); }
SurveyQuestion::deleteMaterial | ( | $ | materials_name = "" |
) |
Deletes a materials uri.
Deletes a materials uri with a given name.
string | $index A materials_name of the materials uri public |
Definition at line 460 of file class.SurveyQuestion.php.
References $key, and getMaterialsPath().
{ foreach ($this->materials as $key => $value) { if (strcmp($key, $materials_name)==0) { if (file_exists($this->getMaterialsPath().$value)) { unlink($this->getMaterialsPath().$value); } unset($this->materials[$key]); } } }
SurveyQuestion::duplicate | ( | $ | for_survey = true , |
|
$ | title = "" , |
|||
$ | author = "" , |
|||
$ | owner = "" | |||
) |
Duplicates a survey question.
Duplicates a survey question
public
Definition at line 704 of file class.SurveyQuestion.php.
References $author, $owner, $title, and getId().
{ if ($this->getId() <= 0) { // The question has not been saved. It cannot be duplicated return; } // duplicate the question in database $clone = $this; $original_id = $this->getId(); $clone->setId(-1); if ($title) { $clone->setTitle($title); } if ($author) { $clone->setAuthor($author); } if ($owner) { $clone->setOwner($owner); } if ($for_survey) { $clone->saveToDb($original_id); } else { $clone->saveToDb(); } // duplicate the materials $clone->duplicateMaterials($original_id); // copy XHTML media objects $clone->copyXHTMLMediaObjectsOfQuestion($original_id); return $clone->getId(); }
SurveyQuestion::duplicateMaterials | ( | $ | question_id | ) |
Duplicates the materials of a question.
Duplicates the materials of a question
integer | $question_id The database id of the original survey question public |
Definition at line 768 of file class.SurveyQuestion.php.
References getMaterialsPath(), and ilUtil::makeDirParents().
{ foreach ($this->materials as $filename) { $materialspath = $this->getMaterialsPath(); $materialspath_original = preg_replace("/([^\d])$this->id([^\d])/", "\${1}$question_id\${2}", $materialspath); if (!file_exists($materialspath)) { include_once "./classes/class.ilUtil.php"; ilUtil::makeDirParents($materialspath); } if (!copy($materialspath_original . $filename, $materialspath . $filename)) { print "material could not be duplicated!!!! "; } } }
SurveyQuestion::flushMaterials | ( | ) |
Deletes all materials uris.
Deletes all materials uris
public
Definition at line 483 of file class.SurveyQuestion.php.
{ $this->materials = array(); }
SurveyQuestion::getAuthor | ( | ) |
Gets the authors name.
Gets the authors name of the SurveyQuestion object
Definition at line 639 of file class.SurveyQuestion.php.
Referenced by SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{
return $this->author;
}
SurveyQuestion::getDescription | ( | ) |
Gets the description.
Gets the description string of the SurveyQuestion object
Definition at line 625 of file class.SurveyQuestion.php.
Referenced by SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{
return $this->description;
}
SurveyQuestion::getId | ( | ) |
Gets the id.
Gets the id of the SurveyQuestion object
Definition at line 557 of file class.SurveyQuestion.php.
Referenced by addQTIMaterial(), SurveyTextQuestion::checkUserInput(), SurveyOrdinalQuestion::checkUserInput(), SurveyNominalQuestion::checkUserInput(), SurveyMetricQuestion::checkUserInput(), copyXHTMLMediaObjectsOfQuestion(), duplicate(), SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), SurveyMetricQuestion::from_xml(), SurveyTextQuestion::getCumulatedResults(), SurveyOrdinalQuestion::getCumulatedResults(), SurveyNominalQuestion::getCumulatedResults(), SurveyMetricQuestion::getCumulatedResults(), SurveyTextQuestion::saveToDb(), saveToDb(), SurveyOrdinalQuestion::saveToDb(), SurveyNominalQuestion::saveToDb(), SurveyMetricQuestion::saveToDb(), SurveyTextQuestion::saveUserInput(), SurveyOrdinalQuestion::saveUserInput(), SurveyNominalQuestion::saveUserInput(), SurveyMetricQuestion::saveUserInput(), SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{
return $this->id;
}
SurveyQuestion::getImagePath | ( | ) |
Returns the image path for web accessable images of a question.
Returns the image path for web accessable images of a question. The image path is under the CLIENT_WEB_DIR in assessment/REFERENCE_ID_OF_QUESTION_POOL/ID_OF_QUESTION/images
public
Definition at line 920 of file class.SurveyQuestion.php.
{ return CLIENT_WEB_DIR . "/survey/$this->obj_id/$this->id/images/"; }
SurveyQuestion::getImagePathWeb | ( | ) |
Returns the web image path for web accessable images of a question.
Returns the web image path for web accessable images of a question. The image path is under the web accessable data dir in assessment/REFERENCE_ID_OF_QUESTION_POOL/ID_OF_QUESTION/images
public
Definition at line 946 of file class.SurveyQuestion.php.
References ilUtil::removeTrailingPathSeparators().
{ include_once "./classes/class.ilUtil.php"; $webdir = ilUtil::removeTrailingPathSeparators(CLIENT_WEB_DIR) . "/survey/$this->obj_id/$this->id/images/"; return str_replace(ilUtil::removeTrailingPathSeparators(ILIAS_ABSOLUTE_PATH), ilUtil::removeTrailingPathSeparators(ILIAS_HTTP_PATH), $webdir); }
SurveyQuestion::getMaterialsPath | ( | ) |
Returns the materials path for web accessable material of a question.
Returns the materials path for web accessable materials of a question. The materials path is under the CLIENT_WEB_DIR in assessment/REFERENCE_ID_OF_QUESTION_POOL/ID_OF_QUESTION/materials
public
Definition at line 933 of file class.SurveyQuestion.php.
Referenced by deleteMaterial(), duplicateMaterials(), and setMaterialsfile().
{ return CLIENT_WEB_DIR . "/survey/$this->obj_id/$this->id/materials/"; }
SurveyQuestion::getMaterialsPathWeb | ( | ) |
Returns the web image path for web accessable images of a question.
Returns the web image path for web accessable images of a question. The image path is under the web accessable data dir in assessment/REFERENCE_ID_OF_QUESTION_POOL/ID_OF_QUESTION/images
public
Definition at line 961 of file class.SurveyQuestion.php.
References ilUtil::removeTrailingPathSeparators().
{ include_once "./classes/class.ilUtil.php"; $webdir = ilUtil::removeTrailingPathSeparators(CLIENT_WEB_DIR) . "/survey/$this->obj_id/$this->id/materials/"; return str_replace(ilUtil::removeTrailingPathSeparators(ILIAS_ABSOLUTE_PATH), ilUtil::removeTrailingPathSeparators(ILIAS_HTTP_PATH), $webdir); }
SurveyQuestion::getObjId | ( | ) |
Get the reference id of the container object.
Get the reference id of the container object
Definition at line 680 of file class.SurveyQuestion.php.
{
return $this->obj_id;
}
SurveyQuestion::getObligatory | ( | ) |
Gets the obligatory state of the question.
Gets the obligatory state of the question
Definition at line 572 of file class.SurveyQuestion.php.
Referenced by SurveyTextQuestion::checkUserInput(), SurveyOrdinalQuestion::checkUserInput(), SurveyNominalQuestion::checkUserInput(), SurveyMetricQuestion::checkUserInput(), SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{
return $this->obligatory;
}
SurveyQuestion::getOrientation | ( | ) |
Gets the orientation of the question output.
Gets the orientation of the question output
Definition at line 600 of file class.SurveyQuestion.php.
Referenced by SurveyOrdinalQuestion::to_xml(), and SurveyNominalQuestion::to_xml().
{ switch ($this->orientation) { case 0: case 1: case 2: break; default: $this->orientation = 0; break; } return $this->orientation; }
SurveyQuestion::getOwner | ( | ) |
Gets the creator/owner.
Gets the creator/owner ID of the SurveyQuestion object
Definition at line 653 of file class.SurveyQuestion.php.
{
return $this->owner;
}
SurveyQuestion::getPhrase | ( | $ | phrase_id | ) |
Returns a phrase for a given database id.
Returns a phrase for a given database id
Definition at line 1328 of file class.SurveyQuestion.php.
SurveyQuestion::getQuestiontext | ( | ) |
Gets the questiontext.
Gets the questiontext of the SurveyQuestion object
Definition at line 667 of file class.SurveyQuestion.php.
Referenced by outEvaluationCumulatedResults(), SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{
return $this->questiontext;
}
SurveyQuestion::getQuestionType | ( | ) |
Returns the question type of the question.
Returns the question type of the question
Reimplemented in SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.
Definition at line 1662 of file class.SurveyQuestion.php.
{
return 0;
}
SurveyQuestion::getSurveyId | ( | ) |
Gets the survey id.
Gets the survey id of the SurveyQuestion object
Definition at line 586 of file class.SurveyQuestion.php.
{
return $this->survey_id;
}
SurveyQuestion::getTitle | ( | ) |
Gets the title string.
Gets the title string of the SurveyQuestion object
Definition at line 543 of file class.SurveyQuestion.php.
Referenced by outEvaluationCumulatedResults(), SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{
return $this->title;
}
SurveyQuestion::isComplete | ( | ) |
Returns true, if a question is complete for use.
Returns true, if a question is complete for use
Reimplemented in SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.
Definition at line 241 of file class.SurveyQuestion.php.
Referenced by saveCompletionStatus().
{ return false; }
SurveyQuestion::isHTML | ( | $ | a_text | ) |
Checks if a given string contains HTML or not.
string | $a_text Text which should be checked |
Definition at line 1709 of file class.SurveyQuestion.php.
Referenced by addQTIMaterial(), and prepareTextareaOutput().
{ if (preg_match("/<[^>]*?>/", $a_text)) { return TRUE; } else { return FALSE; } }
SurveyQuestion::keyInArray | ( | $ | searchkey, | |
$ | array | |||
) |
returns TRUE if the key occurs in an array
returns TRUE if the key occurs in an array
string | $arraykey A key to an element in array | |
array | $array An array to be searched private |
Definition at line 404 of file class.SurveyQuestion.php.
References $key.
Referenced by addMaterials().
{ if ($searchKey) { foreach ($array as $key => $value) { if (strcmp($key, $searchkey)==0) { return true; } } } return false; }
SurveyQuestion::loadFromDb | ( | $ | question_id | ) |
Loads a SurveyQuestion object from the database.
Loads a SurveyQuestion object from the database
integer | $question_id A unique key which defines the question in the database public |
Reimplemented in SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.
Definition at line 795 of file class.SurveyQuestion.php.
References $query, $result, and $row.
{ $query = sprintf("SELECT * FROM survey_material WHERE question_fi = %s", $this->ilias->db->quote($this->getId() . "") ); $result = $this->ilias->db->query($query); $this->material = array(); if ($result->numRows()) { while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { $this->material = array( "internal_link" => $row["internal_link"], "import_id" => $row["import_id"], "title" => $row["material_title"] ); } } }
SurveyQuestion::loadMaterialFromDb | ( | $ | question_id | ) |
Loads materials uris from a database.
Loads materials uris from a database
integer | $question_id A unique key which defines the survey question in the database public |
Definition at line 1006 of file class.SurveyQuestion.php.
References $data, $query, $result, and addMaterials().
Referenced by SurveyTextQuestion::loadFromDb(), SurveyOrdinalQuestion::loadFromDb(), SurveyNominalQuestion::loadFromDb(), and SurveyMetricQuestion::loadFromDb().
{ $query = sprintf("SELECT * FROM survey_question_material WHERE question_fi = %s", $this->ilias->db->quote($question_id) ); $result = $this->ilias->db->query($query); if (strcmp(strtolower(get_class($result)), db_result) == 0) { $this->materials = array(); while ($data = $result->fetchRow(DB_FETCHMODE_OBJECT)) { $this->addMaterials($data->materials_file, $data->materials); } } }
& SurveyQuestion::outEvaluationCumulatedResults | ( | &$ | cumulated_results | ) |
Definition at line 1685 of file class.SurveyQuestion.php.
References getQuestiontext(), and getTitle().
{ $result_array = array(); $result_array["QUESTION_TITLE"] = $this->getTitle(); $result_array["QUESTION_TEXT"] = $this->getQuestiontext(); $result_array["USERS_ANSWERED"] = $cumulated_results["USERS_ANSWERED"]; $result_array["USERS_SKIPPED"] = $cumulated_results["USERS_SKIPPED"]; $result_array["QUESTION_TYPE"] = $this->lng->txt($cumulated_results["QUESTION_TYPE"]); $result_array["MODE"] = $cumulated_results["MODE"]; $result_array["MODE_VALUE"] = $cumulated_results["MODE_VALUE"]; $result_array["MODE_NR_OF_SELECTIONS"] = $cumulated_results["MODE_NR_OF_SELECTIONS"]; $result_array["MEDIAN"] = $cumulated_results["MEDIAN"]; $result_array["ARITHMETIC_MEAN"] = $cumulated_results["ARITHMETIC_MEAN"]; return $result_array; }
SurveyQuestion::phraseExists | ( | $ | title | ) |
Returns true if the phrase title already exists for the current user.
Returns true if the phrase title already exists for the current user
string | $title The title of the phrase |
Definition at line 1350 of file class.SurveyQuestion.php.
SurveyQuestion::prepareTextareaOutput | ( | $ | txt_output, | |
$ | prepare_for_latex_output = FALSE | |||
) |
Prepares a string for a text area output in surveys.
string | $txt_output String which should be prepared for output public |
Definition at line 1797 of file class.SurveyQuestion.php.
References $result, ilUtil::insertLatexImages(), and isHTML().
{ include_once "./classes/class.ilObjAdvancedEditing.php"; $result = $txt_output; $is_html = $this->isHTML($result); if ($prepare_for_latex_output) { $result = ilUtil::insertLatexImages($result, "<span class\=\"latex\">", "<\/span>", URL_TO_LATEX); $result = ilUtil::insertLatexImages($result, "\[tex\]", "\[\/tex\]", URL_TO_LATEX); } // removed: did not work with magic_quotes_gpc = On //$result = ilUtil::stripSlashes($result, true, ilObjAdvancedEditing::_getUsedHTMLTagsAsString("survey")); if (!$is_html) { // if the string does not contain HTML code, replace the newlines with HTML line breaks $result = preg_replace("/[\n]/", "<br />", $result); } else { // patch for problems with the <pre> tags in tinyMCE if (preg_match_all("/(<pre>.*?<\/pre>)/ims", $result, $matches)) { foreach ($matches[0] as $found) { $replacement = ""; if (strpos("\n", $found) === FALSE) { $replacement = "\n"; } $removed = preg_replace("/<br\s*?\/>/ims", $replacement, $found); $result = str_replace($found, $removed, $result); } } } $result = str_replace("{", "{", $result); $result = str_replace("}", "}", $result); $result = str_replace("\\", "\", $result); return $result; }
SurveyQuestion::QTIMaterialToString | ( | $ | a_material | ) |
Reads an QTI material tag an creates a text string.
string | $a_material QTI material tag |
Definition at line 1728 of file class.SurveyQuestion.php.
References $_SESSION, $material, and $result.
{ $result = ""; for ($i = 0; $i < $a_material->getMaterialCount(); $i++) { $material = $a_material->getMaterial($i); if (strcmp($material["type"], "mattext") == 0) { $result .= $material["material"]->getContent(); } if (strcmp($material["type"], "matimage") == 0) { $matimage = $material["material"]; if (preg_match("/(il_([0-9]+)_mob_([0-9]+))/", $matimage->getLabel(), $matches)) { // import an mediaobject which was inserted using tiny mce if (!is_array($_SESSION["import_mob_xhtml"])) $_SESSION["import_mob_xhtml"] = array(); array_push($_SESSION["import_mob_xhtml"], array("mob" => $matimage->getLabel(), "uri" => $matimage->getUri())); } } } return $result; }
SurveyQuestion::questionTitleExists | ( | $ | title, | |
$ | questionpool_object = "" | |||
) |
Returns TRUE if the question title exists in the database.
Returns TRUE if the question title exists in the database
string | $title The title of the question | |
string | $questionpool_reference The reference id of a container question pool |
Definition at line 256 of file class.SurveyQuestion.php.
References $query, $result, and $title.
{ $refwhere = ""; if (strcmp($questionpool_reference, "") != 0) { $refwhere = sprintf(" AND obj_fi = %s", $this->ilias->db->quote($questionpool_object) ); } $query = sprintf("SELECT question_id FROM survey_question WHERE title = %s$refwhere", $this->ilias->db->quote($title) ); $result = $this->ilias->db->query($query); if (strcmp(strtolower(get_class($result)), db_result) == 0) { if ($result->numRows() == 1) { return TRUE; } } return FALSE; }
SurveyQuestion::saveCategoriesToDb | ( | ) |
Definition at line 1594 of file class.SurveyQuestion.php.
References $query, $result, saveCategoryToDb(), and saveCompletionStatus().
Referenced by SurveyOrdinalQuestion::saveToDb(), and SurveyNominalQuestion::saveToDb().
{ // save categories // delete existing category relations $query = sprintf("DELETE FROM survey_variable WHERE question_fi = %s", $this->ilias->db->quote($this->id) ); $result = $this->ilias->db->query($query); // create new category relations for ($i = 0; $i < $this->categories->getCategoryCount(); $i++) { $category_id = $this->saveCategoryToDb($this->categories->getCategory($i)); $query = sprintf("INSERT INTO survey_variable (variable_id, category_fi, question_fi, value1, sequence, TIMESTAMP) VALUES (NULL, %s, %s, %s, %s, NULL)", $this->ilias->db->quote($category_id . ""), $this->ilias->db->quote($this->id . ""), $this->ilias->db->quote(($i + 1) . ""), $this->ilias->db->quote($i . "") ); $answer_result = $this->ilias->db->query($query); } $this->saveCompletionStatus(); }
SurveyQuestion::saveCategoryToDb | ( | $ | categorytext | ) |
Saves a category to the database.
Saves a category to the database
string | $categorytext The description of the category |
Definition at line 1032 of file class.SurveyQuestion.php.
References $query, $result, and $row.
Referenced by saveCategoriesToDb(), SurveyOrdinalQuestion::syncWithOriginal(), and SurveyNominalQuestion::syncWithOriginal().
{ global $ilUser; $query = sprintf("SELECT title, category_id FROM survey_category WHERE title = %s AND owner_fi = %s", $this->ilias->db->quote($categorytext), $this->ilias->db->quote($ilUser->id) ); $result = $this->ilias->db->query($query); $insert = FALSE; $returnvalue = ""; if ($result->numRows()) { $insert = TRUE; while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) { if (strcmp($row->title, $categorytext) == 0) { $returnvalue = $row->category_id; $insert = FALSE; } } } else { $insert = TRUE; } if ($insert) { $query = sprintf("INSERT INTO survey_category (category_id, title, owner_fi, TIMESTAMP) VALUES (NULL, %s, %s, NULL)", $this->ilias->db->quote($categorytext), $this->ilias->db->quote($ilUser->id) ); $result = $this->ilias->db->query($query); $returnvalue = $this->ilias->db->getLastInsertId(); } return $returnvalue; }
SurveyQuestion::saveCompletionStatus | ( | ) |
Saves the complete flag to the database.
Saves the complete flag to the database
public
Definition at line 849 of file class.SurveyQuestion.php.
References $query, $result, and isComplete().
Referenced by saveCategoriesToDb().
{ $complete = 0; if ($this->isComplete()) { $complete = 1; } if ($this->id > 0) { // update existing dataset $query = sprintf("UPDATE survey_question SET complete = %s WHERE question_id = %s", $this->ilias->db->quote("$complete"), $this->ilias->db->quote($this->id) ); $result = $this->ilias->db->query($query); } }
SurveyQuestion::saveMaterialsToDb | ( | ) |
Saves a materials to a database.
Saves a materials to a database
object | $db A pear DB object public |
Definition at line 976 of file class.SurveyQuestion.php.
References $key, $query, and $result.
Referenced by SurveyTextQuestion::saveToDb(), SurveyOrdinalQuestion::saveToDb(), SurveyNominalQuestion::saveToDb(), and SurveyMetricQuestion::saveToDb().
{ if ($this->id > 0) { $query = sprintf("DELETE FROM survey_question_material WHERE question_fi = %s", $this->ilias->db->quote($this->id) ); $result = $this->ilias->db->query($query); if (!empty($this->materials)) { foreach ($this->materials as $key => $value) { $query = sprintf("INSERT INTO survey_question_material (question_fi, materials, materials_file) VALUES (%s, %s, %s)", $this->ilias->db->quote($this->id), $this->ilias->db->quote($key), $this->ilias->db->quote($value) ); $result = $this->ilias->db->query($query); } } } }
SurveyQuestion::saveToDb | ( | $ | original_id = "" |
) |
Saves a SurveyQuestion object to a database.
Saves a SurveyQuestion object to a database
integer | $original_id public |
Reimplemented in SurveyMetricQuestion, and SurveyTextQuestion.
Definition at line 875 of file class.SurveyQuestion.php.
References $query, $result, ilInternalLink::_deleteAllLinksOfSource(), ilInternalLink::_saveLink(), and getId().
{ include_once "./content/classes/Pages/class.ilInternalLink.php"; $query = sprintf("DELETE FROM survey_material WHERE question_fi = %s", $this->ilias->db->quote($this->getId() . "") ); $result = $this->ilias->db->query($query); ilInternalLink::_deleteAllLinksOfSource("sqst", $this->getId()); if (count($this->material)) { $query = sprintf("INSERT INTO survey_material (material_id, question_fi, internal_link, import_id, material_title, TIMESTAMP) VALUES (NULL, %s, %s, %s, %s, NULL)", $this->ilias->db->quote($this->getId() . ""), $this->ilias->db->quote($this->material["internal_link"] . ""), $this->ilias->db->quote($this->material["import_id"] . ""), $this->ilias->db->quote($this->material["title"] . "") ); $this->ilias->db->query($query); if (preg_match("/il_(\d*?)_(\w+)_(\d+)/", $solution["internal_link"], $matches)) { ilInternalLink::_saveLink("sqst", $this->getId(), $matches[2], $matches[3], $matches[1]); } } }
SurveyQuestion::saveWorkingData | ( | $ | limit_to = LIMIT_NO_LIMIT |
) |
Saves the learners input of the question to the database.
Saves the learners input of the question to the database
public
Definition at line 908 of file class.SurveyQuestion.php.
{ }
SurveyQuestion::setAuthor | ( | $ | author = "" |
) |
Sets the authors name.
Sets the authors name of the SurveyQuestion object
string | $author A string containing the name of the questions author public |
Definition at line 497 of file class.SurveyQuestion.php.
References $author.
Referenced by SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), and SurveyMetricQuestion::from_xml().
SurveyQuestion::setDescription | ( | $ | description = "" |
) |
Sets the description.
Sets the description string of the SurveyQuestion object
string | $description A description string to describe the question public |
Definition at line 365 of file class.SurveyQuestion.php.
References $description.
Referenced by SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), and SurveyMetricQuestion::from_xml().
{ $this->description = $description; }
SurveyQuestion::setId | ( | $ | id = -1 |
) |
Sets the id.
Sets the id of the SurveyQuestion object
integer | $id A unique integer value public |
Definition at line 337 of file class.SurveyQuestion.php.
References $id.
{ $this->id = $id; }
SurveyQuestion::setMaterial | ( | $ | material_id = "" , |
|
$ | is_import = false , |
|||
$ | material_title = "" | |||
) |
Sets a material link for the question.
Sets a material link for the question
string | $material_id An internal link pointing to the material | |
boolean | $is_import A boolean indication that the internal link was imported from another ILIAS installation public |
Definition at line 1410 of file class.SurveyQuestion.php.
References $lm_id, $target_id, $type, ilGlossaryTerm::_lookGlossaryTerm(), ilLMObject::_lookupContObjID(), and _resolveInternalLink().
Referenced by SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), and SurveyMetricQuestion::from_xml().
{ if (strcmp($material_id, "") != 0) { $import_id = ""; if ($is_import) { $import_id = $material_id; $material_id = $this->_resolveInternalLink($import_id); } if (strcmp($material_title, "") == 0) { if (preg_match("/il__(\w+)_(\d+)/", $material_id, $matches)) { $type = $matches[1]; $target_id = $matches[2]; $material_title = $this->lng->txt("obj_$type") . ": "; switch ($type) { case "lm": include_once("./content/classes/class.ilObjContentObject.php"); $cont_obj =& new ilObjContentObject($target_id, true); $material_title .= $cont_obj->getTitle(); break; case "pg": include_once("./content/classes/class.ilLMPageObject.php"); include_once("./content/classes/class.ilLMObject.php"); include_once("./content/classes/class.ilObjContentObject.php"); $lm_id = ilLMObject::_lookupContObjID($target_id); $cont_obj =& new ilObjContentObject($lm_id, false); $pg_obj =& new ilLMPageObject($cont_obj, $target_id); $material_title .= $pg_obj->getTitle(); break; case "st": include_once("content/classes/class.ilStructureObject.php"); include_once("./content/classes/class.ilLMObject.php"); include_once("./content/classes/class.ilObjContentObject.php"); $lm_id = ilLMObject::_lookupContObjID($target_id); $cont_obj =& new ilObjContentObject($lm_id, false); $st_obj =& new ilStructureObject($cont_obj, $target_id); $material_title .= $st_obj->getTitle(); break; case "git": include_once "./content/classes/class.ilGlossaryTerm.php"; $material_title = $this->lng->txt("glossary_term") . ": " . ilGlossaryTerm::_lookGlossaryTerm($target_id); break; case "mob": break; } } } $this->material = array( "internal_link" => $material_id, "import_id" => $import_id, "title" => $material_title ); } }
SurveyQuestion::setMaterialsfile | ( | $ | materials_filename, | |
$ | materials_tempfilename = "" , |
|||
$ | materials_name = "" | |||
) |
Sets and uploads the materials uri.
Sets and uploads the materials uri
string | $materials_filename, string $materials_tempfilename, string $materials public |
Definition at line 428 of file class.SurveyQuestion.php.
References addMaterials(), getMaterialsPath(), ilUtil::makeDirParents(), and ilUtil::moveUploadedFile().
{ if (!empty($materials_filename)) { include_once "./classes/class.ilUtil.php"; $materialspath = $this->getMaterialsPath(); if (!file_exists($materialspath)) { ilUtil::makeDirParents($materialspath); } //if (!move_uploaded_file($materials_tempfilename, $materialspath . $materials_filename)) if (ilUtil::moveUploadedFile($materials_tempfilename, $materials_filename, $materialspath.$materials_filename)) { print "image not uploaded!!!! "; } else { $this->addMaterials($materials_filename, $materials_name); } } }
SurveyQuestion::setObjId | ( | $ | obj_id = 0 |
) |
Set the reference id of the container object.
Set the reference id of the container object
integer | $obj_id The reference id of the container object public |
Definition at line 693 of file class.SurveyQuestion.php.
References $obj_id.
{ $this->obj_id = $obj_id; }
SurveyQuestion::setObligatory | ( | $ | obligatory = 1 |
) |
Sets the obligatory state of the question.
Sets the obligatory state of the question
boolean | $obligatory True, if the question is obligatory, otherwise false public |
Definition at line 302 of file class.SurveyQuestion.php.
References $obligatory.
Referenced by SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), SurveyMetricQuestion::from_xml(), SurveyTextQuestion::to_xml(), SurveyOrdinalQuestion::to_xml(), SurveyNominalQuestion::to_xml(), and SurveyMetricQuestion::to_xml().
{ if ($obligatory) { $this->obligatory = 1; } else { $this->obligatory = 0; } }
SurveyQuestion::setOrientation | ( | $ | orientation = 0 |
) |
Sets the orientation of the question output.
Sets the orientation of the question output
integer | $orientation 0 = vertical, 1 = horizontal public |
Definition at line 323 of file class.SurveyQuestion.php.
References $orientation.
Referenced by SurveyOrdinalQuestion::from_xml(), and SurveyNominalQuestion::from_xml().
{ $this->orientation = $orientation; }
SurveyQuestion::setOwner | ( | $ | owner = "" |
) |
Sets the creator/owner.
Sets the creator/owner ID of the SurveyQuestion object
integer | $owner A numerical ID to identify the owner/creator public |
Definition at line 529 of file class.SurveyQuestion.php.
References $owner.
{ $this->owner = $owner; }
SurveyQuestion::setQuestiontext | ( | $ | questiontext = "" |
) |
Sets the questiontext.
Sets the questiontext of the SurveyQuestion object
string | $questiontext A string containing the questiontext public |
Definition at line 515 of file class.SurveyQuestion.php.
References $questiontext.
Referenced by SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), and SurveyMetricQuestion::from_xml().
{ $this->questiontext = $questiontext; }
SurveyQuestion::setSurveyId | ( | $ | id = -1 |
) |
Sets the survey id.
Sets the survey id of the SurveyQuestion object
integer | $id A unique integer value public |
Definition at line 351 of file class.SurveyQuestion.php.
References $id.
{ $this->survey_id = $id; }
SurveyQuestion::setTitle | ( | $ | title = "" |
) |
Sets the title string.
Sets the title string of the SurveyQuestion object
string | $title A title string to describe the question public |
Definition at line 288 of file class.SurveyQuestion.php.
References $title.
Referenced by SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), and SurveyMetricQuestion::from_xml().
{ $this->title = $title; }
SurveyQuestion::SurveyQuestion | ( | $ | title = "" , |
|
$ | description = "" , |
|||
$ | author = "" , |
|||
$ | questiontext = "" , |
|||
$ | owner = -1 | |||
) |
SurveyQuestion constructor.
The constructor takes possible arguments an creates an instance of the SurveyQuestion object.
string | $title A title string to describe the question | |
string | $description A description 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 public |
Definition at line 187 of file class.SurveyQuestion.php.
References $author, $description, $ilias, $lng, $owner, $questiontext, $title, and $tpl.
Referenced by SurveyMetricQuestion::SurveyMetricQuestion(), SurveyNominalQuestion::SurveyNominalQuestion(), SurveyOrdinalQuestion::SurveyOrdinalQuestion(), and SurveyTextQuestion::SurveyTextQuestion().
{ global $ilias; global $lng; global $tpl; $this->ilias =& $ilias; $this->lng =& $lng; $this->tpl =& $tpl; $this->title = $title; $this->description = $description; $this->questiontext = $questiontext; $this->author = $author; if (!$this->author) { $this->author = $this->ilias->account->fullname; } $this->owner = $owner; if ($this->owner == -1) { $this->owner = $this->ilias->account->id; } $this->id = -1; $this->survey_id = -1; $this->obligatory = 1; $this->orientation = 0; $this->materials = array(); $this->material = array(); register_shutdown_function(array(&$this, '_SurveyQuestion')); }
SurveyQuestion::syncWithOriginal | ( | ) |
Reimplemented in SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.
Definition at line 1296 of file class.SurveyQuestion.php.
References $query, $result, ilInternalLink::_deleteAllLinksOfSource(), and ilInternalLink::_saveLink().
{ include_once "./content/classes/Pages/class.ilInternalLink.php"; $query = sprintf("DELETE FROM survey_material WHERE question_fi = %s", $this->ilias->db->quote($this->original_id . "") ); $result = $this->ilias->db->query($query); ilInternalLink::_deleteAllLinksOfSource("sqst", $this->original_id); if (strlen($this->material["internal_link"])) { $query = sprintf("INSERT INTO survey_material (material_id, question_fi, internal_link, import_id, material_title, TIMESTAMP) VALUES (NULL, %s, %s, %s, %s, NULL)", $this->ilias->db->quote($this->original_id . ""), $this->ilias->db->quote($this->material["internal_link"] . ""), $this->ilias->db->quote($this->material["import_id"] . ""), $this->ilias->db->quote($this->material["title"] . "") ); $this->ilias->db->query($query); if (preg_match("/il_(\d*?)_(\w+)_(\d+)/", $this->material["internal_link"], $matches)) { ilInternalLink::_saveLink("sqst", $this->original_id, $matches[2], $matches[3], $matches[1]); } } }
SurveyQuestion::$author |
Definition at line 82 of file class.SurveyQuestion.php.
Referenced by duplicate(), setAuthor(), SurveyMetricQuestion::SurveyMetricQuestion(), SurveyNominalQuestion::SurveyNominalQuestion(), SurveyOrdinalQuestion::SurveyOrdinalQuestion(), SurveyQuestion(), and SurveyTextQuestion::SurveyTextQuestion().
SurveyQuestion::$description |
Definition at line 63 of file class.SurveyQuestion.php.
Referenced by setDescription(), SurveyMetricQuestion::SurveyMetricQuestion(), SurveyNominalQuestion::SurveyNominalQuestion(), SurveyOrdinalQuestion::SurveyOrdinalQuestion(), SurveyQuestion(), and SurveyTextQuestion::SurveyTextQuestion().
SurveyQuestion::$domxml |
Definition at line 163 of file class.SurveyQuestion.php.
SurveyQuestion::$id |
Definition at line 46 of file class.SurveyQuestion.php.
Referenced by SurveyTextQuestion::_getQuestionDataArray(), SurveyOrdinalQuestion::_getQuestionDataArray(), SurveyNominalQuestion::_getQuestionDataArray(), SurveyMetricQuestion::_getQuestionDataArray(), SurveyTextQuestion::loadFromDb(), SurveyOrdinalQuestion::loadFromDb(), SurveyNominalQuestion::loadFromDb(), SurveyMetricQuestion::loadFromDb(), setId(), and setSurveyId().
SurveyQuestion::$ilias |
Definition at line 136 of file class.SurveyQuestion.php.
Referenced by SurveyQuestion().
SurveyQuestion::$lng |
Definition at line 154 of file class.SurveyQuestion.php.
Referenced by SurveyQuestion().
SurveyQuestion::$material |
Definition at line 174 of file class.SurveyQuestion.php.
Referenced by SurveyTextQuestion::from_xml(), SurveyOrdinalQuestion::from_xml(), SurveyNominalQuestion::from_xml(), SurveyMetricQuestion::from_xml(), and QTIMaterialToString().
SurveyQuestion::$materials |
Definition at line 91 of file class.SurveyQuestion.php.
SurveyQuestion::$obj_id |
Definition at line 109 of file class.SurveyQuestion.php.
Referenced by _getRefIdFromObjId(), delete(), and setObjId().
SurveyQuestion::$obligatory |
Definition at line 127 of file class.SurveyQuestion.php.
Referenced by setObligatory().
SurveyQuestion::$orientation |
Definition at line 172 of file class.SurveyQuestion.php.
Referenced by setOrientation(), SurveyNominalQuestion::SurveyNominalQuestion(), and SurveyOrdinalQuestion::SurveyOrdinalQuestion().
SurveyQuestion::$owner |
Definition at line 72 of file class.SurveyQuestion.php.
Referenced by duplicate(), setOwner(), SurveyMetricQuestion::SurveyMetricQuestion(), SurveyNominalQuestion::SurveyNominalQuestion(), SurveyOrdinalQuestion::SurveyOrdinalQuestion(), SurveyQuestion(), and SurveyTextQuestion::SurveyTextQuestion().
SurveyQuestion::$questiontext |
Definition at line 118 of file class.SurveyQuestion.php.
Referenced by setQuestiontext(), SurveyMetricQuestion::SurveyMetricQuestion(), SurveyNominalQuestion::SurveyNominalQuestion(), SurveyOrdinalQuestion::SurveyOrdinalQuestion(), SurveyQuestion(), and SurveyTextQuestion::SurveyTextQuestion().
SurveyQuestion::$survey_id |
Definition at line 100 of file class.SurveyQuestion.php.
Referenced by SurveyTextQuestion::getCumulatedResults(), SurveyOrdinalQuestion::getCumulatedResults(), SurveyNominalQuestion::getCumulatedResults(), SurveyMetricQuestion::getCumulatedResults(), SurveyTextQuestion::saveUserInput(), SurveyOrdinalQuestion::saveUserInput(), SurveyNominalQuestion::saveUserInput(), and SurveyMetricQuestion::saveUserInput().
SurveyQuestion::$title |
Definition at line 55 of file class.SurveyQuestion.php.
Referenced by duplicate(), phraseExists(), questionTitleExists(), SurveyOrdinalQuestion::savePhrase(), setTitle(), SurveyMetricQuestion::SurveyMetricQuestion(), SurveyNominalQuestion::SurveyNominalQuestion(), SurveyOrdinalQuestion::SurveyOrdinalQuestion(), SurveyQuestion(), and SurveyTextQuestion::SurveyTextQuestion().
SurveyQuestion::$tpl |
Definition at line 145 of file class.SurveyQuestion.php.
Referenced by SurveyQuestion().