public function add()
 {
     //setup max position if not provide
     //get max position
     if (!$this->position) {
         $sql = "SELECT max(position) AS mp FROM " . _DB_PREFIX_ . "feature WHERE id_group=" . intval($this->id_group);
         $maxP = Db::getInstance()->getRow($sql);
         $this->position = intval($maxP["mp"]) + 1;
     }
     return parent::add();
 }
Example #2
0
    /**
     * Create a feature from import
     *
     * @param int $id_feature Feature id
     * @param int $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();
            $feature->name = array_fill_keys(Language::getIDs(), (string) $name);
            if ($position) {
                $feature->position = (int) $position;
            } else {
                $feature->position = Feature::getHigherPosition() + 1;
            }
            $feature->add();
            return $feature->id;
        } elseif (isset($rq['id_feature']) && $rq['id_feature']) {
            if (is_numeric($position) && ($feature = new Feature((int) $rq['id_feature']))) {
                $feature->position = (int) $position;
                if (Validate::isLoadedObject($feature)) {
                    $feature->update();
                }
            }
            return (int) $rq['id_feature'];
        }
    }
 public function create()
 {
     $obj = new Feature($this->db);
     echo json_encode($obj->add($this->f3->get("POST.postdata")));
 }
Example #4
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)
 {
     $rq = Db::getInstance()->getRow('SELECT `id_feature` FROM ' . _DB_PREFIX_ . 'feature_lang WHERE `name` = \'' . pSQL($name) . '\' GROUP BY `id_feature`');
     if (!empty($rq)) {
         return (int) $rq['id_feature'];
     }
     // Feature doesn't exist, create it
     $feature = new Feature();
     $languages = Language::getLanguages();
     foreach ($languages as $language) {
         $feature->name[$language['id_lang']] = strval($name);
     }
     $feature->add();
     return $feature->id;
 }
Example #5
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'];
        }
    }
Example #6
0
<?php

if (Tools::P('saveFeature') == 'add') {
    $feature = new Feature();
    $feature->copyFromPost();
    $feature->add();
    if (is_array($feature->_errors) and count($feature->_errors) > 0) {
        $errors = $feature->_errors;
    } else {
        $_GET['id'] = $feature->id;
        UIAdminAlerts::conf('商品特征已添加');
    }
}
if (isset($_GET['id'])) {
    $id = (int) $_GET['id'];
    $obj = new Feature($id);
}
if (Tools::P('saveFeature') == 'edit') {
    if (Validate::isLoadedObject($obj)) {
        $obj->copyFromPost();
        $obj->update();
    }
    if (is_array($obj->_errors) and count($obj->_errors) > 0) {
        $errors = $obj->_errors;
    } else {
        UIAdminAlerts::conf('商品特征已更新');
    }
}
/** 输出错误信息 */
if (isset($errors)) {
    UIAdminAlerts::MError($errors);
 protected function importFeatures()
 {
     $this->truncateTables(array('feature', 'feature_lang', 'feature_shop'));
     $handle = $this->openCsvFile('features.csv');
     for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, ';'); $current_line++) {
         $res = false;
         $fields = $this->filterFields('Feature', $this->feature_fields, $line);
         if (!isset($fields['id'])) {
             $feature = new Feature($line[0]);
             $feature->id = $line[0];
         } else {
             $feature = new Feature($fields['id']);
         }
         foreach ($fields as $key => $field) {
             if ($key == 'name') {
                 $feature->{$key} = $this->multilFild($field);
             } else {
                 $feature->{$key} = $field;
             }
         }
         $feature->force_id = true;
         if (!$res) {
             $res = $feature->add();
         }
     }
     $this->closeCsvFile($handle);
     return true;
 }