Example #1
0
    /**
     * 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();
 }