Public Member Functions | Data Fields

SurveyQuestion Class Reference
[Modules/SurveyQuestionPool]

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

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 <helmut.schottmueller@mac.com>
Version:
Id:
class.SurveyQuestion.php 15785 2008-01-26 11:55:04Z hschottm

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


Member Function Documentation

SurveyQuestion::_getInternalLinkHref ( target = ""  ) 

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

References $target_id, and ilUtil::removeTrailingPathSeparators().

Referenced by SurveyTextQuestionGUI::editQuestion(), SurveyOrdinalQuestionGUI::editQuestion(), SurveyNominalQuestionGUI::editQuestion(), SurveyMetricQuestionGUI::editQuestion(), SurveyMatrixQuestionGUI::editQuestion(), SurveyTextQuestionGUI::getWorkingForm(), SurveyOrdinalQuestionGUI::getWorkingForm(), SurveyNominalQuestionGUI::getWorkingForm(), SurveyMetricQuestionGUI::getWorkingForm(), and SurveyMatrixQuestionGUI::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_id The database id of the question
Returns:
integer The database id of the original question public

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

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

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

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

Definition at line 1890 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_id The database id of the question
Returns:
string The question type string private

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

References $data.

Referenced by _instanciateQuestion(), ilObjSurvey::_instanciateQuestion(), ilObjSurveyQuestionPoolGUI::addLocatorItems(), ilSurveyEvaluationGUI::evaluation(), ilObjSurveyQuestionPoolGUI::executeCommand(), ilSurveyEvaluationGUI::exportCumulatedResults(), ilSurveyEvaluationGUI::exportUserSpecificResults(), 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(DB_FETCHMODE_OBJECT);
      return $data->type_tag;
    } 
                else 
                {
      return "";
    }
  }

Here is the caller graph for this function:

SurveyQuestion::_getRefIdFromObjId ( obj_id  ) 

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

References $obj_id.

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::_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_id The database id of the question
Returns:
string The question title private

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

References $data.

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(DB_FETCHMODE_ASSOC);
      return $data["title"];
    } 
                else 
                {
      return "";
    }
  }

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

Parameters:
integer $question_id The question id
Returns:
object The question instance public

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

References _getQuestionType().

Referenced by ilObjSurveyQuestionPool::removeQuestion(), and ilSurveyExecutionGUI::saveActiveQuestionData().

        {
                $question_type = SurveyQuestion::_getQuestionType($question_id);
                include_once "./Modules/SurveyQuestionPool/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

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

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

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

Parameters:
integer $question_id The database id of the question
integer $user_id The database id of the user
Returns:
boolean True, if the question exists, otherwise False public

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

Referenced by SurveyQuestionGUI::save(), SurveyOrdinalQuestionGUI::saveCategories(), SurveyNominalQuestionGUI::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(DB_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_id The database id of the question
Returns:
boolean True, if the question exists, otherwise False public

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

        {
                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 1561 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 1598 of file class.SurveyQuestion.php.

References 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 "./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";
                        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 214 of file class.SurveyQuestion.php.

        {
        }

SurveyQuestion::addMaterials ( materials_file,
materials_name = "" 
)

Sets the materials uri.

Sets the materials uri

Parameters:
string $materials_file An uri to additional materials
string $materials_name An uri name to additional materials public
See also:
$materials

Definition at line 376 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_writer Reference to the ILIAS XML writer
string $a_material plain text or html text containing the material
Returns:
string XML material tag public

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

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

Referenced by SurveyTextQuestion::insertXML(), SurveyOrdinalQuestion::insertXML(), SurveyNominalQuestion::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)
                {
                        $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::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_array An array which is used to append the values
array $resultset The evaluation data for a given user public

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

Definition at line 1918 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_array An array which is used to append the title row entries public

Reimplemented in SurveyMatrixQuestion, and SurveyNominalQuestion.

Definition at line 1904 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 767 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_id The question id of the original question public

Definition at line 801 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_id The database id of the question private

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

References $mobs, $obj_id, 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 "./Services/COPage/classes/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 "./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_id The question id which should be deleted in the additional question table public

Reimplemented in SurveyMatrixQuestion.

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

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 $index A materials_name of the materials uri public
See also:
$materials

Definition at line 455 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 722 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_id The database id of the original survey question public

Definition at line 819 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 478 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 656 of file class.SurveyQuestion.php.

Referenced by SurveyTextQuestion::insertXML(), SurveyOrdinalQuestion::insertXML(), SurveyNominalQuestion::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 2104 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 642 of file class.SurveyQuestion.php.

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

        {
    return $this->description;
  }

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 552 of file class.SurveyQuestion.php.

Referenced by addMaterialTag(), SurveyTextQuestion::addUserSpecificResultsData(), SurveyOrdinalQuestion::addUserSpecificResultsData(), SurveyNominalQuestion::addUserSpecificResultsData(), SurveyMetricQuestion::addUserSpecificResultsData(), SurveyMatrixQuestion::addUserSpecificResultsData(), SurveyTextQuestion::checkUserInput(), SurveyOrdinalQuestion::checkUserInput(), SurveyNominalQuestion::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(), SurveyOrdinalQuestion::getWorkingDataFromUserInput(), SurveyNominalQuestion::getWorkingDataFromUserInput(), SurveyMetricQuestion::getWorkingDataFromUserInput(), SurveyMatrixQuestion::getWorkingDataFromUserInput(), SurveyTextQuestion::insertXML(), SurveyOrdinalQuestion::insertXML(), SurveyNominalQuestion::insertXML(), SurveyMetricQuestion::insertXML(), SurveyMatrixQuestion::insertXML(), SurveyMatrixQuestion::saveBipolarAdjectives(), SurveyMatrixQuestion::saveColumnsToDb(), saveCompletionStatus(), SurveyMatrixQuestion::saveLayout(), SurveyMatrixQuestion::saveRowsToDb(), SurveyTextQuestion::saveToDb(), saveToDb(), SurveyOrdinalQuestion::saveToDb(), SurveyNominalQuestion::saveToDb(), SurveyMetricQuestion::saveToDb(), SurveyMatrixQuestion::saveToDb(), SurveyTextQuestion::saveUserInput(), SurveyOrdinalQuestion::saveUserInput(), SurveyNominalQuestion::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 977 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 1003 of file class.SurveyQuestion.php.

References ilUtil::removeTrailingPathSeparators().

        {
                include_once "./Services/Utilities/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 990 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 1018 of file class.SurveyQuestion.php.

References ilUtil::removeTrailingPathSeparators().

        {
                include_once "./Services/Utilities/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

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

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

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 567 of file class.SurveyQuestion.php.

References $survey_id, and getId().

Referenced by SurveyTextQuestion::checkUserInput(), SurveyOrdinalQuestion::checkUserInput(), SurveyNominalQuestion::checkUserInput(), SurveyMetricQuestion::checkUserInput(), SurveyMatrixQuestion::checkUserInput(), SurveyTextQuestion::insertXML(), SurveyOrdinalQuestion::insertXML(), SurveyNominalQuestion::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(DB_FETCHMODE_ASSOC);
                                return $row["obligatory"];
                        }
                        else
                        {
                                return $this->obligatory;
                        }
                }
                else
                {
                        return $this->obligatory;
                }
  }

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 617 of file class.SurveyQuestion.php.

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

        {
                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

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

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

Returns:
String The title of the phrase public

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

        {
                $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(DB_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 2118 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 $value The precondition value
Returns:
string The output of the precondition value public

Reimplemented in SurveyMatrixQuestion, SurveyNominalQuestion, and SurveyOrdinalQuestion.

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

        {
                // overwrite in inherited classes
                return $value;
        }

SurveyQuestion::getQuestiontext (  ) 
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, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 1756 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 1730 of file class.SurveyQuestion.php.

        {
                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(DB_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 603 of file class.SurveyQuestion.php.

        {
    return $this->survey_id;
  }

SurveyQuestion::getTitle (  ) 
& 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_id The 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 1932 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, SurveyNominalQuestion, SurveyOrdinalQuestion, and SurveyTextQuestion.

Definition at line 1946 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 1963 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 1989 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 2002 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 1976 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, SurveyNominalQuestion, SurveyOrdinalQuestion, 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_text Text which should be checked
Returns:
boolean public

Definition at line 1787 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 $arraykey A key to an element in array
array $array An array to be searched private
See also:
$materials

Definition at line 399 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_id A unique key which defines the question in the database public

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

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

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

Parameters:
integer $question_id A unique key which defines the survey question in the database public

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

References $data, and addMaterials().

Referenced by SurveyTextQuestion::loadFromDb(), SurveyOrdinalQuestion::loadFromDb(), SurveyNominalQuestion::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 (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::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_id The database ID of the survey
string $type An 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 2148 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 $title The title of the phrase
Returns:
boolean True, if the title exists, otherwise False public

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

References $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_output String which should be prepared for output public

Definition at line 1875 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_material QTI material tag
Returns:
string text or xhtml string public

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

References $_SESSION, and $material.

        {
                $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 $title The title of the question
string $questionpool_reference The 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 $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 (strcmp(strtolower(get_class($result)), db_result) == 0) 
                {
                        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 $categorytext The description of the category
Returns:
integer The database id of the category public
See also:
$categories

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

Referenced by SurveyOrdinalQuestion::saveCategoriesToDb(), SurveyNominalQuestion::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(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, 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 900 of file class.SurveyQuestion.php.

References getId(), and isComplete().

Referenced by SurveyOrdinalQuestion::saveCategoriesToDb(), SurveyNominalQuestion::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 $db A pear DB object public

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

Referenced by SurveyTextQuestion::saveToDb(), SurveyOrdinalQuestion::saveToDb(), SurveyNominalQuestion::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_id public

Reimplemented in SurveyMetricQuestion, and SurveyTextQuestion.

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

References 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);
                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

See also:
$answers

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

        {
  }

SurveyQuestion::setAuthor ( author = ""  ) 

Sets the authors name.

Sets the authors name of the SurveyQuestion object

Parameters:
string $author A string containing the name of the questions author public
See also:
$author

Definition at line 492 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 $description A description string to describe the question public
See also:
$description

Definition at line 360 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 $worksheet Reference to the excel worksheet
object $format_title Excel title format
object $format_bold Excel bold format
array $eval_data Cumulated evaluation data
integer $row Actual row in the worksheet
Returns:
integer The next row which should be used for the export public

Reimplemented in SurveyMatrixQuestion.

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

References 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 $worksheet Reference to the excel worksheet
object $format_title Excel title format
object $format_bold Excel bold format
array $eval_data Cumulated evaluation data
integer $row Actual row in the worksheet
Returns:
integer The next row which should be used for the export public

Reimplemented in SurveyMatrixQuestion.

Definition at line 2020 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 $workbook Reference to the parent excel workbook
object $format_title Excel title format
object $format_bold Excel bold format
array $eval_data Cumulated evaluation data public

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

Definition at line 2077 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 $id A unique integer value public
See also:
$id

Definition at line 332 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_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 1499 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");
                                                        $lm_id = ilLMObject::_lookupContObjID($target_id);
                                                        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");
                                                        $lm_id = ilLMObject::_lookupContObjID($target_id);
                                                        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 $materials_filename, string $materials_tempfilename, string $materials public
See also:
$materials

Definition at line 423 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_id The reference id of the container object public
See also:
$obj_id

Definition at line 711 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 $obligatory True, if the question is obligatory, otherwise false public
See also:
$obligatory

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

References $obligatory.

        {
                if ($obligatory)
                {
            $this->obligatory = 1;
                }
                else
                {
            $this->obligatory = 0;
                }
  }

SurveyQuestion::setOrientation ( orientation = 0  ) 

Sets the orientation of the question output.

Sets the orientation of the question output

Parameters:
integer $orientation 0 = vertical, 1 = horizontal public
See also:
$orientation

Definition at line 311 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::setOwner ( owner = ""  ) 

Sets the creator/owner.

Sets the creator/owner ID of the SurveyQuestion object

Parameters:
integer $owner A numerical ID to identify the owner/creator public
See also:
$owner

Definition at line 524 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 $questiontext A string containing the questiontext public
See also:
$questiontext

Definition at line 510 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 $id A unique integer value public
See also:
$survey_id

Definition at line 346 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 $title A title string to describe the question public
See also:
$title

Definition at line 276 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 $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 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 1385 of file class.SurveyQuestion.php.

References 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 2090 of file class.SurveyQuestion.php.

        {
                // overwrite in inherited classes
                return FALSE;
        }


Field Documentation

SurveyQuestion::$author
SurveyQuestion::$description
SurveyQuestion::$id
SurveyQuestion::$ilias

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

Referenced by SurveyQuestion().

SurveyQuestion::$lng
SurveyQuestion::$material
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(), and setObjId().

SurveyQuestion::$obligatory

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

Referenced by setObligatory().

SurveyQuestion::$orientation
SurveyQuestion::$owner
SurveyQuestion::$questiontext
SurveyQuestion::$survey_id
SurveyQuestion::$title
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: