Апдейт: Вложения AdminImport.php( Размер файла: 77.26KB )

Нашел баги, связанные с обязательными параметрами по умолчанию. Выкладываю подправленную версию.
Кроме того, обратил внимание, что цены некоторых товаров скрипт не обновил, а сбросил на 0. Поэтому, проверяйте импорт.
Но лучше переписать функцию priceupdateImport, так чтоб не делал лишний обращений к базе и обновлял не по id_product, а по выбранному параметру. Ну, хотелось бы, чтобы учитывалась выбранная налоговая политика (цена с налогом или без).
Я не программист, поэтому жду ваших предложений. Код функции:
Код:
public function priceupdateImport()
    {   global $cookie;
        $this->receiveTab();
        $handle = $this->openCsvFile();
        $defaultLanguageId = (int)(Configuration::get('PS_LANG_DEFAULT'));
        self::setLocale();
        for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, Tools::getValue('separator')); $current_line++)
        {
            if (Tools::getValue('convert'))
                $line = $this->utf8_encode_array($line);
            $info = self::getMaskedRow($line);
            $itemprc = Tools::getValue('match_prc');
            
            
            //ищем товар по выбранному ключевому показателю
            $sql="SELECT id_product FROM "._DB_PREFIX_."product WHERE ".$itemprc." = '".$info[$itemprc]."'";
            $id_product = Db::getInstance()->getValue($sql);
            
            if ($id_product){    
            $sql=mysql_query("UPDATE `"._DB_PREFIX_."product` SET `price` = '".$info['price']."' WHERE `id_product`='".$id_product."' LIMIT 1");
            echo "<p style='color:green'>".$this->l('New price of product with')." ".$itemprc." <b>".$info[$itemprc]."</b> ".$this->l('is')." ".$info['price']."</p>";
            }
            else{
            echo "<p style='color:red  '>".$this->l('Product with')." ".$this->l($itemprc)." <b>".$info[$itemprc]."</b>".$this->l('not found')."</p>";
            }

        
            
        }
        $this->closeCsvFile($handle);
    }