core/parcer/samson/1.php

105 lines
3.5 KiB
PHP
Raw Normal View History

2023-07-12 20:02:20 +05:00
<?php
ini_set('display_errors', 0);
$_SERVER['SERVER_NAME'] = 'tk-ligat.ru';
require_once('/home/cloud/core/set/tk-ligat.ru.php');
require_once('/home/cloud/core/api/php/db.php');
require_once('/home/cloud/core/api/php/json.php');
require_once('/home/www/api/php/genpass.php');
$homepage = file_get_contents('1.txt');
$j1 = json::from_j($homepage)['data'];
//print_r( $j1);
function addBrand($brand)
{
//Функция смотрит, есть ли такой бренд в бд, если нет - добавляет
$id = DB::getValue("SELECT `id` FROM `tovar_brand` WHERE `brand`=?", $brand);
if (!$id)$id=DB::add("INSERT INTO `tovar_brand` (`brand`) VALUES(?)", $brand);
return $id;
}
function addBarcode($barcode, $tovar_id)
{
//Функция смотрит, есть ли такой штрих код в бд, если нет - добавляет
$id = DB::getValue("SELECT `id` FROM `tovar_barcode` WHERE `barcode`=? AND `tovar_id`=?", array($barcode, $tovar_id));
if (!$id)
DB::add("INSERT INTO `tovar_barcode` (`barcode`, `tovar_id`) VALUES(?, ?)", array($barcode, $tovar_id));
}
function addImg($img, $tovar_id)
{
//Тупое добавление
for ($i = 0; $i < count($img); $i++) {
$filename = generate_password(30);
exec("wget " . $img[$i] . " -O /home/cloud/core/img/tk-ligat.ru/tovar/" . $filename . ".jpg");
DB::add("INSERT INTO `tovar_img` (`filename`, `tovar_id`, `link`) VALUES (?, ?, ?)", array($filename, $tovar_id, $img[$i]));
}
}
function addHars($massiv, $tovar_id)
{
//Добавляем характеристики
for ($i = 0; $i < count($massiv); $i++) {
//Проверяем, есть ли имя характеристики в бд, если нет - добавляем:
$id=DB::getValue("SELECT `id` FROM `tovar_har_sp` WHERE `txt`=?", $massiv[$i]['name']);
if (!$id)$id=DB::add("INSERT INTO `tovar_har_sp` (`txt`) VALUES (?)", $massiv[$i]['name']);
//Добавляем товару характеристику:
DB::add("INSERT INTO `tovar_har` (`tovar_har_sp_id`, `tovar_id`, `txt`) VALUES (?, ?, ?)",
array($id, $tovar_id, $massiv[$i]['value']) );
}
}
function add($massiv)
{
$code = $massiv['sku'];
$title = $massiv['name'];
$category = 0;
$status = 1;
$partner = 'samson';
$artikul = $massiv['vendor_code'];
$brand_id = addBrand($massiv['brand']);
$txt = '<p>' . $massiv['description'] . '</p><p>' . $massiv['description_ext'] . '</p>';
$tovar_id = DB::add("INSERT INTO `tovar` (`code`, `title`, `category`, `status`, `partner`, `artikul`, `brand_id`, `txt`) VALUES (
?, ?, ?, ?, ?, ?, ?, ? )",
array(
$code,
$title,
$category,
$status,
$partner,
$artikul,
$brand_id,
$txt
)
);
//После добавления товара добавлять штрих код
addBarcode($massiv['barcode'], $tovar_id);
addImg($massiv['photo_list'], $tovar_id);
addHars($massiv['facet_list'], $tovar_id);
echo "\n\n tovar_id: " . $tovar_id . "\n\n";
print_r($massiv);
}
for ($i = 0; $i < count($j1); $i++) {
//Узнаем, есть ли sku в базе как код товара:
$id = DB::getValue("SELECT `id` FROM `tovar` WHERE `code`=? AND `partner`=?", array($j1[$i]['sku'], 'samson'));
if ($id)
echo '1';
else
add($j1[$i]);
}
?>