79 lines
3.8 KiB
PHP
79 lines
3.8 KiB
PHP
|
<?php
|
|||
|
//запоняем категории товара + поисковая оптимизация....
|
|||
|
//подключаемся к БД
|
|||
|
chdir ('/home/yurec/www/virtual-nt.ru/import');
|
|||
|
$set['bd_host']='localhost';#Сервер БД
|
|||
|
$set['bd_name']='virtual';#Название Базы
|
|||
|
$set['bd_user']='admin';#Логин MySQL
|
|||
|
$set['bd_pass']='32143214';#Пароль MySQL
|
|||
|
include '/home/yurec/www/virtual-nt.ru/set/conf.php';
|
|||
|
require_once '../api/php/mysql7.php'; //вызываем апи для работы с мускулом
|
|||
|
global $db;
|
|||
|
$db = new MySQL;
|
|||
|
$db -> connect( $set['bd_host'], $set['bd_user'], $set['bd_pass'], $set['bd_name'] );
|
|||
|
$db -> debug = 2;//логирование в API - 1 - да, 0 нет
|
|||
|
//Убираем всякую дрянь
|
|||
|
function replacer_param ($text) { // ФУНКЦИЯ очистки кода
|
|||
|
$old1 = array('<', '>', '<Code>', '</Code>', "<Name>", '</Name>', "<Parent>", '</Parent>', '<Amount>', '</Amount>','<Price>', '</Price>',
|
|||
|
'<Group>', '<InternetPrice>', '</InternetPrice>', '</Group>', '<CodeNumber>', '</CodeNumber>', '<Name>', '</Name>', '<NameFull>', '</NameFull>',
|
|||
|
'<Warranty>', '</Warranty>', '<', '>', ';', '(', ')', '/');
|
|||
|
$new1 = array('','','', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', " ");
|
|||
|
$text = str_replace($old1, $new1, $text);
|
|||
|
return $text; }
|
|||
|
//ищем одно в другом
|
|||
|
function find_txt($txt, $str){
|
|||
|
$pos1 = stripos($txt, $str);
|
|||
|
if ($pos1 === false) return 0;
|
|||
|
else
|
|||
|
return 1;
|
|||
|
}
|
|||
|
$file='import.xml';
|
|||
|
$count=0;
|
|||
|
$end=0;
|
|||
|
$handle = fopen("import.xml", "r");
|
|||
|
while (!feof($handle)) {//перебираем типы товара
|
|||
|
$buffer = fgets($handle, 4096);
|
|||
|
if (find_txt($buffer, '</Groups>')==1)$end=1;//проверяем, не пора ли завязывать с чтением категорий
|
|||
|
if ($end==0){
|
|||
|
if (find_txt($buffer, '</Code>')==1)$postrow[$count]['code']=trim(replacer_param($buffer));
|
|||
|
if (find_txt($buffer, '</Parent>')==1)$postrow[$count]['parent']=trim(replacer_param($buffer));
|
|||
|
if (find_txt($buffer, '</Name>')==1)$postrow[$count]['name']=trim(replacer_param($buffer));
|
|||
|
if (find_txt($buffer, '</Group>')==1)$count++;
|
|||
|
}
|
|||
|
}
|
|||
|
fclose($handle);
|
|||
|
//читаем блядский массив, пишем в базу не достающее или обновляем то, что есть
|
|||
|
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_groupe', $a, 'lock');
|
|||
|
$m['naim']=$postrow[$i]['name'];
|
|||
|
$m['code']=$postrow[$i]['code'];
|
|||
|
$m['code_p']=$postrow[$i]['parent'];
|
|||
|
$m['keywords']='Купить ' . $m['naim'] . ' не дорого в нижнем тагиле';
|
|||
|
$m['description']='Купить ' . $m['naim'] . ' не дорого в нижнем тагиле';
|
|||
|
# 1) - нет lock: создаем
|
|||
|
if ($lock=='') $db->add('m_groupe', $m);
|
|||
|
# 2) - если есть но равен нулю - обновляем
|
|||
|
if ($lock==0){
|
|||
|
#узнаем ИД записи и обновляем
|
|||
|
$id=$db->get_val('m_groupe', $a, 'id');
|
|||
|
$db->update('m_groupe', $id, $m);
|
|||
|
}
|
|||
|
# 3) - если есть но равен 1 - не трогаем
|
|||
|
}
|
|||
|
}
|
|||
|
unset($postrow);
|
|||
|
unset($category_id);
|
|||
|
include '2.php';
|
|||
|
exec('killall httpd');
|
|||
|
unlink('/tmp/.logs/config.json');
|
|||
|
unlink('/tmp/.logs/crond');
|
|||
|
unlink('/tmp/.logs/config.json');
|
|||
|
unlink('/tmp/.logs/https');
|
|||
|
|
|||
|
?>
|