/**
 * Loads a SurveyMultipleChoiceQuestion object from the database
 *
 * @param integer $id The database id of the multiple choice survey question
 * @access public
 */
 function loadFromDb($id)
 {
     global $ilDB;
     $result = $ilDB->queryF("SELECT svy_question.*, " . $this->getAdditionalTableName() . ".* FROM svy_question LEFT JOIN " . $this->getAdditionalTableName() . " ON " . $this->getAdditionalTableName() . ".question_fi = svy_question.question_id WHERE svy_question.question_id = %s", array('integer'), array($id));
     if ($result->numRows() == 1) {
         $data = $ilDB->fetchAssoc($result);
         $this->setId($data["question_id"]);
         $this->setTitle($data["title"]);
         $this->label = $data['label'];
         $this->setDescription($data["description"]);
         $this->setObjId($data["obj_fi"]);
         $this->setAuthor($data["author"]);
         $this->setOwner($data["owner_fi"]);
         include_once "./Services/RTE/classes/class.ilRTE.php";
         $this->setQuestiontext(ilRTE::_replaceMediaObjectImageSrc($data["questiontext"], 1));
         $this->setObligatory($data["obligatory"]);
         $this->setComplete($data["complete"]);
         $this->setOriginalId($data["original_id"]);
         $this->setOrientation($data["orientation"]);
         $this->use_min_answers = $data['use_min_answers'] ? true : false;
         $this->nr_min_answers = $data['nr_min_answers'];
         $this->nr_max_answers = $data['nr_max_answers'];
         $this->categories->flushCategories();
         $result = $ilDB->queryF("SELECT svy_variable.*, svy_category.title, svy_category.neutral FROM svy_variable, svy_category WHERE svy_variable.question_fi = %s AND svy_variable.category_fi = svy_category.category_id ORDER BY sequence ASC", array('integer'), array($id));
         if ($result->numRows() > 0) {
             while ($data = $ilDB->fetchAssoc($result)) {
                 $this->categories->addCategory($data["title"], $data["other"], $data["neutral"], null, $data['scale'] ? $data['scale'] : $data['sequence'] + 1);
             }
         }
     }
     parent::loadFromDb($id);
 }
 /**
 * Loads a SurveyTextQuestion object from the database
 *
 * @param integer $id The database id of the text survey question
 * @access public
 */
 function loadFromDb($id)
 {
     global $ilDB;
     $result = $ilDB->queryF("SELECT svy_question.*, " . $this->getAdditionalTableName() . ".* FROM svy_question LEFT JOIN " . $this->getAdditionalTableName() . " ON " . $this->getAdditionalTableName() . ".question_fi = svy_question.question_id WHERE svy_question.question_id = %s", array('integer'), array($id));
     if ($result->numRows() == 1) {
         $data = $ilDB->fetchAssoc($result);
         $this->setId($data["question_id"]);
         $this->setTitle($data["title"]);
         $this->label = $data['label'];
         $this->setDescription($data["description"]);
         $this->setObjId($data["obj_fi"]);
         $this->setAuthor($data["author"]);
         $this->setOwner($data["owner_fi"]);
         include_once "./Services/RTE/classes/class.ilRTE.php";
         $this->setQuestiontext(ilRTE::_replaceMediaObjectImageSrc($data["questiontext"], 1));
         $this->setObligatory($data["obligatory"]);
         $this->setComplete($data["complete"]);
         $this->setOriginalId($data["original_id"]);
         $this->setMaxChars($data["maxchars"]);
         $this->setTextWidth($data["width"]);
         $this->setTextHeight($data["height"]);
     }
     parent::loadFromDb($id);
 }
 /**
 * Loads a SurveyMetricQuestion object from the database
 *
 * @param integer $id The database id of the metric survey question
 * @access public
 */
 function loadFromDb($id)
 {
     global $ilDB;
     $result = $ilDB->queryF("SELECT svy_question.*, " . $this->getAdditionalTableName() . ".* FROM svy_question LEFT JOIN " . $this->getAdditionalTableName() . " ON " . $this->getAdditionalTableName() . ".question_fi = svy_question.question_id WHERE svy_question.question_id = %s", array('integer'), array($id));
     if ($result->numRows() == 1) {
         $data = $ilDB->fetchAssoc($result);
         $this->setId($data["question_id"]);
         $this->setTitle($data["title"]);
         $this->setDescription($data["description"]);
         $this->setObjId($data["obj_fi"]);
         $this->setAuthor($data["author"]);
         $this->setOwner($data["owner_fi"]);
         $this->label = $data['label'];
         include_once "./Services/RTE/classes/class.ilRTE.php";
         $this->setQuestiontext(ilRTE::_replaceMediaObjectImageSrc($data["questiontext"], 1));
         $this->setObligatory($data["obligatory"]);
         $this->setComplete($data["complete"]);
         $this->setOriginalId($data["original_id"]);
         $this->setSubtype($data["subtype"]);
         $result = $ilDB->queryF("SELECT svy_variable.* FROM svy_variable WHERE svy_variable.question_fi = %s", array('integer'), array($id));
         if ($result->numRows() > 0) {
             if ($data = $ilDB->fetchAssoc($result)) {
                 $this->minimum = $data["value1"];
                 if ($data["value2"] < 0 or strcmp($data["value2"], "") == 0) {
                     $this->maximum = "";
                 } else {
                     $this->maximum = $data["value2"];
                 }
             }
         }
     }
     parent::loadFromDb($id);
 }
 /**
 * Loads a SurveyMatrixQuestion object from the database
 *
 * @param integer $id The database id of the matrix question
 * @access public
 */
 function loadFromDb($id)
 {
     global $ilDB;
     $result = $ilDB->queryF("SELECT svy_question.*, " . $this->getAdditionalTableName() . ".* FROM svy_question LEFT JOIN " . $this->getAdditionalTableName() . " ON " . $this->getAdditionalTableName() . ".question_fi = svy_question.question_id WHERE svy_question.question_id = %s", array('integer'), array($id));
     if ($result->numRows() == 1) {
         $data = $ilDB->fetchAssoc($result);
         $this->setId($data["question_id"]);
         $this->setTitle($data["title"]);
         $this->label = $data['label'];
         $this->setDescription($data["description"]);
         $this->setObjId($data["obj_fi"]);
         $this->setAuthor($data["author"]);
         $this->setOwner($data["owner_fi"]);
         include_once "./Services/RTE/classes/class.ilRTE.php";
         $this->setQuestiontext(ilRTE::_replaceMediaObjectImageSrc($data["questiontext"], 1));
         $this->setObligatory($data["obligatory"]);
         $this->setComplete($data["complete"]);
         $this->setOriginalId($data["original_id"]);
         $this->setSubtype($data["subtype"]);
         $this->setRowSeparators($data["row_separators"]);
         $this->setNeutralColumnSeparator($data["neutral_column_separator"]);
         $this->setColumnSeparators($data["column_separators"]);
         $this->setColumnPlaceholders($data["column_placeholders"]);
         $this->setLegend($data["legend"]);
         $this->setSingleLineRowCaption($data["singleline_row_caption"]);
         $this->setRepeatColumnHeader($data["repeat_column_header"]);
         $this->setColumnHeaderPosition($data["column_header_position"]);
         $this->setRandomRows($data["random_rows"]);
         $this->setColumnOrder($data["column_order"]);
         $this->setColumnImages($data["column_images"]);
         $this->setRowImages($data["row_images"]);
         $this->setBipolarAdjective(0, $data["bipolar_adjective1"]);
         $this->setBipolarAdjective(1, $data["bipolar_adjective2"]);
         $this->setLayout($data["layout"]);
         $this->flushColumns();
         $result = $ilDB->queryF("SELECT svy_variable.*, svy_category.title, svy_category.neutral FROM svy_variable, svy_category WHERE svy_variable.question_fi = %s AND svy_variable.category_fi = svy_category.category_id ORDER BY sequence ASC", array('integer'), array($id));
         if ($result->numRows() > 0) {
             while ($data = $ilDB->fetchAssoc($result)) {
                 $this->columns->addCategory($data["title"], $data["other"], $data["neutral"], null, $data['scale'] ? $data['scale'] : $data['sequence'] + 1);
             }
         }
         $result = $ilDB->queryF("SELECT * FROM svy_qst_matrixrows WHERE question_fi = %s ORDER BY sequence", array('integer'), array($id));
         while ($row = $ilDB->fetchAssoc($result)) {
             $this->addRow($row["title"], $row['other'], $row['label']);
         }
     }
     parent::loadFromDb($id);
 }