virt2/import/3.php

73 lines
3.4 KiB
PHP
Raw Permalink Normal View History

<?php
unset($postrow);
//отключаем все продукты
//mysql_query( 'UPDATE `oc_product` SET `status` = "0"' );
$file='import.xml';
$count=0;
$start=0;
$end=0;
$handle = fopen("import.xml", "r");
while (!feof($handle)) {//перебираем типы товара
$buffer = fgets($handle, 4096);
if (find_txt($buffer, '<Elements>')==1)$start=1;//стартуем
if (find_txt($buffer, '</Elements>')==1)$end=1;//проверяем, не пора ли завязывать с чтением категорий
if ($start==1 && $end==0){
if (find_txt($buffer, '</Group>')==1)$postrow[$count]['group']=trim(replacer_param($buffer));
if (find_txt($buffer, '</Name>')==1)$postrow[$count]['name']=trim(replacer_param($buffer));
if (find_txt($buffer, '</NameFull>')==1)$postrow[$count]['namefull']=trim(replacer_param($buffer));
if (find_txt($buffer, '</Code>')==1)$postrow[$count]['code']=trim(replacer_param($buffer));
if (find_txt($buffer, '</CodeNumber>')==1)$postrow[$count]['codenumber']=trim(replacer_param($buffer));//артикул sku
if (find_txt($buffer, '</Amount>')==1)$postrow[$count]['amount']=trim(replacer_param($buffer));
if (find_txt($buffer, '</Price>')==1)$postrow[$count]['price']=trim(replacer_param($buffer));
if (find_txt($buffer, '</InternetPrice>')==1)$postrow[$count]['InternetPrice']=trim(replacer_param($buffer));
if (find_txt($buffer, '</Element>')==1)$count++;
}
}
fclose($handle);
//print_r($postrow);
//читаем блядский массив, пишем в базу не достающее или обновляем то, что есть
for($i = 0; $i < $count; $i++){/*показываем, пока колличество не иссякло*/
if (@$postrow[$i]['name']){
$lock='';
unset($a);
unset($m);
//Запрашиваем из БД по коду категорию, смотрим, есть ли lock==1 если нет - обнволяем или создаем
$a['code']=$postrow[$i]['code'];
$lock=$db->get_val('m_tovar', $a, 'lock');
echo "\n\r" . $lock . "\n\r";
$m['naim']=$postrow[$i]['name'];
$m['ostatok']=$postrow[$i]['amount'];
$m['cena']=$postrow[$i]['price'];
$m['akccena']=$postrow[$i]['InternetPrice'];
$m['code']=$postrow[$i]['code'];
$m['m_groupe']='0';
$m['akccena']='0';
$m['img']='';
$m['public']='1';
$m['opis']='';
$m['act']='1';
$m['artikul']=$postrow[$i]['codenumber'];
$m['parent']=$postrow[$i]['group'];
$m['keywords']='Купить ' . $m['naim'] . ' не дорого в нижнем тагиле';
$m['description']='Купить ' . $m['naim'] . ' не дорого в нижнем тагиле';
# 1) - нет lock: создаем
if ($lock=='') $db->add('m_tovar', $m);
# 2) - если есть но равен нулю - обновляем
if ($lock==0){
#узнаем ИД записи и обновляем
$id=$db->get_val('m_tovar', $a, 'id');
$m2['cena']=$postrow[$i]['price'];
$m2['akccena']=$postrow[$i]['InternetPrice'];
$m2['ostatok']=$postrow[$i]['amount'];
$m2['public']=1;
$db->update('m_tovar', $id, $m2);
unset($m2);
}
# 3) - если есть но равен 1 - не трогаем
}
}
include '4.php';
?>