Кто может переписать скрипт? что бы обновлял не через ean13, а через артикул.
Ответы типа напиши автору не принимаются :-)
Отвечаю сам себе же на свой же вопрос, если кому надо делать обновление через артикул.
Вот код:
<?php
define('PS_ADMIN_DIR', getcwd());
include(PS_ADMIN_DIR.'/../config/config.inc.php');
include(PS_ADMIN_DIR.'/functions.php');
include(PS_ADMIN_DIR.'/header.inc.php');
echo '<div style="text-align:left;">';
// Проверяем загружен ли файл
if(is_uploaded_file($_FILES["filename"]["tmp_name"])){
// Если файл загружен успешно, перемещаем его из временной директории в конечную
move_uploaded_file($_FILES["filename"]["tmp_name"], "".$_SERVER["DOCUMENT_ROOT"]."/upload/".$_FILES["filename"]["name"]);
$file_path="".$_SERVER["DOCUMENT_ROOT"]."/upload/".$_FILES["filename"]["name"]."";
// Меняем кодировку файла с windows-1251 на utf-8
$file=file_get_contents("".$file_path."");
$file=iconv("windows-1251", "utf-8",$file);
file_put_contents("".$file_path."",$file);
//меняем локаль на хостинге
if (($handle_f = fopen($file_path, "r")) !== FALSE)
{
//начинаем цикл чтения csv
while (($data_f = fgetcsv($handle_f,99999,";"))!== FALSE) {
//ищем товар по reference
$sql="SELECT id_product FROM ps_product WHERE reference = '".$data_f[0]."'";
$id_product = Db::getInstance()->getValue($sql,0);
//если такой товар есть, обновляем количество и цену
if ($id_product){
$sql=mysql_query("UPDATE `ps_product` SET `quantity` ='".$data_f[1]."' , `price` = '".$data_f[2]."' WHERE `id_product`='".$id_product."' LIMIT 1");
echo "<p style='color:green'>товар с штрихкодом <b>".$data_f[0]."</b> обновлен</p>";
}
else{
echo "<p style='color:red '>товар с штрихкодом <b>".$data_f[0]."</b> не найден</p>";
}
}
echo "<b>Обновление завершено</b>";
}
else{
echo "Невозможно открыть загруженый файл";
}
}
else{
echo '
<h2>Обновления цены и количества:</h2>
<form action="'.$_SERVER["PHP_SELF"].'" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
';
}
echo '</div>';
include(PS_ADMIN_DIR.'/footer.inc.php');
?>