79 lines
3.8 KiB
PHP
Executable File
79 lines
3.8 KiB
PHP
Executable File
<?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');
|
||
|
||
?>
|