Basic class for all survey question types. More...
Inheritance diagram for SurveyQuestion: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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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 "";
}
}
Here is the caller graph for this function:| 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 "";
}
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| & 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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]);
}
}
}
}
}
Here is the call graph for this function:| 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;
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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");
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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());
}
}
Here is the call graph for this function:| 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();
}
}
Here is the call graph for this function:| 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);
}
Here is the caller graph for this function:| 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]);
}
}
}
Here is the call graph for this function:| 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();
}
Here is the call graph for this function:| 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!!!! ";
}
}
}
Here is the call graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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);
}
Here is the call graph for this function:| 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/";
}
Here is the caller graph for this function:| 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);
}
Here is the call graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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);
}
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| & 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;
}
Here is the call graph for this function:| 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;
}
Here is the call graph for this function:| 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();
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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);
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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);
}
}
}
}
Here is the caller graph for this function:| 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]);
}
}
}
Here is the call graph for this function:| 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().
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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
);
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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);
}
}
}
Here is the call graph for this function:| 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;
}
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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'));
}
Here is the caller graph for this function:| 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]);
}
}
}
Here is the call graph for this function:| 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().
1.7.1