/** * 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); }