ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
SurveyQuestion Class Reference

Basic class for all survey question types. More...

+ Inheritance diagram for SurveyQuestion:
+ Collaboration 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 ($survey_id="")
 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.
 copyObject ($target_questionpool, $title="")
 Copies an assOrderingQuestion object.
 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 ($original_id="")
 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, $neutral=0)
 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.
 _getTitle ($question_id)
 Returns the question title 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="")
 _isWriteable ($question_id, $user_id)
 Returns true if the question is writeable by a certain user.
 getQuestionTypeID ()
 Returns the question type ID of the question.
 getQuestionType ()
 Returns the question type of the question.
_instanciateQuestion ($question_id)
 Creates an instance of a question with a given question id.
_instanciateQuestionGUI ($question_id)
 Creates an instance of a question GUI with a given question id.
 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.
 addMaterialTag (&$a_xml_writer, $a_material, $close_material_tag=TRUE, $add_mobs=TRUE)
 Creates an XML 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.
 addUserSpecificResultsExportTitles (&$a_array)
 Adds the entries for the title row of the user specific results.
 addUserSpecificResultsData (&$a_array, &$resultset)
 Adds the values for the user specific results export for a given user.
getUserAnswers ($survey_id)
 Returns an array containing all answers to this question in a given survey.
getWorkingDataFromUserInput ($post_data)
 Creates the user data of the survey_answer table from the POST data.
 importAdditionalMetadata ($a_meta)
 Import additional meta data from the question import file.
 importResponses ($a_data)
 Import response data from the question import file.
 importAdjectives ($a_data)
 Import bipolar adjectives from the question import file.
 importMatrix ($a_data)
 Import matrix rows from the question import file.
 setExportCumulatedXLS (&$worksheet, &$format_title, &$format_bold, &$eval_data, $row)
 Creates the Excel output for the cumulated results of this question.
setExportCumulatedCVS (&$eval_data)
 Creates the CSV output for the cumulated results of this question.
 setExportDetailsXLS (&$workbook, &$format_title, &$format_bold, &$eval_data)
 Creates an Excel worksheet for the detailed cumulated results of this question.
 usableForPrecondition ()
 Returns if the question is usable for preconditions.
 getAvailableRelations ()
 Returns the available relations for the question.
 getPreconditionSelectValue ($default="")
 Creates a value selection for preconditions.
 getPreconditionValueOutput ($value)
 Returns the output for a precondition value.
 outChart ($survey_id, $type="")
 Creates an image visualising the results of the question.
 setOriginalId ($original_id)
 getOriginalId ()

Static Public Member Functions

static _includeClass ($question_type, $gui=0)
 Include the php class file for a given question type.
static _getQuestionTypeName ($type_tag)
 Return the translation for a given question type tag.

Data Fields

 $id
 $title
 $description
 $owner
 $author
 $materials
 $survey_id
 $obj_id
 $questiontext
 $obligatory
 $ilias
 $tpl
 $lng
 $orientation
 $material

Detailed Description

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.

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Version
Id:
class.SurveyQuestion.php 17749 2008-10-25 13:32:46Z hschottm

Definition at line 36 of file class.SurveyQuestion.php.

Member Function Documentation

SurveyQuestion::_getInternalLinkHref (   $target = "")

Definition at line 1647 of file class.SurveyQuestion.php.

References $target_id, and ilUtil\removeTrailingPathSeparators().

Referenced by SurveyMetricQuestionGUI\editQuestion(), SurveyNominalQuestionGUI\editQuestion(), SurveyTextQuestionGUI\editQuestion(), SurveyOrdinalQuestionGUI\editQuestion(), SurveyMatrixQuestionGUI\editQuestion(), SurveyOrdinalQuestionGUI\getWorkingForm(), SurveyTextQuestionGUI\getWorkingForm(), SurveyNominalQuestionGUI\getWorkingForm(), SurveyMatrixQuestionGUI\getWorkingForm(), and SurveyMetricQuestionGUI\getWorkingForm().

{
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 "./Services/Utilities/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) . "/ilias.php?baseClass=ilLMPresentationGUI&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

Parameters
integer$question_idThe database id of the question
Returns
integer The database id of the original question public

Definition at line 1340 of file class.SurveyQuestion.php.

References $result.

Referenced by ilObjSurvey\cloneObject(), and copyObject().

{
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(MDB2_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

Parameters
integer$idThe question ID from the database
Returns
array Array containing the question fields and data from the database public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyOrdinalQuestion, SurveyNominalQuestion, and SurveyTextQuestion.

Definition at line 1964 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

Parameters
integer$question_idThe database id of the question
Returns
string The question type string private

Definition at line 1279 of file class.SurveyQuestion.php.

References $data, and $result.

Referenced by _instanciateQuestion(), ilObjSurvey\_instanciateQuestion(), _instanciateQuestionGUI(), ilObjSurveyQuestionPoolGUI\addLocatorItems(), ilObjSurvey\getConstraints(), ilObjSurvey\getUserSpecificResults(), 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(MDB2_FETCHMODE_OBJECT);
return $data->type_tag;
}
else
{
return "";
}
}

+ Here is the caller graph for this function:

static SurveyQuestion::_getQuestionTypeName (   $type_tag)
static

Return the translation for a given question type tag.

Parameters
string$type_tagThe type tag of the question type public

Definition at line 1797 of file class.SurveyQuestion.php.

References $lng, ilPlugin\getPluginObject(), and IL_COMP_MODULE.

Referenced by ilObjSurveyGUI\addConstraintForm(), ilObjSurveyGUI\browseForQuestionsObject(), ilObjSurveyQuestionPoolGUI\deleteQuestionsObject(), ilObjSurveyQuestionPoolGUI\pasteObject(), ilObjSurveyQuestionPoolGUI\questionsObject(), ilObjSurveyGUI\questionsObject(), and ilObjSurveyGUI\removeQuestionsForm().

{
if (file_exists("./Modules/SurveyQuestionPool/classes/class.".$type_tag.".php"))
{
global $lng;
return $lng->txt($type_tag);
}
else
{
global $ilPluginAdmin;
$pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_MODULE, "SurveyQuestionPool", "svyq");
foreach ($pl_names as $pl_name)
{
$pl = ilPlugin::getPluginObject(IL_COMP_MODULE, "SurveyQuestionPool", "svyq", $pl_name);
if (strcmp($pl->getQuestionType(), $type_tag) == 0)
{
return $pl->getQuestionTypeTranslation();
}
}
}
return "";
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

SurveyQuestion::_getRefIdFromObjId (   $obj_id)

Definition at line 1365 of file class.SurveyQuestion.php.

References $obj_id, and $result.

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(MDB2_FETCHMODE_ASSOC);
return $row["ref_id"];
}
return 0;
}

+ Here is the caller graph for this function:

SurveyQuestion::_getTitle (   $question_id)

Returns the question title of a question with a given id.

Returns the question title of a question with a given id

Parameters
integer$question_idThe database id of the question
Returns
string The question title private

Definition at line 1310 of file class.SurveyQuestion.php.

References $data, and $result.

Referenced by ilObjSurveyQuestionPoolGUI\addLocatorItems().

{
global $ilDB;
if ($question_id < 1) return "";
$query = sprintf("SELECT title FROM survey_question WHERE survey_question.question_id = %s",
$ilDB->quote($question_id)
);
$result = $ilDB->query($query);
if ($result->numRows() == 1)
{
$data = $result->fetchRow(MDB2_FETCHMODE_ASSOC);
return $data["title"];
}
else
{
return "";
}
}

+ Here is the caller graph for this function:

static SurveyQuestion::_includeClass (   $question_type,
  $gui = 0 
)
static

Include the php class file for a given question type.

Parameters
string$question_typeThe type tag of the question type
Returns
integer 0 if the class should be included, 1 if the GUI class should be included public

Definition at line 1765 of file class.SurveyQuestion.php.

References ilPlugin\getPluginObject(), and IL_COMP_MODULE.

Referenced by SurveyQuestionGUI\_getQuestionGUI(), _instanciateQuestion(), ilObjSurvey\_instanciateQuestion(), _instanciateQuestionGUI(), ilObjSurveyGUI\addConstraintForm(), ilObjSurvey\getConstraints(), ilObjSurvey\getUserSpecificResults(), SurveyImportParser\handlerBeginTag(), and ilObjSurveyQuestionPool\toXML().

{
$type = $question_type;
if ($gui) $type .= "GUI";
if (file_exists("./Modules/SurveyQuestionPool/classes/class.".$type.".php"))
{
include_once "./Modules/SurveyQuestionPool/classes/class.".$type.".php";
return true;
}
else
{
global $ilPluginAdmin;
$pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_MODULE, "SurveyQuestionPool", "svyq");
foreach ($pl_names as $pl_name)
{
$pl = ilPlugin::getPluginObject(IL_COMP_MODULE, "SurveyQuestionPool", "svyq", $pl_name);
if (strcmp($pl->getQuestionType(), $question_type) == 0)
{
$pl->includeClass("class.".$type.".php");
return true;
}
}
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

& SurveyQuestion::_instanciateQuestion (   $question_id)

Creates an instance of a question with a given question id.

Parameters
integer$question_idThe question id
Returns
object The question instance public

Definition at line 1828 of file class.SurveyQuestion.php.

References _getQuestionType(), and _includeClass().

Referenced by ilObjSurveyQuestionPool\duplicateQuestion(), ilSurveyEvaluationGUI\exportCumulatedResults(), ilSurveyEvaluationGUI\exportUserSpecificResults(), ilObjSurveyQuestionPool\removeQuestion(), and ilSurveyExecutionGUI\saveActiveQuestionData().

{
$question_type = SurveyQuestion::_getQuestionType($question_id);
$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::_instanciateQuestionGUI (   $question_id)

Creates an instance of a question GUI with a given question id.

Parameters
integer$question_idThe question id
Returns
object The question GUI instance public

Definition at line 1844 of file class.SurveyQuestion.php.

References _getQuestionType(), and _includeClass().

Referenced by ilSurveyEvaluationGUI\evaluation().

{
$question_type = SurveyQuestion::_getQuestionType($question_id);
SurveyQuestion::_includeClass($question_type, 1);
$guitype = $question_type . "GUI";
$question = new $guitype($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

Returns
boolean TRUE if the question is complete, FALSE otherwise public

Definition at line 871 of file class.SurveyQuestion.php.

References $result.

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(MDB2_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

Parameters
integer$question_idThe database id of the question
integer$user_idThe database id of the user
Returns
boolean True, if the question exists, otherwise False public

Definition at line 1693 of file class.SurveyQuestion.php.

References $result.

Referenced by SurveyQuestionGUI\save(), SurveyNominalQuestionGUI\saveCategories(), SurveyOrdinalQuestionGUI\saveCategories(), and SurveyMatrixQuestionGUI\saveRowColEditor().

{
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(MDB2_FETCHMODE_ASSOC);
$qpl_object_id = $row["obj_fi"];
include_once "./Modules/SurveyQuestionPool/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

Parameters
integer$question_idThe database id of the question
Returns
boolean True, if the question exists, otherwise False public

Definition at line 1464 of file class.SurveyQuestion.php.

References $result.

{
global $ilDB;
if ($question_id < 1)
{
return false;
}
$query = sprintf("SELECT question_id FROM survey_question WHERE question_id = %s",
$ilDB->quote($question_id)
);
$result = $ilDB->query($query);
if ($result->numRows() == 1)
{
return true;
}
else
{
return false;
}
}
SurveyQuestion::_resolveInternalLink (   $internal_link)

Definition at line 1558 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 "./Services/COPage/classes/class.ilInternalLink.php";
include_once "./Modules/LearningModule/classes/class.ilLMObject.php";
include_once "./Modules/Glossary/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 1595 of file class.SurveyQuestion.php.

References $result, 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(MDB2_FETCHMODE_ASSOC))
{
$internal_link = $row["internal_link"];
include_once "./Modules/SurveyQuestionPool/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 "./Services/COPage/classes/class.ilInternalLink.php";
$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(MDB2_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 214 of file class.SurveyQuestion.php.

{
}
SurveyQuestion::addMaterials (   $materials_file,
  $materials_name = "" 
)

Sets the materials uri.

Sets the materials uri

Parameters
string$materials_fileAn uri to additional materials
string$materials_nameAn uri name to additional materials public
See Also
$materials

Definition at line 373 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::addMaterialTag ( $a_xml_writer,
  $a_material,
  $close_material_tag = TRUE,
  $add_mobs = TRUE 
)

Creates an XML material tag from a plain text or xhtml text.

Parameters
object$a_xml_writerReference to the ILIAS XML writer
string$a_materialplain text or html text containing the material
Returns
string XML material tag public

Definition at line 1912 of file class.SurveyQuestion.php.

References $mobs, ilObjMediaObject\_getMobsOfObject(), ilRTE\_replaceMediaObjectImageSrc(), getId(), and isHTML().

Referenced by SurveyTextQuestion\insertXML(), SurveyNominalQuestion\insertXML(), SurveyOrdinalQuestion\insertXML(), SurveyMetricQuestion\insertXML(), and SurveyMatrixQuestion\insertXML().

{
include_once "./Services/RTE/classes/class.ilRTE.php";
include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
$a_xml_writer->xmlStartTag("material");
$attrs = array(
"type" => "text/plain"
);
if ($this->isHTML($a_material))
{
$attrs["type"] = "text/xhtml";
}
$a_xml_writer->xmlElement("mattext", $attrs, ilRTE::_replaceMediaObjectImageSrc($a_material, 0));
if ($add_mobs)
{
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::addUserSpecificResultsData ( $a_array,
$resultset 
)

Adds the values for the user specific results export for a given user.

Adds the values for the user specific results export for a given user

Parameters
array$a_arrayAn array which is used to append the values
array$resultsetThe evaluation data for a given user public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 1992 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
SurveyQuestion::addUserSpecificResultsExportTitles ( $a_array)

Adds the entries for the title row of the user specific results.

Adds the entries for the title row of the user specific results

Parameters
array$a_arrayAn array which is used to append the title row entries public

Reimplemented in SurveyMatrixQuestion, and SurveyNominalQuestion.

Definition at line 1978 of file class.SurveyQuestion.php.

References getTitle().

{
array_push($a_array, $this->getTitle());
}

+ Here is the call graph for this function:

SurveyQuestion::copyObject (   $target_questionpool,
  $title = "" 
)

Copies an assOrderingQuestion object.

Copies an assOrderingQuestion object

public

Definition at line 764 of file class.SurveyQuestion.php.

References $title, _getOriginalId(), getId(), and getObjId().

{
if ($this->getId() <= 0)
{
// The question has not been saved. It cannot be copied
return;
}
$clone = $this;
$original_id = SurveyQuestion::_getOriginalId($this->getId());
$clone->setId(-1);
$source_questionpool = $this->getObjId();
$clone->setObjId($target_questionpool);
if ($title)
{
$clone->setTitle($title);
}
$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::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

Parameters
integer$a_q_idThe question id of the original question public

Definition at line 798 of file class.SurveyQuestion.php.

References $mobs, ilObjMediaObject\_getMobsOfObject(), ilObjMediaObject\_saveUsage(), and getId().

{
include_once("./Services/MediaObjects/classes/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

Parameters
integer$question_idThe database id of the question private

Definition at line 1153 of file class.SurveyQuestion.php.

References $mobs, $obj_id, $result, 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(MDB2_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(MDB2_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(MDB2_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 "./Services/COPage/classes/class.ilInternalLink.php";
$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 "./Services/Utilities/classes/class.ilUtil.php";
ilUtil::delDir($directory);
}
include_once("./Services/MediaObjects/classes/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

Parameters
integer$question_idThe question id which should be deleted in the additional question table public

Reimplemented in SurveyMatrixQuestion.

Definition at line 1135 of file class.SurveyQuestion.php.

References $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.

Parameters
string$indexA materials_name of the materials uri public
See Also
$materials

Definition at line 452 of file class.SurveyQuestion.php.

References 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 719 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

Parameters
integer$question_idThe database id of the original survey question public

Definition at line 816 of file class.SurveyQuestion.php.

References $filename, 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 "./Services/Utilities/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

See Also
$materials

Definition at line 475 of file class.SurveyQuestion.php.

{
$this->materials = array();
}
SurveyQuestion::getAuthor ( )

Gets the authors name.

Gets the authors name of the SurveyQuestion object

Returns
string The string containing the name of the questions author public
See Also
$author

Definition at line 653 of file class.SurveyQuestion.php.

References $author.

Referenced by SurveyTextQuestion\insertXML(), SurveyNominalQuestion\insertXML(), SurveyOrdinalQuestion\insertXML(), SurveyMetricQuestion\insertXML(), SurveyMatrixQuestion\insertXML(), and SurveyMatrixQuestion\isComplete().

{
return $this->author;
}

+ Here is the caller graph for this function:

SurveyQuestion::getAvailableRelations ( )

Returns the available relations for the question.

Returns the available relations for the question

Returns
array An array containing the available relations public

Reimplemented in SurveyMetricQuestion, SurveyNominalQuestion, and SurveyOrdinalQuestion.

Definition at line 2178 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
return array();
}
SurveyQuestion::getDescription ( )

Gets the description.

Gets the description string of the SurveyQuestion object

Returns
string The description string to describe the question public
See Also
$description

Definition at line 639 of file class.SurveyQuestion.php.

References $description.

Referenced by SurveyTextQuestion\insertXML(), SurveyNominalQuestion\insertXML(), SurveyOrdinalQuestion\insertXML(), SurveyMetricQuestion\insertXML(), and SurveyMatrixQuestion\insertXML().

{
}

+ Here is the caller graph for this function:

SurveyQuestion::getId ( )

Gets the id.

Gets the id of the SurveyQuestion object

Returns
integer The id of the SurveyQuestion object public
See Also
$id

Definition at line 549 of file class.SurveyQuestion.php.

References $id.

Referenced by addMaterialTag(), SurveyTextQuestion\addUserSpecificResultsData(), SurveyOrdinalQuestion\addUserSpecificResultsData(), SurveyNominalQuestion\addUserSpecificResultsData(), SurveyMetricQuestion\addUserSpecificResultsData(), SurveyMatrixQuestion\addUserSpecificResultsData(), SurveyTextQuestion\checkUserInput(), SurveyNominalQuestion\checkUserInput(), SurveyOrdinalQuestion\checkUserInput(), SurveyMetricQuestion\checkUserInput(), SurveyMatrixQuestion\checkUserInput(), copyObject(), copyXHTMLMediaObjectsOfQuestion(), duplicate(), SurveyTextQuestion\getCumulatedResults(), SurveyOrdinalQuestion\getCumulatedResults(), SurveyNominalQuestion\getCumulatedResults(), SurveyMetricQuestion\getCumulatedResults(), SurveyMatrixQuestion\getCumulatedResults(), SurveyMatrixQuestion\getCumulatedResultsForRow(), getObligatory(), SurveyTextQuestion\getUserAnswers(), SurveyOrdinalQuestion\getUserAnswers(), SurveyNominalQuestion\getUserAnswers(), SurveyMetricQuestion\getUserAnswers(), SurveyMatrixQuestion\getUserAnswers(), SurveyTextQuestion\getWorkingDataFromUserInput(), SurveyNominalQuestion\getWorkingDataFromUserInput(), SurveyOrdinalQuestion\getWorkingDataFromUserInput(), SurveyMetricQuestion\getWorkingDataFromUserInput(), SurveyMatrixQuestion\getWorkingDataFromUserInput(), SurveyTextQuestion\insertXML(), SurveyNominalQuestion\insertXML(), SurveyOrdinalQuestion\insertXML(), SurveyMetricQuestion\insertXML(), SurveyMatrixQuestion\insertXML(), SurveyMatrixQuestion\saveBipolarAdjectives(), SurveyMatrixQuestion\saveColumnsToDb(), saveCompletionStatus(), SurveyMatrixQuestion\saveLayout(), SurveyMatrixQuestion\saveRowsToDb(), SurveyTextQuestion\saveToDb(), SurveyNominalQuestion\saveToDb(), SurveyOrdinalQuestion\saveToDb(), SurveyMetricQuestion\saveToDb(), SurveyMatrixQuestion\saveToDb(), saveToDb(), SurveyTextQuestion\saveUserInput(), SurveyNominalQuestion\saveUserInput(), SurveyOrdinalQuestion\saveUserInput(), SurveyMetricQuestion\saveUserInput(), and SurveyMatrixQuestion\saveUserInput().

{
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 974 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 1000 of file class.SurveyQuestion.php.

References ILIAS_ABSOLUTE_PATH, and ilUtil\removeTrailingPathSeparators().

{
include_once "./Services/Utilities/classes/class.ilUtil.php";
$webdir = ilUtil::removeTrailingPathSeparators(CLIENT_WEB_DIR) . "/survey/$this->obj_id/$this->id/images/";
}

+ 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 987 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 1015 of file class.SurveyQuestion.php.

References ILIAS_ABSOLUTE_PATH, and ilUtil\removeTrailingPathSeparators().

{
include_once "./Services/Utilities/classes/class.ilUtil.php";
$webdir = ilUtil::removeTrailingPathSeparators(CLIENT_WEB_DIR) . "/survey/$this->obj_id/$this->id/materials/";
}

+ 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

Returns
integer The reference id of the container object public
See Also
$obj_id

Definition at line 695 of file class.SurveyQuestion.php.

References $obj_id.

Referenced by copyObject().

{
return $this->obj_id;
}

+ Here is the caller graph for this function:

SurveyQuestion::getObligatory (   $survey_id = "")

Gets the obligatory state of the question.

Gets the obligatory state of the question

Returns
boolean True, if the question is obligatory, otherwise false public
See Also
$obligatory

Definition at line 564 of file class.SurveyQuestion.php.

References $obligatory, $result, $survey_id, and getId().

Referenced by SurveyTextQuestion\checkUserInput(), SurveyNominalQuestion\checkUserInput(), SurveyOrdinalQuestion\checkUserInput(), SurveyMetricQuestion\checkUserInput(), SurveyMatrixQuestion\checkUserInput(), SurveyTextQuestion\insertXML(), SurveyNominalQuestion\insertXML(), SurveyOrdinalQuestion\insertXML(), SurveyMetricQuestion\insertXML(), and SurveyMatrixQuestion\insertXML().

{
if ($survey_id > 0)
{
global $ilDB;
$query = sprintf("SELECT * FROM survey_question_obligatory WHERE survey_fi = %s AND question_fi = %s",
$ilDB->quote($survey_id . ""),
$ilDB->quote($this->getId() . "")
);
$result = $ilDB->query($query);
if ($result->numRows())
{
$row = $result->fetchRow(MDB2_FETCHMODE_ASSOC);
return $row["obligatory"];
}
else
{
}
}
else
{
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

SurveyQuestion::getOrientation ( )

Gets the orientation of the question output.

Gets the orientation of the question output

Returns
integer 0 = vertical, 1 = horizontal public
See Also
$orientation

Definition at line 614 of file class.SurveyQuestion.php.

References $orientation.

Referenced by SurveyNominalQuestion\insertXML(), and SurveyOrdinalQuestion\insertXML().

{
switch ($this->orientation)
{
case 0:
case 1:
case 2:
break;
default:
$this->orientation = 0;
break;
}
}

+ Here is the caller graph for this function:

SurveyQuestion::getOriginalId ( )

Definition at line 2232 of file class.SurveyQuestion.php.

{
return $this->original_id;
}
SurveyQuestion::getOwner ( )

Gets the creator/owner.

Gets the creator/owner ID of the SurveyQuestion object

Returns
integer The numerical ID to identify the owner/creator public
See Also
$owner

Definition at line 667 of file class.SurveyQuestion.php.

References $owner.

{
return $this->owner;
}
SurveyQuestion::getPhrase (   $phrase_id)

Returns a phrase for a given database id.

Returns a phrase for a given database id

Returns
String The title of the phrase public

Definition at line 1414 of file class.SurveyQuestion.php.

References $result.

{
$query = sprintf("SELECT title FROM survey_phrase WHERE phrase_id = %s",
$this->ilias->db->quote($phrase_id)
);
$result = $this->ilias->db->query($query);
if ($row = $result->fetchRow(MDB2_FETCHMODE_ASSOC))
{
return $row["title"];
}
return "";
}
SurveyQuestion::getPreconditionSelectValue (   $default = "")

Creates a value selection for preconditions.

Creates a value selection for preconditions

Returns
The HTML code for the precondition value selection public

Reimplemented in SurveyMetricQuestion, SurveyNominalQuestion, and SurveyOrdinalQuestion.

Definition at line 2192 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
SurveyQuestion::getPreconditionValueOutput (   $value)

Returns the output for a precondition value.

Returns the output for a precondition value

Parameters
string$valueThe precondition value
Returns
string The output of the precondition value public

Reimplemented in SurveyMatrixQuestion, SurveyNominalQuestion, and SurveyOrdinalQuestion.

Definition at line 2206 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
return $value;
}
SurveyQuestion::getQuestionType ( )

Returns the question type of the question.

Returns the question type of the question

Returns
integer The question type of the question public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyOrdinalQuestion, SurveyNominalQuestion, and SurveyTextQuestion.

Definition at line 1753 of file class.SurveyQuestion.php.

{
return "";
}
SurveyQuestion::getQuestionTypeID ( )

Returns the question type ID of the question.

Returns the question type ID of the question

Returns
integer The question type of the question public

Reimplemented in SurveyMetricQuestion.

Definition at line 1727 of file class.SurveyQuestion.php.

References $result.

{
global $ilDB;
$query = sprintf("SELECT questiontype_id FROM survey_questiontype WHERE type_tag = %s",
$ilDB->quote($this->getQuestionType())
);
$result = $ilDB->query($query);
if ($result->numRows() == 1)
{
$row = $result->fetchRow(MDB2_FETCHMODE_ASSOC);
return $row["questiontype_id"];
}
else
{
return 0;
}
}
SurveyQuestion::getSurveyId ( )

Gets the survey id.

Gets the survey id of the SurveyQuestion object

Returns
integer The survey id of the SurveyQuestion object public
See Also
$survey_id

Definition at line 600 of file class.SurveyQuestion.php.

References $survey_id.

{
}
& SurveyQuestion::getUserAnswers (   $survey_id)

Returns an array containing all answers to this question in a given survey.

Returns an array containing all answers to this question in a given survey

Parameters
integer$survey_idThe database ID of the survey
Returns
array An array containing the answers to the question. The keys are either the user id or the anonymous id public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 2006 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
return array();
}
& SurveyQuestion::getWorkingDataFromUserInput (   $post_data)

Creates the user data of the survey_answer table from the POST data.

Creates the user data of the survey_answer table from the POST data

Returns
array User data according to the survey_answer table public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyOrdinalQuestion, SurveyNominalQuestion, and SurveyTextQuestion.

Definition at line 2020 of file class.SurveyQuestion.php.

References $data.

{
// overwrite in inherited classes
$data = array();
return $data;
}
SurveyQuestion::importAdditionalMetadata (   $a_meta)

Import additional meta data from the question import file.

Import additional meta data from the question import file. Usually the meta data section is used to store question elements which are not part of the standard XML schema.

Returns
array $a_meta Array containing the additional meta data public

Reimplemented in SurveyMatrixQuestion, and SurveyNominalQuestion.

Definition at line 2037 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
SurveyQuestion::importAdjectives (   $a_data)

Import bipolar adjectives from the question import file.

Import bipolar adjectives from the question import file

Returns
array $a_data Array containing the adjectives public

Reimplemented in SurveyMatrixQuestion.

Definition at line 2063 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
SurveyQuestion::importMatrix (   $a_data)

Import matrix rows from the question import file.

Import matrix rows from the question import file

Returns
array $a_data Array containing the matrix rows public

Reimplemented in SurveyMatrixQuestion.

Definition at line 2076 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
SurveyQuestion::importResponses (   $a_data)

Import response data from the question import file.

Import response data from the question import file

Returns
array $a_data Array containing the response data public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 2050 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
SurveyQuestion::isComplete ( )

Returns true, if a question is complete for use.

Returns true, if a question is complete for use

Returns
boolean True, if the question is complete for use, otherwise false public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyOrdinalQuestion, SurveyNominalQuestion, and SurveyTextQuestion.

Definition at line 227 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.

Parameters
string$a_textText which should be checked
Returns
boolean public

Definition at line 1861 of file class.SurveyQuestion.php.

Referenced by addMaterialTag().

{
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

Parameters
string$arraykeyA key to an element in array
array$arrayAn array to be searched private
See Also
$materials

Definition at line 396 of file class.SurveyQuestion.php.

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

Parameters
integer$question_idA unique key which defines the question in the database public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyOrdinalQuestion, SurveyNominalQuestion, and SurveyTextQuestion.

Definition at line 843 of file class.SurveyQuestion.php.

References $result.

{
$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(MDB2_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

Parameters
integer$question_idA unique key which defines the survey question in the database public

Definition at line 1060 of file class.SurveyQuestion.php.

References $data, $result, and addMaterials().

Referenced by SurveyTextQuestion\loadFromDb(), SurveyNominalQuestion\loadFromDb(), SurveyOrdinalQuestion\loadFromDb(), SurveyMetricQuestion\loadFromDb(), and SurveyMatrixQuestion\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 ($result->numRows() > 0)
{
$this->materials = array();
while ($data = $result->fetchRow(MDB2_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::outChart (   $survey_id,
  $type = "" 
)

Creates an image visualising the results of the question.

Creates an image visualising the results of the question

Parameters
integer$survey_idThe database ID of the survey
string$typeAn additional parameter to allow to draw more than one chart per question. Must be interpreted by the question. Default is an empty string
Returns
binary Image with the visualisation private

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyNominalQuestion, and SurveyOrdinalQuestion.

Definition at line 2222 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
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

Parameters
string$titleThe title of the phrase
Returns
boolean True, if the title exists, otherwise False public

Definition at line 1436 of file class.SurveyQuestion.php.

References $result, and $title.

{
global $ilUser;
$query = sprintf("SELECT phrase_id FROM survey_phrase WHERE title = %s AND owner_fi = %s",
$this->ilias->db->quote($title),
$this->ilias->db->quote($ilUser->id)
);
$result = $this->ilias->db->query($query);
if ($result->numRows() == 0)
{
return false;
}
else
{
return true;
}
}
SurveyQuestion::prepareTextareaOutput (   $txt_output,
  $prepare_for_latex_output = FALSE 
)

Prepares a string for a text area output in surveys.

Parameters
string$txt_outputString which should be prepared for output public

Definition at line 1949 of file class.SurveyQuestion.php.

{
include_once "./Services/Utilities/classes/class.ilUtil.php";
return ilUtil::prepareTextareaOutput($txt_output, $prepare_for_latex_output);
}
SurveyQuestion::QTIMaterialToString (   $a_material)

Reads an QTI material tag an creates a text string.

Parameters
string$a_materialQTI material tag
Returns
string text or xhtml string public

Definition at line 1880 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

Parameters
string$titleThe title of the question
string$questionpool_referenceThe reference id of a container question pool
Returns
boolean The result of the title check public

Definition at line 242 of file class.SurveyQuestion.php.

References $result, and $title.

{
global $ilDB;
$refwhere = "";
if (strcmp($questionpool_object, "") != 0)
{
$refwhere = sprintf(" AND obj_fi = %s",
$ilDB->quote($questionpool_object)
);
}
$query = sprintf("SELECT question_id FROM survey_question WHERE title = %s$refwhere",
$ilDB->quote($title)
);
$result = $ilDB->query($query);
if ($result->numRows() == 1)
{
return TRUE;
}
return FALSE;
}
SurveyQuestion::saveCategoryToDb (   $categorytext,
  $neutral = 0 
)

Saves a category to the database.

Saves a category to the database

Parameters
string$categorytextThe description of the category
Returns
integer The database id of the category public
See Also
$categories

Definition at line 1086 of file class.SurveyQuestion.php.

References $result.

Referenced by SurveyNominalQuestion\saveCategoriesToDb(), SurveyOrdinalQuestion\saveCategoriesToDb(), SurveyOrdinalQuestion\syncWithOriginal(), and SurveyNominalQuestion\syncWithOriginal().

{
global $ilUser;
$query = sprintf("SELECT title, category_id FROM survey_category WHERE title = %s AND neutral = %s AND owner_fi = %s",
$this->ilias->db->quote($categorytext . ""),
$this->ilias->db->quote($neutral . ""),
$this->ilias->db->quote($ilUser->getId() . "")
);
$result = $this->ilias->db->query($query);
$insert = FALSE;
$returnvalue = "";
if ($result->numRows())
{
$insert = TRUE;
while ($row = $result->fetchRow(MDB2_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, neutral, owner_fi, TIMESTAMP) VALUES (NULL, %s, %s, %s, NULL)",
$this->ilias->db->quote($categorytext . ""),
$this->ilias->db->quote($neutral . ""),
$this->ilias->db->quote($ilUser->getId() . "")
);
$result = $this->ilias->db->query($query);
$returnvalue = $this->ilias->db->getLastInsertId();
}
return $returnvalue;
}

+ Here is the caller graph for this function:

SurveyQuestion::saveCompletionStatus (   $original_id = "")

Saves the complete flag to the database.

Saves the complete flag to the database

public

Definition at line 897 of file class.SurveyQuestion.php.

References $result, getId(), and isComplete().

Referenced by SurveyNominalQuestion\saveCategoriesToDb(), SurveyOrdinalQuestion\saveCategoriesToDb(), SurveyMatrixQuestion\saveColumnsToDb(), and SurveyMatrixQuestion\saveRowsToDb().

{
$question_id = $this->getId();
if (strlen($original_id))
{
$question_id = $original_id;
}
$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($question_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

Parameters
object$dbA pear DB object public

Definition at line 1030 of file class.SurveyQuestion.php.

References $result.

Referenced by SurveyTextQuestion\saveToDb(), SurveyNominalQuestion\saveToDb(), SurveyOrdinalQuestion\saveToDb(), SurveyMetricQuestion\saveToDb(), and SurveyMatrixQuestion\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

Parameters
integer$original_idpublic

Reimplemented in SurveyMetricQuestion, and SurveyTextQuestion.

Definition at line 929 of file class.SurveyQuestion.php.

References $result, ilInternalLink\_deleteAllLinksOfSource(), ilInternalLink\_saveLink(), and getId().

{
include_once "./Services/COPage/classes/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);
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

See Also
$answers

Definition at line 962 of file class.SurveyQuestion.php.

{
}
SurveyQuestion::setAuthor (   $author = "")

Sets the authors name.

Sets the authors name of the SurveyQuestion object

Parameters
string$authorA string containing the name of the questions author public
See Also
$author

Definition at line 489 of file class.SurveyQuestion.php.

References $author.

{
if (!$author)
{
$author = $this->ilias->account->fullname;
}
$this->author = $author;
}
SurveyQuestion::setDescription (   $description = "")

Sets the description.

Sets the description string of the SurveyQuestion object

Parameters
string$descriptionA description string to describe the question public
See Also
$description

Definition at line 357 of file class.SurveyQuestion.php.

References $description.

{
$this->description = $description;
}
& SurveyQuestion::setExportCumulatedCVS ( $eval_data)

Creates the CSV output for the cumulated results of this question.

Creates the CSV output for the cumulated results of this question

Parameters
object$worksheetReference to the excel worksheet
object$format_titleExcel title format
object$format_boldExcel bold format
array$eval_dataCumulated evaluation data
integer$rowActual row in the worksheet
Returns
integer The next row which should be used for the export public

Reimplemented in SurveyMatrixQuestion.

Definition at line 2123 of file class.SurveyQuestion.php.

References $result, getQuestiontext(), and getTitle().

{
$csvrow = array();
array_push($csvrow, $this->getTitle());
array_push($csvrow, $this->getQuestiontext());
array_push($csvrow, $this->lng->txt($eval_data["QUESTION_TYPE"]));
array_push($csvrow, $eval_data["USERS_ANSWERED"]);
array_push($csvrow, $eval_data["USERS_SKIPPED"]);
array_push($csvrow, $eval_data["MODE"]);
array_push($csvrow, $eval_data["MODE_NR_OF_SELECTIONS"]);
array_push($csvrow, $eval_data["MEDIAN"]);
array_push($csvrow, $eval_data["ARITHMETIC_MEAN"]);
$result = array();
array_push($result, $csvrow);
return $result;
}

+ Here is the call graph for this function:

SurveyQuestion::setExportCumulatedXLS ( $worksheet,
$format_title,
$format_bold,
$eval_data,
  $row 
)

Creates the Excel output for the cumulated results of this question.

Creates the Excel output for the cumulated results of this question

Parameters
object$worksheetReference to the excel worksheet
object$format_titleExcel title format
object$format_boldExcel bold format
array$eval_dataCumulated evaluation data
integer$rowActual row in the worksheet
Returns
integer The next row which should be used for the export public

Reimplemented in SurveyMatrixQuestion.

Definition at line 2094 of file class.SurveyQuestion.php.

References ilExcelUtils\_convert_text(), getQuestiontext(), and getTitle().

{
include_once ("./classes/class.ilExcelUtils.php");
$worksheet->writeString($row, 0, ilExcelUtils::_convert_text($this->getTitle()));
$worksheet->writeString($row, 1, ilExcelUtils::_convert_text($this->getQuestiontext()));
$worksheet->writeString($row, 2, ilExcelUtils::_convert_text($this->lng->txt($eval_data["QUESTION_TYPE"])));
$worksheet->write($row, 3, $eval_data["USERS_ANSWERED"]);
$worksheet->write($row, 4, $eval_data["USERS_SKIPPED"]);
$worksheet->write($row, 5, ilExcelUtils::_convert_text($eval_data["MODE_VALUE"]));
$worksheet->write($row, 6, ilExcelUtils::_convert_text($eval_data["MODE"]));
$worksheet->write($row, 7, $eval_data["MODE_NR_OF_SELECTIONS"]);
$worksheet->write($row, 8, ilExcelUtils::_convert_text(str_replace("<br />", " ", $eval_data["MEDIAN"])));
$worksheet->write($row, 9, $eval_data["ARITHMETIC_MEAN"]);
return $row + 1;
}

+ Here is the call graph for this function:

SurveyQuestion::setExportDetailsXLS ( $workbook,
$format_title,
$format_bold,
$eval_data 
)

Creates an Excel worksheet for the detailed cumulated results of this question.

Creates an Excel worksheet for the detailed cumulated results of this question

Parameters
object$workbookReference to the parent excel workbook
object$format_titleExcel title format
object$format_boldExcel bold format
array$eval_dataCumulated evaluation data public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 2151 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
}
SurveyQuestion::setId (   $id = -1)

Sets the id.

Sets the id of the SurveyQuestion object

Parameters
integer$idA unique integer value public
See Also
$id

Definition at line 329 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

Parameters
string$material_idAn internal link pointing to the material
boolean$is_importA boolean indication that the internal link was imported from another ILIAS installation public

Definition at line 1496 of file class.SurveyQuestion.php.

References $target_id, ilGlossaryTerm\_lookGlossaryTerm(), ilLMObject\_lookupContObjID(), and _resolveInternalLink().

{
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("./Modules/LearningModule/classes/class.ilObjContentObjectGUI.php");
$cont_obj_gui =& new ilObjContentObjectGUI("", $target_id, true);
$cont_obj = $cont_obj_gui->object;
$material_title .= $cont_obj->getTitle();
break;
case "pg":
include_once("./Modules/LearningModule/classes/class.ilLMPageObject.php");
include_once("./Modules/LearningModule/classes/class.ilLMObject.php");
include_once("./Modules/LearningModule/classes/class.ilObjContentObjectGUI.php");
$cont_obj_gui =& new ilObjContentObjectGUI("", $lm_id, FALSE);
$cont_obj = $cont_obj_gui->object;
$pg_obj =& new ilLMPageObject($cont_obj, $target_id);
$material_title .= $pg_obj->getTitle();
break;
case "st":
include_once("./Modules/LearningModule/classes/class.ilStructureObject.php");
include_once("./Modules/LearningModule/classes/class.ilLMObject.php");
include_once("./Modules/LearningModule/classes/class.ilObjContentObjectGUI.php");
$cont_obj_gui =& new ilObjContentObjectGUI("", $lm_id, FALSE);
$cont_obj = $cont_obj_gui->object;
$st_obj =& new ilStructureObject($cont_obj, $target_id);
$material_title .= $st_obj->getTitle();
break;
case "git":
include_once "./Modules/Glossary/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:

SurveyQuestion::setMaterialsfile (   $materials_filename,
  $materials_tempfilename = "",
  $materials_name = "" 
)

Sets and uploads the materials uri.

Sets and uploads the materials uri

Parameters
string | string | string$materials_filename,$materials_tempfilename,$materialspublic
See Also
$materials

Definition at line 420 of file class.SurveyQuestion.php.

References addMaterials(), getMaterialsPath(), ilUtil\makeDirParents(), and ilUtil\moveUploadedFile().

{
if (!empty($materials_filename))
{
include_once "./Services/Utilities/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

Parameters
integer$obj_idThe reference id of the container object public
See Also
$obj_id

Definition at line 708 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

Parameters
boolean$obligatoryTrue, if the question is obligatory, otherwise false public
See Also
$obligatory

Definition at line 287 of file class.SurveyQuestion.php.

References $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

Parameters
integer$orientation0 = vertical, 1 = horizontal public
See Also
$orientation

Definition at line 308 of file class.SurveyQuestion.php.

References $orientation.

Referenced by SurveyNominalQuestion\importAdditionalMetadata().

{
if (strlen($orientation) == 0)
{
$this->orientation = 0;
}
else
{
$this->orientation = $orientation;
}
}

+ Here is the caller graph for this function:

SurveyQuestion::setOriginalId (   $original_id)

Definition at line 2227 of file class.SurveyQuestion.php.

{
$this->original_id = $original_id;
}
SurveyQuestion::setOwner (   $owner = "")

Sets the creator/owner.

Sets the creator/owner ID of the SurveyQuestion object

Parameters
integer$ownerA numerical ID to identify the owner/creator public
See Also
$owner

Definition at line 521 of file class.SurveyQuestion.php.

References $owner.

{
$this->owner = $owner;
}
SurveyQuestion::setQuestiontext (   $questiontext = "")

Sets the questiontext.

Sets the questiontext of the SurveyQuestion object

Parameters
string$questiontextA string containing the questiontext public
See Also
$questiontext

Definition at line 507 of file class.SurveyQuestion.php.

References $questiontext.

{
$this->questiontext = $questiontext;
}
SurveyQuestion::setSurveyId (   $id = -1)

Sets the survey id.

Sets the survey id of the SurveyQuestion object

Parameters
integer$idA unique integer value public
See Also
$survey_id

Definition at line 343 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

Parameters
string$titleA title string to describe the question public
See Also
$title

Definition at line 273 of file class.SurveyQuestion.php.

References $title.

{
$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.

Parameters
string$titleA title string to describe the question
string$descriptionA description string to describe the question
string$authorA string containing the name of the questions author
integer$ownerA numerical ID to identify the owner/creator public

Definition at line 177 of file class.SurveyQuestion.php.

References $author, $description, $ilias, $lng, $owner, $questiontext, $title, and $tpl.

Referenced by SurveyMatrixQuestion\SurveyMatrixQuestion(), 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 SurveyMatrixQuestion, SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 1382 of file class.SurveyQuestion.php.

References $result, ilInternalLink\_deleteAllLinksOfSource(), and ilInternalLink\_saveLink().

{
include_once "./Services/COPage/classes/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::usableForPrecondition ( )

Returns if the question is usable for preconditions.

Returns if the question is usable for preconditions

Returns
boolean TRUE if the question is usable for a precondition, FALSE otherwise public

Reimplemented in SurveyMatrixQuestion, SurveyMetricQuestion, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 2164 of file class.SurveyQuestion.php.

{
// overwrite in inherited classes
return FALSE;
}

Field Documentation

SurveyQuestion::$materials

Definition at line 90 of file class.SurveyQuestion.php.

SurveyQuestion::$obj_id

Definition at line 108 of file class.SurveyQuestion.php.

Referenced by _getRefIdFromObjId(), delete(), getObjId(), and setObjId().

SurveyQuestion::$obligatory

Definition at line 126 of file class.SurveyQuestion.php.

Referenced by getObligatory(), and setObligatory().

SurveyQuestion::$tpl

Definition at line 144 of file class.SurveyQuestion.php.

Referenced by SurveyQuestion().


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