63 lines
2.3 KiB
PHP
63 lines
2.3 KiB
PHP
|
<?php
|
|||
|
/*
|
|||
|
|
|||
|
21.04.2022 - Загрузка базы товаров из 1с
|
|||
|
|
|||
|
*/
|
|||
|
ini_set( 'display_errors', 0 );
|
|||
|
|
|||
|
$smarty -> caching = true;
|
|||
|
$smarty -> cache_lifetime = $settings['cachePage'];
|
|||
|
|
|||
|
if ( $_SESSION['dostup'] !== 'a' && $_SESSION['dostup'] !=='e' )header( 'Location: /403/' );
|
|||
|
|
|||
|
if ( $_FILES['xmlFile']['name'] == 'import0_1.xml' ){
|
|||
|
unlink( MYDIR . '/cache/tovar.xml' );
|
|||
|
copy( $_FILES['xmlFile']['tmp_name'], MYDIR . '/cache/tovar.xml' );
|
|||
|
$xmlstring = file_get_contents( MYDIR . '/cache/tovar.xml', true );
|
|||
|
$xml = simplexml_load_string( $xmlstring, "SimpleXMLElement", LIBXML_NOCDATA );
|
|||
|
$json = json_encode( $xml );
|
|||
|
$array = json_decode( $json,TRUE );
|
|||
|
$r1 = $array['Классификатор'];
|
|||
|
$r2 = $r1['Группы'];
|
|||
|
$r3 = $r2['Группа'];
|
|||
|
unset( $r1 );
|
|||
|
unset( $r2 );
|
|||
|
|
|||
|
//загружаем категории
|
|||
|
function loadCategory( $arr, $parent=0, $db ){
|
|||
|
$count = count( $arr );
|
|||
|
|
|||
|
for ( $i = 0; $i < $count; $i++ ){
|
|||
|
$txt=@$arr[$i]['Наименование'];
|
|||
|
$id = @$arr[$i]['Ид'];
|
|||
|
//смотрим, есть ли такая категория в БД
|
|||
|
$a['tovar_id'] = $id;
|
|||
|
$cat_id = $db -> get_val( 'pages', $a, 'id' );
|
|||
|
|
|||
|
if ( $cat_id ){
|
|||
|
//Обновляем
|
|||
|
$sql = 'UPDATE `pages` SET `txt`="' . $db -> magicSQLite( $txt ) . '", `parent`="' . $parent . '", `public`="1" WHERE `id` = ' . $cat_id;
|
|||
|
}else{
|
|||
|
//Добавялем
|
|||
|
$sql = 'INSERT INTO `pages` (`txt`, `tovar_id`, `parent`, `tip`, `user_id`, `public`) VALUES ("' . $db -> magicSQLite( $txt) . '", "' . $id . '", "' . $parent . '", "tovarCat", "6", "1")';
|
|||
|
$cat_id = $db -> get_val( 'pages', $a, 'id' );
|
|||
|
}
|
|||
|
|
|||
|
$db -> free_sql( $sql );
|
|||
|
|
|||
|
if ( @$arr[$i]['Группы'] ){
|
|||
|
$sub_cat = $arr[$i]['Группы'];
|
|||
|
$sub_cat2 = $sub_cat['Группа'];
|
|||
|
loadCategory( $sub_cat2, $cat_id, $db );
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
loadCategory( $r3, 0, $db );
|
|||
|
exec( 'php /home/www/tk-ligat.ru/cache/parce.php' );
|
|||
|
|
|||
|
}
|
|||
|
?>
|