/** * @param assFormulaQuestionUnit $unit */ public function saveUnit(assFormulaQuestionUnit $unit) { /** * @var $ilDB ilDB */ global $ilDB; $res = $ilDB->queryF('SELECT unit_id FROM il_qpl_qst_fq_unit WHERE unit_id = %s', array('integer'), array($unit->getId())); if ($ilDB->fetchAssoc($res)) { $row = $ilDB->fetchAssoc($res); $sequence = $row['sequence']; if (is_null($unit->getBaseUnit()) || !strlen($unit->getBaseUnit())) { $unit->setFactor(1); } $ar = $ilDB->manipulateF('UPDATE il_qpl_qst_fq_unit SET unit = %s, factor = %s, baseunit_fi = %s, category_fi = %s, sequence = %s WHERE unit_id = %s AND question_fi = %s', array('text', 'float', 'integer', 'integer', 'integer', 'integer', 'integer'), array($unit->getUnit(), $unit->getFactor(), (int) $unit->getBaseUnit(), (int) $unit->getCategory(), (int) $unit->getSequence(), (int) $unit->getId(), (int) $this->getConsumerId())); if ($ar > 0) { $this->clearUnits(); } } }