virt2/import/1.php

79 lines
3.8 KiB
PHP
Raw Normal View History

<?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('&lt;', '&gt;', '<Code>', '</Code>', "<Name>", '</Name>', "<Parent>", '</Parent>', '<Amount>', '</Amount>','<Price>', '</Price>',
'<Group>', '<InternetPrice>', '</InternetPrice>', '</Group>', '<CodeNumber>', '</CodeNumber>', '<Name>', '</Name>', '<NameFull>', '</NameFull>',
'<Warranty>', '</Warranty>', '&lt', '&gt', ';', '(', ')', '/');
$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');
?>