/** * Create a feature from import * * @param integer $id_feature Feature id * @param integer $id_product Product id * @param array $value Feature Value */ public static function addFeatureImport($name, $position = false) { $rq = Db::getInstance()->getRow(' SELECT `id_feature` FROM ' . _DB_PREFIX_ . 'feature_lang WHERE `name` = \'' . pSQL($name) . '\' GROUP BY `id_feature` '); if (empty($rq)) { // Feature doesn't exist, create it $feature = new Feature(); $languages = Language::getLanguages(); foreach ($languages as $language) { $feature->name[$language['id_lang']] = strval($name); } if ($position) { $feature->position = (int) $position; } else { $feature->position = Feature::getHigherPosition() + 1; } $feature->add(); return $feature->id; } else { if ($position && ($feature = new Feature((int) $rq['id_feature']))) { $feature->position = (int) $position; $feature->update(); } return (int) $rq['id_feature']; } }
public function update() { Db::getInstance()->AutoExecute(_DB_PREFIX_ . $this->table, $this->getFields(), 'UPDATE', '`' . pSQL($this->identifier) . '` = ' . intval($this->id)); return parent::update(); }
/** * AJAX action for editing a feature. */ public function editFeature() { $feature = new Feature($_REQUEST['id']); $feature->setTitle(stripslashes($_REQUEST['title'])); if ($_REQUEST['option'] == 0) { $feature->setIsTrueFalse(TRUE); } else { $feature->setOptions(array()); $feature->setIsTrueFalse(FALSE); foreach ($_REQUEST['custom_options'] as $index => $option) { $feature->addOption(new FeatureOption(stripslashes($option['value']), $index + 1, filter_var($option['is_default'], FILTER_VALIDATE_BOOLEAN))); } } $feature->update(); return $feature->getId(); }